King's second installment is focused on JSF which is a core component of the JBoss Seam web application framework:
...I'm a fan of JSF, not because JSF is by any means perfect, but because I like the overall architecture, and judge it's warts and limitations to be more "fixable" than those of other Web Framworks I've used. Of course, whatever my feelings about other other frameworks, I would be idiotic to ignore JSF. JSF is easily the fastest growing web framework in the Java space...
Among the strengths he sees in JSF:
- Application components are pojo's
- The JSF lifecycle is perfect for applications where business logic is bound to a view
- Managed beans are stateful and contextual
- Markup language is not limited to the set of HTML primatives
- The JSF UI component model solves certain problems that affect plain HTML form processing and many other Web Frameworks.
However King sees problems in the development of extensions:
...Nevertheless, there are some things which JSF 1.2 doesn't get right, and this has required the development of non-standard extensions to JSF in products like Facelets, Seam, Shale, Ajax4JSF, ICEFaces, Avatar. Certain people have argued that if you need to use non-standardized extensions, you would be better to avoid the standard altogether...
Based on this he proposes the following items (further details available in original post) for 2.0:
- Asynchronous partial submits and renders
- Annotation-based programming model
- Enhanced lifecycle for non-faces requests
- Improved orchestration
- Error handling
- Standardize Facelets and simplify development of JSF UI components
- Alternative stateless UI component lifecycle
- Databinding
- Model-based validation
- Allow use of EL in messages
- Session invalidation
The third installment of King's wishlist focuses on Unified EL.
...The new Unified EL API used by JSF and JSP is a really useful addition to the Java platform. Unfortunately, while a lot of effort was put into designing the Java-level APIs for working with Unified EL, the expression language itself hasn't changed much since the earliest days of JSP. It is now well past time for some new features. A more powerful EL lets us keep presentation logic in our page, and avoids polluting the business model with extra methods...
Among the enhancements proposed (further details available in original post):
- Method parameters
- Switch statement
- Collection size operator
- Collection constructors
- Collection iteration