Friday 27 June 2014

Javascript is taking over the world

Yes you have heard it right! Javascript is not just taking over the web it is also taking over the world. Working at a startup means you should be technically skilled in quite a handful of technologies and I have been given full freedom to explore and experiment with all the cool things that the IT industry has to offer from the past few years or so.

I love Javascript and I am a big fan of it, I am very much happy with the huge success Javascript has had in the recent years. I come from the Microsoft stack and I know the pain of switching my language every time I toggle back between my code behind and designer pages and I have always felt that this is not the right way to approach the web. 

I love C#, its a beautiful language and the attitude among many of the .NET Web programmers is that, we can do everything what others can do with the Microsoft stack so why learn a new stack. That's a valid point actually, Microsoft is well aware of all these trends and has already included PhoneGap as a default project template in the Windows 8.1 OS and already supports Knockout intellisense and you can run node.js applications with in IIS. The only one reason why an another stack will be chosen over the Microsoft stack as I see it is licensing, sure you can get away with it with the Express editions of SQL and VS but in a large scale application where scaling is important a Linux hosting is no match for the windows hosting when it comes to scaling your application to billions of users and the licensing costs that come along with it and this is an important problem that we as developers often face in the real world. 

Its a big leap for a .net programmer to come out of his comfort zone (MSDN documentation and GUI tools) and dive into the ocean of open source software, Git versions and CLI development tools. But that's where the world is heading towards now and to be in the elite group of software developers you are expected to know Ruby on rails, Node.js, Asp.net MVC, Erlang and Javascript at least.

This is the reason why I think Javascript should be the universal cross platform programming language for the web, Isn't it nice to have one language both for the server and the client. With Node.js we already have a full Javascript stack to develop enterprise applications. This is the right way to approach the web, we don't need all those compiled jar files and dll files anymore which makes an application look unnecessarily heavy. I know some will be shouting at me, what about IE? what about domain specific applications like healthcare and banks? For the former we do need universal standards for browsers that's for sure and for the latter I think it is the lack of Javascript skills that is the problem and not anything to do with the Javascript stack. We can build enterprise applications using just the Javascript stack.  Perhaps these two, the lack of Javascript skills and an universal standard among browsers are the only big reasons that is preventing Javascript from taking over everything.

PhoneGap and Adobe PhoneGap Build Service (Developing Cross platform Hybrid mobile apps) 

Before one had to hire at least three different developers to develop mobile apps each one for each platform (Android, iOS and Windows). Apache Cordova also known as Adobe PhoneGap allows you to develop in one platform whichever you feel comfortable for development and once you feel its working quite well in the testing device you can upload your js files to the Adobe PhoneGap online build service and it will automatically give you the apk, xap and ipa for android, windows and iOS phones respectively without even writing even a single line of native code, yes that's right, you can access all the native features of your phone all just through Javascript.

I personally go with Pure CSS + Knockout as my PhoneGap single page architecture and along with PhoneGap plugins you can really develop some wonderful mobile apps and publish them to the appstore.

WebRTC and WebSockets (Do Real Time Communication between two browsers or between a browser and a server)

XSockets.net have implemented a framework which uses WebRTC with WebSockets technology and its completely open source. With this you can quickly develop peer to peer multi-user real time video chat applications without using any external browser plugins and external live streaming servers.



Once a peer connection has been established and once you give permissions to the browser to use your in built webcam and microphone it just streams your media to all the peers connected and you receive remote streams from them even if all of them are behind a firewall. A full-duplex persistent communication without any server intervening between you and other peers connected to the broker. The possibilities are almost endless with this technology.

Popcorn and Popcorn WebMaker (Let's teach the web - Designing interactive videos)


Popcorn WebMaker is Mozilla's online drag n drop editor which gives you flexibility to build interactive and creative media through it. This is how Mozilla defines its WebMaker.
Webmaker is about empowering everyone to become makers of the web instead of just users. It's a mix of web tools, teaching material, and a social platform for teaching, learning, and sharing what you make. And, it's a lot of fun to use. It's even more fun to develop! 
Webmaker is built using modern web technologies including Node.jsHTML5CSS, and JavaScript (lots of JavaScript!)--many of the same technologies Webmaker teaches. If you know these technologies, or are interested in learning them more deeply, you might be interested in helping us develop Webmaker.
The main thing that drives this editor is Butter,js and with Popcorn HTML5 Media Framework you can build your own plugins and tweak your videos adding interactivity the way you like.

Enterprise Web Applications using just Javascript MVC stack and Node.js

If you actually see, the huge success of Javascript has been because of Node.js, Node brings the Javascript programming language to the server side. You can build Single page and Multi-page apps with it. There are dozens of frameworks out there which quickly allows you to develop web applications with just the Javascript stack.

Mean.io

NodeBots (Developing robots using Javascript and a micro-controller)

The rise of JS Robotics - NodeBots.io. This is really exciting stuff and one can imagine the real world use cases of this technology. Of course this requires some knowledge of electronics but once we have enough development kits which can be used to just plug n play then all we need is a few lines of Javascript code to make your first NodeBot robot.



Now we know why all the cool blokes of the industry have moved over to Node.js.

No comments :

Post a Comment