I have in my past two years as a professional Java web developer stumbled upon the fact that if my code is not reusable and readable, as well as not structured and modularized, it cannot be maintained in the long run. I have had the need for good web frameworks and I have learnt a few of the available support frameworks along the way. By saying support frameworks I mean for example Freemarker templating engine. It is not a web framework in it self but rather a helping hand for separating code from design.
But even if Freemarker separates code from design, it can look quite nasty when the amount of templates and macros increase. The code gets totally cluttered with all this if else mocking about. I have personally come to the point where i have refactored out my reusable components into macro files but still: the html is not w3c Valid. Thats a big problem when doing a redesign or if there are webdesigners on the team. If i wanted to outsource my current projects design I would today have to export and then import my templates due to the fact that designers dont understand freemarker templating language (and they would honestly most propably mess it up .. even if the language is made for designers).
This is where apache wicket kicks in. It solves my problem to the best. It gives me: complete control of the application logic, code free templates, good abstraction on top of the servlet api and a hell of alot fun! Making an ajaxified submit form? its done.
But is It really the best? Aren’t there strong people behind all of the most widely used web frameworks? havent they been there done that? I expect so.
So, where will I go next? after delving into Spring mvc/webflow, Freemarker and GWT, a new framework? Like WebWork? Or is it a more sensible approach to have an open mind and choose/learn whatever seems to be the most fitting for the current project? yes. of course. fanatics are not doing something they like. they do what they have learned and neglects the fact that there are always better solutions around. Always.
Code is dynamically changing.
0 Response to “Thougths about opensource java web frameworks”