A long-overlooked computer language is poised to make a big splash on the Web and in mobile apps.
It first showed up deep inside everyday Web browsers, not particularly sleek or efficient, rarely making itself known. Lately, though, it has broken out of its original nesting place and swarmed across the Web, infiltrating server after server, app after app, smartphone after smartphone.
A new virus, stealing information from unwitting surfers? A devilish worm, designed to disrupt dastardly plans for atomic weapons? No, it's that long-dismissed, but now widely heralded, programming language called JavaScript, and it's enjoying its allotted 15 minutes of fame, and then some, as the hot new tool for building the server end of mass-audience Web and mobile apps.
The signs of server-side JavaScript's rising star are everywhere, from Cloud9's Web-based JavaScript development environment (itself written in JavaScript, as profiled here last week: Beware the IDEs of Cloud), to a hot-rodded JavaScript engine out of Google called V8, to Node.js, a piece of code that's enjoying tremendous popularity for its ability to connect masses of concurrent users to high-performance JavaScript apps. Several PaaS providers, including Joyent, Heroku, Microsoft, and Nodejitsu now specialize in deploying Node.js-based apps at scale, too.
Meanwhile, France-headquartered 4D SAS is close to launching the first commercial version of Wakanda, a "complete" development and run-time stack for creating and deploying JavaScript apps. 4D is positioning Wakanda as an easier-to-use alternative to Node.js that can help get data-driven apps to market quickly and in a form that's easy to maintain and to extend over time.
JavaScript, you'll recall, entered the world in 1995 as the somewhat distant cousin of Java, also new back then, designed by browser pioneer Netscape Communications as a way of adding life to Web pages: checking data entered from keyboards, adding dynamic user-interface elements, and so forth. Unfortunately, JavaScript programs didn't execute particularly well, there were security issues, and hard-core developers dismissed the language itself as inferior to Ruby, Python, and PHP, for instance.
All this is changing, however, prompted by several factors. Google's V8 engine has goosed JavaScript performance many times over; developers have flocked to Node.js in droves, smitten by its ability to give server-side Javascript easy scalability; and developers are recognizing the benefits of writing both client- and server-side code in the same language.
Says Luc Hollande, CEO of 4D: "There are a lot of people out there who know Javascript, from using it on the client. Now, they can write code for the server, without having to learn another language. You don't need multiple skill sets to write the client in JavaScript, the server in Ruby or PHP, and the database in SQL."
It's hard to say how much attention JavaScript has been pulling away from Ruby and PHP, which in recent years have been the go-to languages for developing Web and mobile apps. But 4D's commercializing of the Wakanda scheme, in development as an open-source project for several years now, is aimed at spurring exactly that kind of defection. Written entirely in JavaScript, it provides a visual development studio, a server that includes a NoSQL object-based datastore and an HTTP server, and a framework on which to build the client side of an app.
"We're offering simplicity and productivity," says Hollande. He explains, for instance, that in many kinds of app, Wakanda's multi-threaded architecture requires much less coding than the Node.js single-threaded design. And with NoSQL, there's no need to code the mapping of data between JavaScript's object-oriented view of data and SQL's rows and tables.
Perhaps the biggest hurdle for newcomers will be mastering Wakanda's model-driven architecture (MDA) approach to designing apps. But from what I understand of it, 4D has tried to facilitate that with its range of visual design tools.
Pricing? The open-source version of Wakanda will continue to be available for downloading at no charge. The commercial version will cost $35 a month per developer seat, with the license covering an unlimited number of apps, servers, and users. Finally, plans are afoot to launch a PaaS version of Wakanda.
Is there any JavaScript on your servers? I invited you to continue the conversation on the message board below.