Original: https://hackernoon.com/javascript-has-already-won-235b29ed126b
Translator: 36 kr http://36kr.com/p/5111638.html
Editor’s note: Many people are looking for a unified programming language “big brother”, the war has not stopped. Jonny Asmar posted an article on Hackernoon pointing out that JavaScript, thanks to Node’s versatility, has the momentum to take the “no. 1 spot.”
This article has generated a lot of backlash, because many people don’t see JavaScript as a winner among programming languages.
I admit, though, that my headline can be controversial and click-hungry. But AGAIN, I want to stress that this article is not saying that JS is the “best” language.
I simply described in the article the areas it covers and the ways it enables simple front-end developers to do more.
In the world of programming, there has been a constant battle. Ever since the advent of computers, scientists have been searching for the perfect programming language. One after another, new languages are created to suit certain purposes. With the emergence of new languages comes new technological eras, new technical communities, and a host of open source contributions. There will inevitably be new restrictions. Since Java applications and Flash (I used to be a Flash developer) dominated the web for so long, we’ve seen languages emerge and languages disappear for no good reason because they’re no longer useful.
The world is moving in a different direction…
Those once dazzling new languages are now out of date, with fewer developers and new languages making noise.
JavaScript has been around for decades now. So, you might be wondering, “Where is it going?” This article is not really about the “JavaScript” language. Nor will it discuss the rise and fall of many languages that preceded it. Also, it’s not about JavaScript being “fresh and shiny.”
This article is about Node.
It’s really important to make that distinction at the beginning. Because Node isn’t just a language. It’s an ecosystem.
That’s the gist of this article.
But not quite. I’m not going to go into the details of how this ecosystem is the most innovative open source collaboration the world has ever seen. That’s a topic for another day.
I want to show you how Node has won an ancient battle for the perfect language by traversing five key areas of modern programming.
Web development
React, Angular, Vue
React, Angular, and Vue are some of the most important front-end frameworks today. Overall, Facebook, Google, and the FOSS community have come together to create an exciting and efficient tool for developing interactive user interfaces.
So everything you do on the web is now done through a highly interactive, beautiful, easy-to-use interface. These frameworks are fully implemented because of the Node ecosystem, as you already know.
You see, there’s no doubt that JavaScript dominates front-end Web development, but React, Angular, and Vue have taken it to a new level.
This is the age of user interfaces.
Front-end developers no longer shy away from building complex single-page Web applications and complete software suites. I used to be a Web developer, and now I’m a software developer.
In this way… JavaScript wins Web development.
Mobile Development
React Native
This section will not only illustrate Node’s success in the Mobile space, but also raise another key question:
Node is cross-platform.
It’s not just “Oh cool, it works on my phone too!” “And it’s not just,” Wow, YouTube works on my phone, tablet, laptop, and TV!” .
Node’s cross-platform approach is the most important. It’s a true cross-platform ecosystem for developers. People who actually build “oh cool” and “wow” things love this.
React Native is just one example of a framework developed within the Node ecosystem that Bridges the gap between front-end development and mobile application development in an unprecedented way that no other framework has.
The biggest pressure for mobile development has always been the pull of the Web. However, with the React Native and Node ecosystems, developers can build apps that are compatible with the Web, iOS, and Android. No other language provides this versatility.
In this way… JavaScript wins mobile development.
Desktop Development
Electron
Of course, not everything happens on the Web. Desktop applications are also critical to operating in our current technology-dependent world.
But why develop desktop software and treat it differently when the Web can now provide full-featured applications?
In fact, it’s only a matter of time before JavaScript catches up to the performance requirements of the desktop.
So Electron was born.
Of course, there are more efficient languages to use when programming on the desktop, but JavaScript is sufficient for most of the applications we use today.
Thanks to Cheng Zhao and Github, a framework has been created that will change the face of desktop computing.
Electron not only makes desktop application development easier, but it is also compatible with Mac, Windows and Linux, and it builds applications to run on all three operating systems.
While Windows is still the most popular operating system today, the Mac has enjoyed steady growth for 15 years, and more and more developers are using Linux every day. In addition, small toys like raspberry PI will bring Linux to many homes that previously had only Windows or Macs. I think you can see why cross-os development has huge advantages… And that’s just the beginning.
As of now, the Node ecosystem is fully capable of covering Web, mobile, and desktop development. Provides a skill set that can create the same user interface across all of these platforms.
In this way… JavaScript wins desktop development.
The backend development
ExpressJS
I don’t want to cover the myriad packages available on NPM (Node Package Manager) that can facilitate back-end development, so I’ll just mention Express SJS for a simple but profound reason:
Node is built for the back end.
Furthermore, JavaScript in the Node ecosystem has become a versatile tool that has been used to develop its own server applications. Before Node was created, JavaScript was basically browser-only. It does not require complex server-side operations such as database reads, image transformations, or compression. But now it can…
And, as in the previous examples, this significant simplification of code sharing and reuse has some obvious side effects.
One side effect is server-side rendering.
Did you get it?
The server side
Apply colours to a drawing
What do these two things have in common?
In the traditional sense, nothing. But the development of the “front end” (JavaScript) or “back end” (PHP, Java, Python, Ruby, etc.) is usually maintained by two completely separate teams.
The people on the two teams are very different.
But not anymore!
Thanks to Node, we can now assemble complex user interfaces on the server side before a user’s browser needs to render something. That’s why the Web is so fashionable now. Node has eliminated the boundary between the back end and the front end.
In this way… JavaScript wins back end development.
The game development
Unity 3D
I saved this for last because it’s not really “Node”, but JavaScript stuff, and I wanted to be a little more general:
JavaScript is not successful because it is superior to other languages. Its success is a direct result of its ability to adapt to almost every community.
JavaScript developers are not purists.
We like our language (not), versions scattered, dependent on translation, cross-platform, cutting edge, evolving, and where there was no language before.
Like game development!
When Unity 3D first launched its javascript-based “UnityScript” as a game development tool, I knew that JavaScript was going to do something really cool. This is the company’s first foray into non-Web development.
This is a sure sign that JavaScript can do more than just open the Fly out menu and adjust font sizes on the page. It can do a lot more than just let you like the article or an image. It can handle immersive, cross-platform gaming experiences. Developers who were once confined to Chrome, Firefox, and Internet Exploder are suddenly becoming game developers.
Although Unity recently announced that they will no longer support UnityScript, I will say this:
In this way… JavaScript wins game development.
Well, maybe not.
conclusion
I don’t know when this conquest will stop, but Node is exploding like crazy. It is upending one development conundrum after another, paving the way for a world of software development in which one language rules all. I do feel I need to reiterate — in case it’s overlooked:
JavaScript is not the best language in any domain.
The strength of JavaScript is its versatility. It came from an open community that took this uncategorized, polymorphic scripting language and turned it into the most powerful development ecosystem today.
● This article is numbered 584. If you want to read this article in the future, enter 584 directly
● Type m to get the article table of contents
Recommend left left left
Java programming
18 technical wechat Public Accounts
Topics: Programlife, Algorithms and Data Structures, Hacker technology and Network security, Big data technology, front-end development, Java, Python, Web development, Android development, iOS development, C/C++,.NET, Linux, database, operation and maintenance, etc.