What has happened so far, in JavaScript, In 2011?

8:22 PM Xun 1 Comments

In the mere sense of numbers, 12/31/2011 is probably not that different from 1/1/2012. But we are humans. And we humans like to ascribe meaning to everything, especially at the beginning and the end of everything. At the end and the beginning of every year, we like to create reviews and make resolutions, reflect on the past and gaze into the future.

So in this reflective mood, I look back to see what has happened and has been happening with JavaScript, in the year of 2011.

Html5 and CSS3



Image from http://feedgrids.com/originals/post/building-a-better-website-with-html5-css3/

Ah, Html5 and CSS3 are still raging fire. Html5 is nothing new, nor is CSS3. Nor are they becoming official or the standard of the day. Both had been in the working for years and as of now are still under development. Neither are radical departure from their predecessors. Rather, HTML5 builds upon the previous versions of HTML, 4, 3, 2 and 1. It aims to provide web with easier and standardized delivery of multimedia, make our web a natural canvas for everything graphical and animated; CSS3 also aims to enhance the web as the most impressive presentation form, allow things more visually pleasant and effective and yet less burden on developers and designers, thus round corners, box shadows, pretty borders and damn good-looking menus with nothing more than some CSS3.

Yet without JavaScript, Html5 and Css3 are pretty much just some more tags and decorations, they can hardly, if ever, render awe and wonder and the sensation of a live web. For example, check out the follow app that uses graphics libraries like WebGL that in its core are a JavaScript library that made 3D graphics alive in a browser without any plug-ins.

Brain Surface and Tractography Viewer



ECMAScript

While JavaScript and all of its siblings such as JScript, ActionScript are really ECMA script in implementation, ECMA script has always sounded wierd, like ""ECMAScript was always an unwanted trade name that sounds like a skin disease (aka ECZEMA)." (Wiki ECMAScript.)

As JavaScript is as thriving as the web, ECMAScript is also working hard on its new project code-named "Harmony", on the helm of publishing its fifth edition in June 2011. The goal for Harmony is to make JavaScript a better language ((yeah, how many people still say with reason that JavaScript sucks) for writing complex applications and libraries, more testable and more modular, more inter-operable, adopting de facto standards where possible, that is, do not throw your granddaddy under the bus even though sometimes he behaves like an old fool.

Source:Harmony

Dart

Like the ECMAScript folks and the rest of JavaScript community, Google too has a lot of strong opinions about the state and future of JavaScript. In October 2011, Google unveiled a new web programming language named "Dart" while vented their frustration with JavaScript through a leaked and now widely read memo at Github. The memo reads:

Javascript has fundamental flaws that cannot be fixed merely by evolving the language. We'll adopt a two-pronged strategy for the future of Javascript. That is: a) keeping harmony with ECMAScript Harmony; b) develop Dart and push Dart to eventually become an open standard and be adopted by web developers and all modern browsers.

So far, all modern browsers (excluding Chrome, of course): IE, Firefox and Safari have declined to adopt Dart. However, whether Dart would win the battle is anybody's guess.


Node.Js

In 2011, everyone has said one thing or two about Node.js, quite a number of projects, applications and companies have adopted Node.js. What is Node.js? What is it for or not for?


Image from http://habrahabr.ru/blogs/webdev/108241/

"Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices."

Source:node.js

node.js is not really a JavaScript, but it has the look and feel of JavaScript. In fact, node.js deliberately adopted JavaScript's syntax to ease the pain of learning yet another framework/language/whatever and to make the server and client side script work with less friction.

It also uses the same catchphrases that we use to describe how great JavaScript is: event-driven, asynchronous. Yet, node.js is true, or more true, to these claims. On the web, JavaScript does not drive, what drives are web servers, IIS, Apache. Web servers serves an ever-increasing and crushing amount of traffic and requests by threading, thread this to fetch data, thread that to get a file. Yet there is a limit as to how many threads that a server can generate, and threaded IO is not non-blocking (how long you have to wait behind 6 people for your doctor?). So node.js aims to solve the problem. Why wait? Let's serve you as soon as you come. Let's just create as many connections (web servers) simultaneously, sending and taking care of many mini-requests as soon as possible. node.js accomplishes this by dealing directly with web sockets and using closures for non-blocking.

node.js has made a splash. node.js needs bigger players (as big as twitter, as fast and furious as twitter) to flex its muscles. For linus and mac users, you are ready to play with node.js to check out its potential. For windows, hold on a minute or a year.

JavaScript Frameworks for Mobile
If you noticed how hot All Is (IPhone, IPad, etc.) is, or how busy all Androids are (Google just offer free android development classes), you surely know all the sweet spots for development for mobile. JavaScript has geared for and gravitated towards mobile. There are oh so many JavaScript frameworks now for mobile that can deftly provide responsible and touchable and mobile solutions. JQuery mobile is by far the most popular, the other ones are MooTools mobile, Jo.



Source:JavaScript Frameworks for Mobile

1 comment:

  1. Thanks for sharing your info. I really appreciate your efforts and I will be waiting for your further write ups thanks once again.
    youtube html5 player| html5 converter

    ReplyDelete