Meeting Application Development Challenges in Today’s Environment with JavaScript

Application development is a well known phenomena in computing today. Patterns, best practices, techniques and tips & tricks have been evolved over many decades. Yet, have we hit the sweet spot, yet?

Demand to deliver quality apps sooner, and keep them evolving every days is a norm today. Agile models promises to meet these demands. But the technologies for developing apps still are in question. For example, ease of development, faster to test, debug & fix are must, to deal with demands.

If you take the whole application development spectrum, including development, testing, as well as maintenance efforts, the choses available are limited, and often not ideal.

Programming language becomes a key to meet these expectations. Programing expertise and the ability to find programmers who can deal with the complexities involved is a major problem today. For example, not very many business software are being developed in C programming language. Even the available few are being migrated aggressively into languages like Java. Even though Java is simpler compared to C, is it agile enough or simple enough to develop apps at the rate the markets demand?

If you look around the Web today, vast majority of apps are Web based, and few are using Java technologies like JSP. The rise of scripting has won over and languages like PHP or Python, which are interpreted and easier to develop and test are dominating the space. These languages are used for MVC style, DB driven three tier apps and even for distributed EAI style apps. Simplicity with REST style integrations for enterprise apps have made the scripting languages the de-facto choice. So you no longer need “complex” languages like Java any more.

What is more interesting is the fact that, the use of JavaScript, as the client side language in the Web today to do magic on the browser. And people have used JavaScript, for back-end logic, in addition to use it only for client side logic. Rather than using two languages, one for server side scripting and another for client side logic, what if we use the same language? In other words, rather than using PHP + JavaScript for the application, we can use JavaScript + JavaScript, or just JavaScript.

The advantages of using just JavaScript for both front-end and back-end logic multi-fold:

  • Easier to develop, test & debug
  • Faster to develop & time to market
  • Easier to find skills to deal with JavaScript, wider developer community compared to Java, and even compared to PHP
  • Simple EAI with REST style, both consume REST & build REST style services
    • If needed, SOAP & WS-* is not impossible
  • Best of OO principles still can be leveraged using JavaScript
  • Leverage  lightweight data-interchange formats such as JSON

Like the rise of the Web and use of HTTP + HTML influenced distributed computing technologies such as SOAP, the power of JavaScript today can lead to a whole new era of application development that are better suited to meet enterprise application development challenges.

 

Comments