Having read up quite a bit on the subject over the last few days a picture is forming. In short there is no such thing as the optimal solution. Frameworks are all the hype nowadays. They have helped to make _javascript_ usable for web application developers despite the fact that browser incompatibilities are a pain in the rear.
Since browsers speak _javascript_ one needs to learn that language. Sure there is GWT which lets web developers develop in JAVA (it will compile JAVA into _javascript_). When reading up on GWT I came across ZK which is yet another toolkit for JAVA developers.
Then a tiny little bit of information came up that is overlooked and ingnored by media. There is a difference between client side frameworks and server side frameworks. Often one is tempted to look only at the graphical user interface of the frameworks. Beauty is all too often associated with quality.
For all non web app wizzards the basics are like this. In a client side framework all the processing is done in the browser on the client. If the app wants data it has to talk to the server to get it. On other end there are the server centric frameworks that process all data and user interface on the server and send html to the browser. The server centric way is often associated with a desktop like developement. Both approaches have their share of pros and cons.
Some of the conclusions I have drawn so far:
- framework is no well defined entity
some include features to render a user interface, some talk to databases, some to all of this
- user interface frameworks
there are many, most are client side, some are server side and some are both most are _javascript_ based, some are JAVA-based (GWT) or Python-based (pyjamas) a bug in the framework might break the application
many if not most web app developers are using _javascript_ professionalism varies widely supposedly going through a language-to-_javascript_ compiler will fail badly in case of a bug
- framework intercommunication
various techniques including Json and RPC exist but there is no consensus or benchmarks
the widely used frameworks such as extJS and ZK have designer applications available which would allow non-coders to produce pseudo code or mock ups.
Going back to the drawing board (with a little more info on frameworks) here is what I am looking for.
- code or a framework that lets me develop the user interface without it messing with the database itself (for now). This is the work of gmPG2 and friends.
- a nice looking set of widgets that makes up a nice looking interface
- a set of widgets that can be accessed through python (e.g. ToscaWidgets)
- a framework that will be there for a few years and not being given up for the next best thing
- solution that lets me seperate design (html, css, JS) and content through e.g templates
So far I have found nothing that fits the bill. In case of Pyjamas I am unsure about its future and its set of widgets. I like that one could develop in python. It would mean that _javascript_ coders are left out. GWT would mean learning JAVA. License is Apache License v2.0. extJS or qooxdoo would mean learning _javascript_ and would leave the python coders out. I like the idea that extJS and ZK have designers available.
As always feedback is highly appreciated.
Sebastian
|