"Editor's note" This writer is the author of "JQuery UI practice", TJ Vantoll, a senior web developer who focuses on mobile WEB applications and their performance.
This article is compiled and presented by OneAPM engineers, the first part of the body. Click here to read the second section.
Over the past few years, JavaScript, a scripting language originally used for Web browsers, is increasingly appearing in a wider range of software applications. Now, JavaScript can be used as server-side code, running IOS and Android apps, and even controlling bots. It's hard to imagine what software ecosystems are not affected by JavaScript.
One of the most important reasons for JavaScript to be able to penetrate these new areas is performance. However, a few years ago, running JavaScript on the server side was completely unthinkable. In 2008, Google began developing browsers and moving into the JavaScript engine world, triggering a performance war that ultimately boosted the language's speed. Some recent efforts, such as asm.js, are just icing on the cake.
This article will show you what will happen in the future, in addition to running server-side JavaScript in the JavaScript framework, creating mobile apps, and desktop applications. This article will directly cite the views of many developers of JavaScript solutions. Let's first understand the development of node. js, which is perhaps the first new area of JavaScript.
node. js
node. JS is an open-source runtime environment based on the Google V8 JavaScript engine. While many companies and frameworks are trying to run javascript,node.js on the server side, they are the first run-time environment to successfully do this on a large scale.
The popularity of node. JS has soared since the first launch in 2009. There are countless companies using Ndoe.js, and the previously established node. JS Foundation includes giants such as Ibm,intel,paypal and Microsoft. The node. JS Package Manager,--NPM, is the largest package manager in the software world of the 2014, and now contains about twice times as many modules as Java and Ruby similar package managers.
The growth of the NPM Package Manager. Image source: modulecounts.com
However, the success of node. JS has not been without twists and turns. At the end of 2014, a group of developers created a branch for this pop-up framework, which they thought lacked an active and active contributor, causing the node. JS version to update too slowly. This new framework, Io.js quickly captured the support of many followers and communities, has also made many people worried that the nodo.js world will be in a state of fragmentation for a long time. Fortunately, in June 2015, node. JS and Io.js merged, and these concerns ceased to exist.
This merger has contributed in part to the creation of the LTS program, the long-term support program for the node. JS version. According to the program, node. JS assigns a version of LTS every year and provides it with support for up to 18 months.
The purpose of this development cycle is to meet the needs of those who want to go to the forefront of the developer and the need for a stable version of the large companies. Inevitably, such a development cycle also has a significant impact on the future of node. js. The author interviewed the Node Foundation's mikeal Rogers on "The biggest change of node. JS in 2016", his answer is as follows:
"The new development cycle will be the biggest change. Each year, we release two major releases, and only one will receive long-term support. This is indeed an unprecedented change. Previously, we did not really implement the LTS program. So for the vast majority of developers, this is a new change, and for the enterprise, this is the opportunity to improve product adoption rate. "--node Foundation, Mikeal Rogers.
node. JS 2016 outlook
In 2016, the adoption rate for node. JS and its package manager NPM is expected to increase further. The continued adoption of NODE by large companies such as Microsoft, IBM, Intel, Progress software, and the introduction of enterprise-friendly features such as long-term support programs, may herald the continued growth in the adoption rate between enterprises by node. JS, or even replace some. NET And a typical enterprise-class solution from Java.
In addition, the exponential growth of the NPM module is expected to continue because NPM's latest release [focuses on better support for client-side JavaScript] (aimed at providing better supports for Client-side JAVASC RIPT), thus reducing the need for client-side JAVASCRIPT package managers such as Bower. As more and more developers start registering client-side scripting with the JQuery plugin in NPM, NPM's tentacles can only extend further. In fact, according to Mikeal Rogers's view, the main reason for NPM growth is the further refinement of the node. JS ecosystem.
"A few years ago, I quantified the growth rate of NPM and created a NPM growth forecast chart. At the time, many thought it was a fantasy, as the figure predicted that in more than a year, the number of modules would exceed 100,000, and the growth rate would not be balanced. But the reality is that in just a few days, the number of modules is more than 100,000, which makes me quite surprised.
If you know more about NPM's growth model, you'll find that driving NPM's continued growth is driven by the node. JS ecosystem. Here is the best environment for creating sub-platforms for many use cases. Even though some parts of the ecosystem tend to be balanced, new, fast-growing ecosystems will soon be replaced. "———— Node Foundation, Mikeal Rogers.
As evidenced by the above, almost all of the JavaScript solutions covered in this article, including Cordova,react Native and Nativescript, use NPM as the package manager. If you search for "jquery", "Polymer", "meteor" or "react" in NPM, you can see how big the NPM is now. Of course, as NPM's penetration continues to grow, the adoption rate of node. JS is on the way. As the software world's first mainstream server-side JavaScript framework, its future is bright.
Below, let's take some of the techniques to run mobile apps using JavaScript instead of running JavaScript on the server side.
PhoneGap and Cordova
Similar to node. JS, which is the first mainstream solution to run JavaScript on the server side, PhoneGap is the first mainstream solution to run on-premises mobile apps using JavaScript. Initially, PhoneGap was founded by Nitobi in 2009 and was acquired by Adobe in October 2011. As part of the acquisition, PhoneGap's source code was donated to the Apache Software Foundation, and the project was renamed Cordova. Today, Cordova has become a free open source framework that is supported by many companies. And PhoneGap is a Cordova branch of all Adobe.
For years, Cordova has struggled with a reputation for poor performance. Among them, the most well-known complaint appeared in the 2012, the mouth of the most influential people in the scientific and technological community:
"When I reflect on the experiences of the past few years, I find that the biggest mistake our company has made is to put too much effort into the HTML5 ..." Facebook founder, Mark Zuckerberg.
Starting in 2012, some companies began to intervene to solve Cordova performance problems. This spawned a performance-centric UI framework such as Ionic, Onsen, and Kendo UI Mobile, tools developed jointly by the PHONEGAP team and Telerik, as well as the new Web view provided by crosswalk, and Telerik A variety of high-quality plugins in the plug-in market.
Telerik Plug-in market
In addition to the performance assistance provided by these companies, the new features provided by mobile OS creators, such as the Automatic Update Web view of Android and the new Wkwebview API for IOS, effectively helped Cordova improve performance. Based on this, I interviewed Brian Leroux, a former Adobe PhoneGap team member, and consulted about his vision for the future of Cordova.
"Now, Cordova has become quite stable. We strive to be concise, use plug-in interfaces for a variety of functions, and stay active as much as possible in platform updates such as Android M and IOS 9. Although it has been a few years of bumps, but now ' small modular ' thinking finally began to take root, which makes me quite gratified. If you do not want to extend the use of Cordova in your project, end-device developers may not be able to understand the benefits of this idea. "Brian Leroux
Cordova 2016 outlook
Similar to node. js, the stability of Cordova is particularly tempting for large companies that have just begun to test water in mobile development. The use of Cordova combined with HTML,CSS and JavaScript to build mobile apps is also very appealing to many web developers, especially when compared to the way in which Xcode and Android Studio are developed locally.
Although Cordova's penetration rate continues to rise, its approach to development has been challenged in two ways. The challenge comes from Google, which strives to promote progressive applications (progressive apps), which include features such as a start-up screen, home screen layout, and offline access. Progressive applications are still at an early stage and are limited to the Android Chrome browser. However, in 2016, Google will certainly continue to promote the concept of the application of the asymptotic approach.
The second more pressing challenge for Cordova development comes from a recent development in the JavaScript world: using JavaScript to build real native mobile apps.
The second half of this article focuses on the possible new developments in the 2016 local mobile apps (Native mobile apps) and desktop applications, as well as new areas that JavaScript might touch. Please look forward to it.
This article is compiled and presented by OneAPM engineers. OneAPM Browser Insight is a real user-based Web front-end performance monitoring platform that can help you locate site performance bottlenecks, website acceleration effect visualization, browser support, App browsing HTML and HTML5 pages. To read more technical articles, please visit the OneAPM Official technology blog.
This article was transferred from OneAPM official blog
Original address: http://developer.telerik.com/featured/what-to-expect-from-javascript-in-2016-beyond-the-browser/
2016 JavaScript Outlook (top)