It’s been about 3 years since we fully switched from a complex tech stack (Ruby, PHP, Python, JavaScript) to a JavaScript only based stack. In this time, we’ve met with so many outdated myths about this technology that I think this piece is very important to share with business owners out there, looking 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 now.
JavaSript is a key part of our company’s programming toolkit and we see 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 the running of npm’s infrastructure behind a firewall, providing companies with access control vulnerability detection (it notified the user about any vulnerable package when you ran `npm install`). After npm was acquired by GitHub at the beginning of 2020, they moved the npmE to their GitHub Enterprise brand, offering secure solutions for various technologies.
And if you’re worried about XSS or CFSR attacks, which are some of the most common security issues pointed out in Node.js then you can use solutions like DOMPurify or Google’s Closure Tools to prevent Cross Site Scripting while implementation of Anti-CSRF tokens will deal with the Cross Site Forgery Requests.
After all, security is not only about which tools or technology you decide to use, but how you implement them.
Myth 2: JavaScript is inferior to other programming languages
You may hear some developers joking that JavaScript is not a proper programming language. That is far from the truth. Yes, JavaScript might not be the solution of choice for some very specific low-level programming but other than that, you can write just about anything you want using this technology and you won’t face many drawbacks. We’re not in the early 2000’s any more and the technology has 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 them out here:
- 16 companies that use Node.js in their apps
- 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 the application that see 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 RST Software, one of the tasks we use serverless for is to quickly setup testing environments. In our experience, the performance of serverless 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 JavaScript in our browsers and the websites we visit, which may 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 certainly say so and there’s some truth to that- but you need to understand a few things first.
To begin with, 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 where you won’t be able to execute using 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 challenges 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 just switch to JavaScript on a whim!)
Benefit 1: Versatility
As I’ve already mentioned, JavaScript is 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 much less time that it would take for a Java developer to switch to Vue.js if the need arose.
This also results in easier recruitment of talent and in the 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.
Benefit 3: Scalability
Something I have touched on before is that JavaScript allows the building of efficient, robust and scalable applications for different platforms and purposes. 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, new frameworks are being developed, the existing ones are improved and catch up with the technologies that were dominant in the past, selecting JavaScript as your core technology is not something that you will regret in the future.
In my opinion, it’s not yet peaked and there’s much more to come.
Benefit 5: Easy to adopt and maintain
I talked about this briefly before, so now let me elaborate.
JavaScript is a technology that is not losing its popularity as time goes on, so you’re not dealing with an ever shrinking talent pool of developers. Yes, finding a good developer isn’t an easy task, but it has always been like this no matter the technology. And if you do succeed at building a great team only to find that some part of the app fails and 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 of or even the whole system from other technologies to JavaScript and it was a fairly simple to achieve.
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 a 200ms faster page response time as well as doubling 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 could 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 rather than 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 a technology you should avoid when picking a tech stack for your software. Quite the opposite in fact. 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 in your case. But if you’re still not sure that it’s right for you then feel free to reach out to me at ross@rst.software 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.