October 17, 2011 by huionn
After spending 2 months in exploration of a few web technologies (JSF and GWT), I come to a conclusion that rich web application is too costly to develop. Although it has the pros of easy deployment (or zero deployment), the development process is painful – UI design, data binding, compilation, server restart, manual testing and debugging…
Instead, I decide to develop a 3-tiered rich client application using NetBeans Platform. The client communicates with server through web services (REST).
- NetBeans Platform is easier to learn and develop compared to Eclipse RCP. To me, its programming model is more intuitive.
- Client application allows multi-tasking – for example, user can continue to work while waiting for document uploading in queue.
- The business logics in server can be reused for web UI and client UI.
- The load on server could be lower.
- The deployment could be done through JWS (with the prerequisite JRE installed).
- NetBeans Platform provide auto and alternatively manual update which will somehow minimize the hassles of patching.
- Rich client can easily provide better usability, look-and-feel and is more responsive.
From my years of experience in web application development, the cost of developing complex web application is high. Although it is possible to design a modular system, it is very hard to design a loosely-coupled modular web UI. The result is that many unrelated modules need to be deployed even it is not used by current development. It makes the application turnaround painfully long.