-4

My company just started a new production management software by using serial communication to scales. My company has already developed the software using VB6 in 2006 and keep using that outdated system until now.

The new software will be a centralized management software using local server, and planned to use Node.js (Express) and React for frontend. As for the serial communication, the scale will be connected to a subserver in each client and connected to the client's browser via socket.io

I want to ask, how fast the Node + Express + React + Socket io compared to VB6? Just imagine if all the node, express etc is running on the same computer. Or is there any article/data that compare both technology?

Or perhaps I should do the test and benchmark myself? But considering both technology are so different, what parameters should I compare? I really need an expert opinion.

BobDalgleish
  • 4,644
  • 5
  • 18
  • 23
Exairie
  • 1
  • 1
  • 4
    You should do the test and benchmark yourself. Choose the parameters that are most useful to you. – Robert Harvey Mar 26 '18 at 05:22
  • Why NodeJS? Why React? Why event-driven development? Answer this question and you will find out the "parameters" to measure and test. Picking the proper stack is not a matter of "fashion". It's a matter of adequacy. Whatever makes your new stack "adequate" is what you should measure in order to confirm the choice. – Laiv Mar 26 '18 at 07:21
  • Thanks @Laiv for the enlightment, i'll try to benchmark both in a few days, as for why react and node, that's because it feels faster to write in the same language for one system, and node.js is faster (in rest api) compared to PHP which was planned and cancelled. I choose react because i need many thing to be updated in realtime and not yet familiar with vue.js, so react it is. – Exairie Mar 26 '18 at 16:11
  • May I ask why you’ve chosen web technologies to build software that interacts with external hardware? Why not use desktop tech like WPF? – RubberDuck Apr 15 '18 at 12:30
  • @RubberDuck because of virus. I have so many experience with the same kind of client, their computer is flooded with virus. So the last option is Java but the thing is, you need to distribute the jar file, and the owner said "it's confusing". Then web technology is the only option. Keep in mind that this "client" is not a tech friendly guy who prefers paper above screen, it's really hard to make them understand :( – Exairie Apr 16 '18 at 02:02
  • Viruses? What? That makes no sense. And you shouldn’t ever distribute a raw jar file. That’s what installers are for. Also, Java is not your only option here. They used to run VB6, which means a Microsoft target. A WPF app written in C# is the no brainer choice of tech here. (Again, with a proper installer.) You’re going to have a heck of a time interacting with serial ports through the browser. – RubberDuck Apr 16 '18 at 02:08
  • no, really. Virus is something that has been a problem since 6 years ago. One time the system is crippled by distributing exe files, with virus. And what i mean by jar is the installer, not the raw, i know that. My client is asking us to write something that is really easy to access without installing anything. That's why i got no choice @RubberDuck – Exairie Apr 16 '18 at 02:24
  • and about the serial, yeah that's hard, but challenging. I created a communicator through socket.io so it acts like a proxy from browser to the serial. It's good and working as expected, but as you said, hard to write @RubberDuck – Exairie Apr 16 '18 at 02:26

1 Answers1

0

So it's been a while and finally I'm able to write this. Comparing VB6 to web technology is like comparing a fruit to vegetables, fruit is sweet and instantly edible but vegetables will be yummy if you cook them first. The thing is about these two technologies, is that one is relatively slow, synchronous, old and prone of errors (instant shutdown if there is an error) vs fast, asynchronous, new and prone of bugs due to dynamic programming. I do not have a number to prove some benchmark but I'm sure of this:

  1. It's hard to write a clean code with vb6 while in react, you can rely on state changes. One state to rule everything
  2. Thus, writing JavaScript is a lot faster than writing vb6
  3. When processing a lot of background data, vb6 will freeze the client computer, react will freeze the server, yes it's server side processing. But this makes the UX better in react
  4. Populating data is faster in react, due to asynchronous nature
  5. App startup is a lot faster with vb6, but if the database server is offline, vb6 app will freeze until it shows some error. A not responding app is never a good UX. In react, none of this happened
  6. When it comes to data processing, you can easily manipulate it with JavaScript, unlike the old vb6 which don't have so many features and plugins. This is really useful especially when I'm dealing with scale output.
  7. Support. You know what I mean
  8. Compatibility
  9. The UI. This is incomparable though, but still worth to note

Again, I'm talking about performance but this fact is rather subjective. But I should say, the processing and whatever kind of data processing is about the same, vb6 with its simplicity and react with its asynchronous nature, equals. But then you have a better UX and a lot more responsive app in react than in vb6.

Exairie
  • 1
  • 1