Why I haven’t tried JPA?
I have been implementing java for 4 years and what I have learned: “not all Java API’s are good” but there are some open/vendor APIs you should prefer.
Archive for the ‘ Notes ’ Category
I have been implementing java for 4 years and what I have learned: “not all Java API’s are good” but there are some open/vendor APIs you should prefer.
Image by Brian Daniel Eisenberg via Flickr
before I begin I should say, I tried JSF several times but all off them is bad.
Why?
Easy Navigation (!): Why do a framework disables back button and uses non-sense URLs? you cannot bookmark a single page, do not even try to read the URL it all sucks.
Always POST: why ? all non-sense and more no redirect after any post ?
nice article http://www.theserverside.com/tt/articles/article.tss?l=RedirectAfterPost
Restore View: Although it is in default life-cycle it would be %90 unnecessary and for any given insert page you will feed several combobox’s chechbox why ?
Complex Component Development: Although it is a component oriented framework it is harder to develop a component then a JSPTag.
Disable custom jsp tags all should be JSF oriented why ?
For All these choose any Action oriented framework: like struts,spring mvc,
more thoughts:
http://timshadel.com/blog/2006/01/19/jsf-the-7-layer-burrito-i-wont-eat-again/
http://www.theserverside.com/tt/articles/article.tss?l=RedirectAfterPost
Image by saharsh via Flickr
Currently code generation is very common way of some handling common repeating code fragments and some initial setup task like startup configurations and so on. Some clear benefits are:
- ease your setup process
- protects your code form some common coding mistakes
- maintain some coding pattern practices and standards.
- keep your effort on complex tasks
But on the other hand when you evaluate code generator or while writing your code should thing about ” why you generate this code ? and not writing some generic component to evolute such business”
this is the most common mistake while using this technology. you generate code to customize the generated code. If you not need this fragment to customization. DO NOT GENERATE IT. otherwise in most case any enhancement in these fragments will require great effort or worse (to generate again).
so what is important.
Some code generators:
http://www.codegeneration.net/