Infosys experts share their views on how digital is significantly impacting enterprises and consumers by redefining experiences, simplifying processes and pushing collaborative innovation to new levels

« APIs for Every Business | Main | Is SugarCRM a right choice for the Education sector? »

JavaScript - Today's Ruler of Web Application Development

Author: Smita Makwana-Technology Architect, Manufacturing-Application Design and Maintenance

Introduction 

Today, JavaScript is the most talked buzzword of Web Application Development. Open source JavaScript frameworks has overcome major browser fallbacks. JavaScript popularity has led to a very vibrant ecosystem of frameworks, libraries and technologies.

Is JavaScript replacing Java?

Java has fulfilled its purpose for which it was designed in 1990, but now it's time to move forward. Java development is bit complex for rapid business application development. Enterprise application development should look for other options rather than sticking to Java because of below potential causes

img111.png












Java and .net was the preferred choice for customer facing applications but as demand for mobile applications increased, JavaScript took the lead. JavaScript made permanent position in Web application architectures.

JavaScript The Ruler

Application development landscape is changing rapidly and all the application and web developers' community are primarily shifting their focus towards frameworks for quick and clean application specific smoother project delivery. The major advantage of using any well-known JS frameworks is that they provide high level out of the box robust, efficient and production ready kind of structure which in turn helps development teams in application specific scaling instead of spending huge efforts only in building and defining the standard code basics. Evolution of JavaScript begins with simple scripting in 1995 and now in 2015 onwards we could see ECMAScript is the name of its official de-facto standard which moved from ES1 to ES6 over the years.

JQuery is considered as major shift in JavaScript evolution cycle as it gave ordinary java developer super power. Another major shift is the release of many open source frameworks that run on Model View Controller. Modern JavaScript framework offer a more responsive user experience.

Now the time is where we can develop all the components of an Application by using JavaScript frameworks and libraries. Following are some of the major options available in web and enterprise app development. 

img212.png


























Server-Side JavaScript - Node.js

Node.js is an open source JavaScript Framework developed by Google development center which uses V8 engine. It was designed to increase the performance of JavaScript execution. V8 compiles JavaScript code into machine code.

Node.js is a Single Threaded Event Based Framework that uses non-blocking asynchronous I/O. By using Node.js we have liberty and flexibility that we can use the same language on the client side, server side, and in the database side too and data will flow in same format i.e. JSON (The world's best loved Data Interchange Format). Node.js simplified build process by using JavaScript language and offered powerful task runners like Grunt, Gulp and Brunch. Node wins over Speed/Performance. Significant difference can be noticed in terms of average response time and request per second. Credit goes to Event Looping mechanism being used. Node.js can handle thousands of concurrent connections and more concurrent inputs and outputs than java.

Node.js is implemented by big giants of software industry Walmart, Groupon, PayPal and provided positive feedback and experienced great results.

A report by Forrester ResearchJavaScript as an end to end web development language in general along with the integration of server-side Node.js runtime environment seems to be a massive and deadly combination for web development and they are setting the next generation  platform for "the biggest shift in enterprise development in more than a decade,"

 As per Stack Overflow Developers Survey Result - 2016, JavaScript is leading by 90.5% in Front-End Technologies and 54.5 % in Back-End Technologies.

img3311.png

To build next-generation applications, factors to be considered in choosing best JavaScript Framework Are Scalability, Community Support, Learning Curve, Enterprise Readiness, Performance, Testability and Future Orientation.

Case Study - PayPal (Switch from Java to JavaScript)

PayPal is the most popular online payment systems. PayPal decided to move from Java to JavaScript from Front-End to Back-End. They used Node.js, Kraken.js and Grunt as Task runner to achieve this.

They started in January 2013 and spend few months in setting infrastructure for node.js. At that time, they had only five engineers for Java application. From that, two of their teammate's engineers had started working together on the parallel node.js app to analyze its response. In early June they developed the application with same functionality with a smaller team. To compare the results, they ran the same set of functional test cases on both the applications (One developed in Java and other in JavaScript). The node.js app was:

  • Development and testing effort reduced significantly.
  • Lines of code is reduced to one third.
  • Developed and completed with 40% fewer files.

Outcome after doing the performance test was: -

  • Almost double the number of requests per second vs. the Java application.It was a big success. 
  • Around 35% decrease was recorded in the average response time for the same web page. This resulted in the pages being served almost 200msfaster. It was a big performance improvement. 

Typical Myths about JavaScript

  • JavaScript is subset of Java or Java == JavaScript. Can we say Car == Carpet? No
  • People think they can use JavaScript without learning it. Mastering JavaScript requires sophisticated programming skills.
  • JavaScript is not powerful. ES6 brought major changes in JavaScript to make it powerful and release of tons of JavaScript enabled framework make it a strong player.
  • Most people think JavaScript as a Browser Language. Truth is it is also used as a Back-End language using Node.js, Helps in creating mobile apps. It's a Full-Stack web framework.

Challenges

  • The biggest challenge in JavaScript and open source world is to keep an eye on regular updates with frequent releases. For production environment project it could be a big risk. Google's angular1 to angular2 is the biggest example over here.
  • Skills availability and code maintainability due to multiple dependent APIs could be another potential challenge if we adopt JavaScript enabled frameworks and libraries frequently.
  • No clear-cut standard guidelines available for Security , Build deployment mechanism, Caching Strategies, Load balancing, Data modelling, Server side business logic handling etc. which is the primary key for any end to end enterprise application development

Recommendations

  • Based on above details we should be very careful before we adopt any specific JavaScript framework or UI library. Version stability, market credentials, expert reviews and industry acceptance should be identified properly.
  • For customer facing portals, Responsive web design based applications, Online applications like gaming, shopping cart etc. along with Mobile based applications I will strongly recommend use of JavaScript enabled framework and APIs. However in case of enterprise application we should be limiting its usage as long as they really add greater business value.

References


Comments

Good writeup Smita. I think the challenges for all Open Source related technologies remains the same which is as per my understanding "lack of a standard". But the way Node.js is gaining popularity, it will be a matter of time before JavaScript is used as a preferred language for server side programming as well.

Great article. In fact, JavaScript’s front-end libraries Angular, React and the cross-platform library jQuery, become essential to the simplification of the client-side scripting. After all, JavaScript is also built into a few of the web browsers that people use every day – Firefox, Safari and Internet Explorer. That’s why JavaScript development services in BGO Software company are much in-demand.

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

Please key in the two words you see in the box to validate your identity as an authentic user and reduce spam.