Web app technology which is right for you?

Which is the right web technology for you. Web clients can be developed using different technologies. Today browser are mostly used to act as thin clients on web.


web
image source: flicker.com

Web application is built mainly upon 2 layers, server layer and user layer(client). While developing service layer, you develop for only one platform, so no consideration has to be taken for cross platform. You can use open source tools/platforms like php,java,python,perl,mysql,linux to develop robust and secure service layers. One extra thing you need to consider while developing client (app that user actually interacts with). You have to make sure that you client app runs on almost major operating system like Windows, Mac OSx, various flavors of linux desktop with minimum setup/maintenance (Most users don't want extra heavy installation process). Here are the some of the technologies used on the client side.

  1. HTML/CSS/Javascript 
  2. HTML5/CSS3/Javascript
  3. Flash/Flex/Air
  4. Silverlight
  5. GWT Lets dig into each technologies and see pro and cons. 

HTML/CSS/Javascript

This is the most oldest technology and widest usage. This is the most used technology for cross-platform client development. At lest one browser is preloaded on any operating system. Safari on Mac, internet explorer on windows,firefox on linux etc. Any browser these days supports html/css/javascript so using this technology is most safe and has almost 100%. Downside is the user interface is not so rich as compare to apps made on rich UI technologies like flex/flash, silverlight. More development work for little complex UI. Server generates the UI code and delivers to client to render, so extra network traffic for repetitive UI codes for each client.

HTML5/CSS3/Javascript

HTML5 is the newer and latest version of html which supports advanced UI features along with CSS 3, has offline data capabilities, supported on most latest version of browsers like safari, firefox, opera, internet explorer.Downside: it is only supported on latest versions.

Flash/Flex/Air

Most widely used cross platform runtime environment by Macromedia later Adobe, which runs on browser (flash/flex) or as standalone desktop app (air), to create rich user interface web clients. Advantage in current web world most of the users have already installed flash player. So creating client in flash/flex is easily acceptable by most users and you can be sure that it runs on any platform.

Silverlight

Silverlight is the web technology created by Microsoft to provide the platform to run web clients on the browser on different platforms. Technically it is the replication of flash player by Microsoft. You use wpf to create silverlight applications. There is also a version of silverlight runtime for mac but its not fully supported. Even Microsoft is the creator of silverlight, and its the competitor of flash player, you can see some flash applications on Microsoft sites. Only one advantage of sliver light is, it is easy to develop if you are .net developer and has already the knowledge of wpf. Disadvantage: it is not fully supported on OS other than windows, not so popular, loosing popularity.

GWT

GWT(Google web toolkit) is a framework created by google that makes development process easier,faster,less repetitive code to create web clients with wring code on popular language java. Its a just a development framework, which translates java codes to javascript/html codes that runs on the browser. Advantage : Supported on all browsers, faster development. Lots of nice third party UI components available. Great development tool to create ajax based web applications. Disadvantage: No search engine friendly, generated javascipt/html code (table based layout) is heavy and doesn't validate with W3C.

blog comments powered by Disqus