5 myths about JavaScript that are not true — the business perspective

It’s been about 3 years since we’ve fully switched from a complex tech stack (Ruby, PHP, Python, JavaScript) to an only JavaScript-based stack. In this time, we’ve met with so many outdated myths about the technology that I think this piece is very important to share with business owners out there, lurking to find the best technology for their projects.

Today we’re going to debunk 5 myths about JavaScript that I have heard during sales calls with our leads and clients. Even though some of them were true in the past, the technology itself has gone a long way to become what it is nowadays.

JavaScript has become one of our company’s core values, and we set it as our mission to show what the technology is capable of and how it can benefit many startups and enterprises. Let’s begin.

Busting the myths about JavaScript for enterprises

Myth 1: Node.js isn’t secure

In 2017, npm released their npmE — an enterprise version of their package manager that allowed running npm’s infrastructure behind a firewall, providing companies with access control vulnerability detection (it notified about any vulnerable package when you ran `npm install`). After npm was acquired by GitHub in the beginning of 2020, they moved the npmE under their GitHub Enterprise brand, offering secure solutions for various technologies.

And if you’re worried about XSS or CFSR attacks, which are one of the most common security issues pointed out in Node.js, you can use solutions like DOMPurify or Google’s Closure Tools to prevent Cross Site Scripting and implementation of Anti-CSRF tokens will deal with the Cross Site Forgery Requests.

After all, the security is not only about tools or technology you decide to use, but how you implement it.

Myth 2: JavaScript is inferior to other programming languages

You easily could hear developers joking that JavaScript is not a proper programming language. That is far from the truth. Yes, JavaScript might not be the solution of your choice for some very specific low-level programming, but other than that, you can write about anything you want using this technology and you won’t face many drawbacks. We’re not in early 2000 any more, the technology evolved. Just look at the huge enterprise-grade businesses that use it in their tech stack.

Myth 3: JavaScript isn’t made to build complex architecture

Speaking of big companies that use JavaScript. Both me and my colleague Chris wrote a few articles showcasing JS powering some well-known players, you can check for yourself:

  1. 16 companies that use Node.js in their apps
  2. 5 desktop apps you wouldn’t think are build using Electron

Node.js, for instance, is an incredibly scalable technology, especially when used for building microservices and serverless architecture. Microservices allow you to scale only those parts of  application that are seeing a surge in traffic, making it easier to manage, and you can interconnect different parts of the app written in different languages.

Serverless can also be used in various ways, at Software Brothers, one of the tasks we use serverless for is to quickly setup testing environments. As our experience shows, the performance of such solutions can be much faster than server-based development.

Myth 4: Because it’s so commonly used in browsers and web development, it’s not suitable for other uses

As non-dev users, we usually meet with JavaScript in our browsers and the websites we visit, which could give a false notion of JS being a browser-focused technology. In reality, JavaScript is used across the widest array of software: from web apps to desktop applications, from what you see on the frontend of most apps to the backend and last but not least, mobile applications. Speaking of which.

Myth 5: JavaScript's cross-platform is worse than native mobile development

Native developers would say so. And there’s some truth to that, but you need to understand a few things.

Firstly, an average user will never be able to tell you whether the app in front of them is native or written using React Native. A few years back, sure, the difference was drastic. Nowadays, though, the JavaScript-based mobile technologies have caught up and there are only some very specific cases that you won’t be able to execute using the already mentioned React Native.

We developed a range of mobile apps for different markets using JS over the last few years, and we didn’t face any technological challenge that would be unsolvable using JavaScript.

I also wrote an in-depth piece on the most well-known companies that are using React Native in their mobile apps, so you might want to give it a check.

What are the benefits of using JavaScript?

Now, let’s talk about benefits. We didn’t switch to JavaScript mindlessly on a whim.

Benefit 1: Versatility

As I’ve already mentioned above, JavaScript is the technology that can be used nearly anywhere. What’s also important is that JavaScript developers tend to know at least a couple of frameworks and from the experience I had with developers who had to switch from React to Vue.js, for instance, it took them much less time that it would take for a Java developer to switch to Vue.js if such a need arose.

This also results in easier recruitment of talent and, in case of startups, one developer can develop both frontend and backend.

Benefit 2: Active community

JavaScript is one of the most popular programming languages and has a huge online community involved in all kinds of open source projects, providing business with a variety of custom libraries and active support whenever needed.

AdminBro, our auto-generated Node.js admin panel, is a great example of an active community. We’ve created a dedicated Slack community channel where everyone can ask their questions and our developers — or other contributors and users — give answers and help you implement the solution if you’re having trouble.

Also, if you’d like some numbers for a proof, according to ModuleCounts.com, npm sees as many as 878 new packages added to the registry daily. The second place is taken by PyPI with only 192 packages per day. Ain’t that saying something?

Benefit 3: Scalability

Something I have also touched on before. JavaScript allows building efficient, robust and scalable applications for different platforms and purposes in mind. Whether you have a system that is going to be used by 10 employees, or you’re building a TikTok-like, 100-million-concurrent-users app — the JS-based technology has your back.

Benefit 4: Constant updates

As the technology evolves, and reality confirms it does, new frameworks are being developed, the existing ones are improving and catching up with the technologies that were dominating in the past, selecting JavaScript as your core technology won’t come and bite you in the nearest future.

In my opinion, it's not even peaked yet and there’s much more to expect from it.

Benefit 5: Easy to adopt and maintain

I’ve talked about this briefly earlier, so let me elaborate.

JavaScript is a technology that is not losing its popularity as the years go, so you’re not dealing with an increasing lack of development force. Yes, finding a good developer isn’t an easy task, but it has always been like this, no matter the technology. And if you succeed at building a great team, if some part of the app fails and for some reason you cannot have the responsible person fix it, your teammates should be able to help.

Adoption-wise, we’ve actually had a few clients who came to us with a task to migrate either parts or the whole systems from other technologies to JavaScript and it was a respectively easy challenge to tackle.

Benefit 6: Enterprise-grade performance

I think numbers speak louder than words, so let's have a look at numbers.

Netflix switched from Java to Node.js on their backend and as a result managed to reduce the startup time from 40 minutes to under 1 minute.

PayPal also switched from Java to Node.js in 2013 and that resulted in 200ms faster page response time as well as doubled the number of requests their backend could handle per second.

GoDaddy’s Website Builder migrated from C# and SQL Server to Node.js CassandraNoSQL and managed to reduce the number of servers tenfold.

I can go on, but I guess you get the gist.

Benefit 7: Single package manager

npm is one of the largest developers ecosystems in the world with over 1 555 459 packages in the main npm registry as of Mar 21, 2021.

As you can see in the image above, the npm community simply crushes the rest of the technologies. Yes, many of the libraries are not up to par, but it’s still better to have more than you need, not less. This means you won’t have to write many of the features your app might need from scratch, as you can use what was written before.

If you’re not sure about the security of said solution, you should use GitHub Enterprise, which I’ve mentioned in the 1st myth.

Conclusion

JavaScript is not the technology you should avoid when picking a tech stack for your software. The situation is quite contrary, actually. Selecting JavaScript-based technologies might not only save your budget, but also speed up your development and make it easier to maintain a team of developers with the knowledge of the same core programming language.

If you’re still not sure whether it’s going to work all right  for your specific case, feel free to reach out to me at ross@softwarebrothers.co and I can put you in touch with our technology experts, who’ll be able to tell you whether your idea is executable in JavaScript.

Till the next time, take care.