Sunday, February 9, 2014

GIDS 2014 Is here

The annual summit of software developers known as the Great Indian Developer Summit (GIDS) will start this year on April 22-25 at Indian Institute of Science (IISc), Bangalore. There are going to be 4 different tracks on .NET, Java, Web, Mobile & Data apart from the hands on workshop on some of these areas. To know more about the sessions and schedule check out here.


Saturday, February 8, 2014

The Vert.x platform

A couple of months back while i was exploring the options for a modern web application platform supporting server side javascript (SSJS), i was almost sure that node.js would be my final choice. But to my surprise there exists a relatively new platform which is at-par or even better compared to node.js. Yes, i am talking about the vert.x platform which is the new game changer.

Undoubtedly Vert.x is inspired by node.js, thus inherits many traits from node.js platform (deliberately avoiding the term 'framework'). But still it's a completely new platform with much more capability and flexibility. Here are some points as to why i am fascinated with it.
  • Polygot in nature:  Supports many languages out of the box. While i am writing this, the vert.x  2.1M5 is out and is has support for  Java, Javascript, Cofeescript, Groovy, Ruby & Python languages.
  • Non-Blocking & Asynchronous: The platform is based on event loop mechanism eliminating the traditional threading model. Gives a strong case for high scalability.
  • Distributed Event Bus:  The vertx.io page describes this as the central nervous systems of vert.x platform. This connects your polygot modules together. Put your modules in any where in the network, this guy will connect them all. Not over, its even capable of connecting your client side via client side javascript code running on your browser. Simply amazing. Makes the life of developer much easy and worry free.       Having said this i am not negating the fact that a poor app design can bring disaster as well.               
  • Concurrency Model: This is awesome. You write your application following single threaded model. The vert.x platform is capable of bringing the multi-threaded programming effect on it without the hassle of volatility, synchronization or lock. Also vert.x is able to create multiple threads based on the number of CPU cores in your server leveraging the full strength of multi-core programming. Clustering support is also provided out of the box. Its all automatically taken so that you can focus on your business logic.
  • Module Repository: This is something similar to NPM(node package manager) where you will find lots of prebuilt modules available for you to implement certain functionalities. Remember the DRY principle and its exactly offering the same reusability principle to you. This one is growing as more and more people are developing and contributing different modules into the ecosystem.

Vert.x is an open source independent project run by the vert.x community. Having said that the core vert.x modules are under the Eclipse foundation project. 

Looks interesting ? then move on and check out the official vert.x page here. There are some other interesting reads which i am sharing here where you can find code bytes., architecture details and comparisons on the vert.x platform.