1
<Insert Picture Here> Give me a proper visual JSF editor or else ... David Konecny Principal Member of Technical Staff, Oracle
The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 3
Questions, questions, questions, ... • Is visual JSF editor needed ? • Do developers prefer text editor ? • Have tool providers failed ? • Should we blame JSF itself ? • ... 4
and answers could be: • Is visual JSF editor needed ? • Do developers prefer text editor ? • Have tool providers failed ? • Should we blame JSF itself ? • ... 5
Process WHY Why do I ask these questions? HOW How did I find answers? WHAT What are my answers? AND And what can I do with them? 6
Why do I ask these questions? Technical Lead of EE support Java EE 6 Supports full EE 6 stack JSF 2.0 – Facelets, Annotations, Ajax, Navigation, GET, Composite Components, Scopes, ... 7
Why JSF? VWP == Visual Web Pack aka Java Studio Creator • > 70 votes! • “... is great, it must be improved and continued ... ” • “ I would not mind to pay ... ” • “ ... the most important thing for corporate users ... ” • “ ... was one of the best features of NetBeans ... ” • “ Lets hope and pray that this absurd decision ... ” 8
QUESTION #1 So do we need a visual JSF editor? 9
What is JSF good for? • migration of application data to and from the UI • UI from a set of reusable UI components • custom UI components 10
JSF versus Rendered Output 11
Who is using JSF? • Developer versus Designer • Developer's evolution • OS Look and Feel dogma • Different roles have different needs 12
Developer Role – what is important? • Data bindings • Conversions • Validations • Error messages • Localization • Navigation 13
Developer Role – what is NOT important? • Layout • Components • Colors, fonts, styles 14
WYSIWYG? No, thank you. • Wrong role focus • Missing HTML render • Imprecise code 15
Q.1: So do we need a visual JSF editor? YES ! – JSF applications are data driven – JSF language is designed for tooling – Visual editor improves productivity – Number of visual editor addicts 16
QUESTION #2 Have tool providers failed ?? 17
Tools – Visual Web Pack • Timing • Scope 18
Tools – Visual Web Pack (Cont) - sloccount() • Total Physical Source Lines of Code = 450,000 • Development Effort Estimate (Person-Years) = 120 • Schedule Estimate (Years) = 3.3 • Estimated Average Number of Developers = 37 • Total Estimated Cost to Develop = $ 16,523,003 19
Tools – Visual Web Pack (Cont) • Absolute Layout • Woodstock + ICEFaces • Database integration 20
Observation #1: Rich component metadata Do I have parents? Can I have children? <x:foo/> What do I render? Which component family is mine? What about my facets? • JSR-276 JSF Component Metadata • JSF 2.0 Composite Components 21
Observation #2: Component Rendering • Arbitrary output of component renderer • JSR-276 JSF Component Metadata • Missing Java native HTML renderer 22
Observation #3: Layout Component Rendering • Mapping source to output • javax.faces.context.ResponseWriter 23
Observation #4: Layout Component vs Drag'n'Drop • Description of drop areas • Description of drag handles has 13 drop areas 24
Observation #5: Layout Options • HTML/CSS based layout • Absolute Layout • h:panelGrid, af:panelFormLayout 25
Matisse parallel • Matisse = Swing GUI designer for Group layout • Good tool + Good layout manager • 70-80% satisfaction threshold 26
Other tools • JDeveloper (JSF/ADF) • MS Dev Studio (ASP) • Window Builder (GWT) • MS Dev Studio (SilverLight) 27
Q.2: Have tool providers failed ?? No, not really. – Tools tried their best – Missing HTML renderer – Hindered by JSF issues – Missing layout abstraction 28
Q.3: Should we blame JSF itself ?? Well ... – Lack of support for design time editing – JSR-276 JSF takes too long – JSR 273 (Design-Time API for JavaBeans) dropped in part. 29
Q.4: Should we blame component providers ?? Well ... – Dependence on tools not really. 30
and my answers are: • Is visual JSF editor needed ? • Do developers prefer text editor ? • Have tool providers failed ? • Should we blame JSF itself ? 31
Summary: JSF does need a visual editor • To achieve that following needs to be done: JSF Tools Providers Any component works Layout abstraction WYSIWYN (what you see is what you need) 32
Practical experience from implementing the new generation visual JSF editor for NetBeans IDE 33
More questions? 34
Recommend
More recommend