Sunday, August 21, 2011

New move of software development

As your awareness, in some recent years, the software technologies has changed a lot in the very fast pace. Remembered that one or two years ago, Microsoft technologies seem to be on the top with lots of new tools introduced like: ASP.NET MVC, MEF, Silverlight, .NET Framework 4. 0, LINQ. ..

But for now, Microsoft is no longer a leader on technologies, even though I have felt that this big company is likely kind of later than others, especially open source technologies. With the birth of HTML5 and the popularity of REST, mobile development, No Sql, the software development world has changed differently for the new decade.

HTML5

HTML5 is born to change our thought of front end technologies and shorten the gap between web UI and Win UI, the gap between desktop development and mobile development. HTML5 has been dominating UI and might be the killer of other technologies: WPF, Silverlight, Flex…. As you might know MS has announced to build Windows 8 on HTML5 and they did a review for this. It also led to the dead of cookie whose data-capacity limitation and always carried over HTTP requests with the new introduction of web storage: local storage and session storage.

HTML5 is ready to adopt into mobile web development as its standard continues to evolve and will become a strong alternative with native applications on mobile operating system like Android, iOS because of its very strong pro: able to be multi-platform.

Web Socket, I believe it will come to the standard soon and resolved some security problems rose from Microsoft. With Web socket, it will be easy for us to push data from server to client over one and only one open TCP connection which we cannot do it before, this only way to do is polling requests from client to server to fetch data, although comet and some other technologies were born to solve this but they are still polling mechanism.

JavaScript

With HTML5, JavaScript is becoming the king language in frontend layer, most of developers thought that JavaScript is just a toy language before but now we need to re-think again how important it is and eventually JavaScript is likely the first and essential language to learn. Right now, there are a lot of JavaScript libraries which are used a lot: jQuery, CoffeeScript, Backbone, Knockout, Node… and on the way to be becoming frontend framework for web development.

REST architecture

REST has come out for long time, from thesis of Thomas Fielding on 2000, but now it is more and more popular. Remember that REST is not standard like other RPC (Remote Procedure Call) SOAP, AMF… it is just style in order to build distribution application based on HTTP and use HTTP methods. So, you are able to use any language with its pro: simple and lightweight.

I do believe that with the evolution of REST and JavaScript, it seems we only need REST service on the backend and use JavaScript to get data from REST and render in browser. Needless to have web technology on the server to mediate like ASP.NET MVC…. There are just frontend frameworks with JavaScript and HTML5 and REST service is enough to build a web application.

REST also led to the dead of SOAP, a standard promoted by Don Box, truly SOAP is inessentially complicated and does need lots of configuration compared to REST.  Most of popular services on web are REST service: Flickr, Twitter, GitHub.

For all above, SOAP service, WCF should be in consideration because it is based heavily on SOAP.

No SQL

Relational database has been for long time although it is likely dominant database architecture in two decades. But now, it has changed with the new evolution of Non-relational database like: document database, json database, graph database with popular tools: Mongo, Cassandra, Redis and many others are maturing daily and play important role in software architecture. Lots of big web apps are using No SQL, Facebook, Google+, and Twitter.

With the new move of software development, my current focus will be on HTML5, JavaScript, REST and consideration to use on technologies: SOAP, Silverlight, WPF, and WCF…

11 comments:

  1. Thanks for your article. Our world is moving forward to Open Source, in fact. HTML 5, JavaScript and its frameworks, NoSQL, and others will become primary elements. Thank you again ! Best Regards

    ReplyDelete
  2. Some people fail to realize that the actual attention grabber is the subject that recipients see. It is the first thing that makes them decide if they should prioritize reading the received email or not.
    winzip activation code

    ReplyDelete
  3. The reliance on programming increments as your organization accomplishes development and advancement. The working of greater organizations is mind boggling and in like manner their product necessity is additionally particular and point by point. news

    ReplyDelete
  4. This is a brilliant reading about HTML 5, JavaScript and its frameworks, NoSQL! Personally, I like this new move. I hope this move can bring a great change in software development what we are looking for! Thank you so much for sharing this post with us. Reztech

    ReplyDelete
  5. Windows 10 reserved but gets missed after installing it- If you've reserve windows 10 but don't know why it gets invisible. kmspico

    ReplyDelete
  6. Touch typing skill is also helpful, if you are typing from a dictation of someone who is currently speaking, either in a meeting or as a secretary typing a letter dictated by your boss. Typing For Beginners

    ReplyDelete
  7. Long Description Riskonnect is the trusted, preferred source of Integrated Risk Management technology, offering a growing suite of solutions on a world-class cloud computing model that enable clients to elevate their programs for management of all risks across the enterprise. Riskonnect allows organizations to holistically understand, manage and control risks, positively affecting shareholder value Sarbanes Oxley compliance solution

    ReplyDelete
  8. The CRM software helps in improving an organization's relationship with its customers. It has become an integral part in customer relationship management, because of its role in establishing long-term customer relations. SugarCRM Asia

    ReplyDelete
  9. The purpose is to identify the general operating capability of the software/application being tested and to help developers determine some of the areas of improvement for the software. salesforce datawarehouse reporting

    ReplyDelete