Skip to main content

Posts

Showing posts from June, 2013

Sencha EXTJS Invention

Ext JS includes a set of  GUI -based form controls (or " widgets ") for use within web applications: text field  and textarea input controls date fields with a pop-up date-picker numeric fields list box  and  combo boxes radio  and  checkbox  controls html editor control grid control  (with both read-only and edit modes, sortable data, lockable and draggable columns, and a variety of other features) tree control tab  panels toolbars desktop application-style menus region panels to allow a form to be divided into multiple sub-sections sliders vector graphics charts Many of these controls can communicate with a web server using  Ajax . Version releases: Ext JS 2.0 Ext JS version 2.0 was released on 4 December 2007. This version was promoted as providing an interface and features more similar to those traditionally associated with desktop applications. Also promoted were the new user documentation, API documentation, and samples. Ext JS 2.0 did not

Why EXTJS?

ExtJS is fired with two licenses: GPLv3 or Commercial. The development is controlled solely by Sencha. ExtJS is a component framework. Like most component frameworks you are separated from the HTML that is generated, but this also gives you a lot of control of the rendering process. Template-based binding frameworks like Angular or Ember allow you to develop very quickly by allowing you not to worry about the rendering process. This can be great for prototyping and smaller applications with limited data, but when applications grow - components that show a lot of data, like grids, can have serious performance issues that require circumventing the default rendering process to address. Grids and large data sets are where component libraries excel. The biggest beef I have with ExtJS is the build process. In most cases, the Sencha Cmd is required to build an ExtJS application to a minified JS. The tool is powerful, but slow and not very adaptable. We had to use it to just output the correc

RIA - Best for the Enterprise App development

RIA - A new world of possibility ready for the Enterprise. .Architecture .mature frameworks and libraries .process and standards Rich Internet Applications: .Load main page once .Dynamically replace content in response to user interaction .javascript central to UI Logic Traditional MVC with RIA: .UI Logic in view and client-side components .Views are specific to one UI .View-slow RIA without MVC: .Client-side components(javascript) .consume Enterprise API directly (SOAP) .API may not fit UI needs RIA with Slim MVC: .MOdel/Controller are used to expose a UI-specific API (JSON,REST etc) That can be consumed by different UIs. .ByPass controller when possible,avoid views Developing and Maintaining Javascript: .Limited error detection by IDE .Difficult refactoring .Different coding styles .Skill sets Logging: Log to Browser console or web page. .Javascript APIs Log to server File .Call a Logging Service via AJAX RIA technology: Partial screen updates Asynchronous communication

Top Ajax Technologies and RIA Frameworks

The Gartner RIA Report in 2010 rated 22 Ajax technologies and RIA Frameworks. They define the Ajax/RIA market as "a set of technology offerings oriented to meeting the needs of application development teams to build systems that deliver a rich and responsive user experience." I was surprised by which technologies were included in the list and those that were not. Some of them are inactive, woefully incomplete, or inaccessible. Other open-source frameworks, like MooTools and Laszlo, that have been around for 5+ years and have active communities, were not listed. So here is a more comprehensive list of RIA frameworks and Ajax technologies. But instead of rating them by market scope, I rated them on: Completeness of their UI control set, based on the list of essential controls Usability of the controls Aesthetics, based on the default visual design. Now, all of these frameworks/technologies are skinnable , or offer themes, but some are almost impossible to ma