Netbeans Java One 2010 s314648 Give Me Jsf Editor

download Netbeans Java One 2010 s314648 Give Me Jsf Editor

of 34

Transcript of Netbeans Java One 2010 s314648 Give Me Jsf Editor

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    1/34

    1

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    2/34

    Give me a proper visual JSF editor or else ...

    David KonecnyPrincipal Member of Technical Staff, Oracle

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    3/34

    3

    The following is intended to outline our generalproduct direction. It is intended for informationpurposes only, and may not be incorporated into anycontract. It is not a commitment to deliver any

    material, code, or functionality, and should not berelied upon in making purchasing decisions.The development, release, and timing of anyfeatures or functionality described for Oracles

    products remains at the sole discretion of Oracle.

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    4/34

    4

    Questions, questions, questions, ...

    Is visual JSF editor needed ?

    Do developers prefer text editor ?

    Have tool providers failed ?

    Should we blame JSF itself ? ...

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    5/34

    5

    and answers could be:

    Is visual JSF editor needed ?

    Do developers prefer text editor ?

    Have tool providers failed ?

    Should we blame JSF itself ? ...

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    6/34

    6

    Process

    WHYWhy do I ask these questions?

    HOWHow did I find answers?

    WHATWhat are my answers?

    ANDAnd what can I do with them?

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    7/347

    Why do I ask these questions?

    JSF 2.0 Facelets, Annotations, Ajax, Navigation,GET, Composite Components, Scopes, ...

    Java EE 6

    Technical Lead of EE support

    Supports full EE 6 stack

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    8/348

    Why JSF?

    > 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 ...

    VWP == Visual Web Pack aka Java Studio Creator

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    9/349

    QUESTION #1

    So do we need a visual JSF editor?

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    10/3410

    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

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    11/3411

    JSF versus Rendered Output

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    12/3412

    Who is using JSF?

    Developer versus Designer

    Developer's evolution

    OS Look and Feel dogma

    Different roles have different needs

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    13/3413

    Developer Role what is important?

    Data bindings

    Conversions

    Validations

    Error messages Localization

    Navigation

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    14/3414

    Developer Role what is NOT important?

    Layout

    Components

    Colors, fonts, styles

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    15/3415

    WYSIWYG? No, thank you.

    Wrong role focus Missing HTML render

    Imprecise code

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    16/3416

    Q.1: So do we need a visual JSF editor?

    JSF applications are data driven JSF language is designed for tooling

    Visual editor improves productivity

    Number of visual editor addicts

    YES !

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    17/34

    17

    QUESTION #2

    Have tool providers failed ??

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    18/34

    18

    Tools Visual Web Pack

    Timing

    Scope

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    19/34

    19

    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

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    20/34

    20

    Tools Visual Web Pack (Cont)

    Absolute Layout

    Woodstock + ICEFaces

    Database integration

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    21/34

    21

    Observation #1: Rich component metadata

    JSR-276 JSF Component Metadata

    JSF 2.0 Composite Components

    Can I have children?Do I have parents?

    What do I render?

    Which componentfamily is mine?

    What aboutmy facets?

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    22/34

    22

    Observation #2: Component Rendering

    Arbitrary output of component renderer

    JSR-276 JSF Component Metadata

    Missing Java native HTML renderer

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    23/34

    23

    Observation #3: Layout Component Rendering

    Mapping source to output

    javax.faces.context.ResponseWriter

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    24/34

    24

    Observation #4: Layout Component vs Drag'n'Drop

    Description of drop areas

    Description of drag handles

    drop areas

    has 13

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    25/34

    25

    Observation #5: Layout Options

    HTML/CSS based layout

    Absolute Layout

    h:panelGrid, af:panelFormLayout

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    26/34

    26

    Matisse parallel

    Matisse = Swing GUI designer for Group layout

    Good tool + Good layout manager

    70-80% satisfaction threshold

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    27/34

    27

    Other tools

    JDeveloper (JSF/ADF)

    MS Dev Studio (ASP)

    Window Builder (GWT)

    MS Dev Studio (SilverLight)

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    28/34

    28

    Q.2: Have tool providers failed ??

    Tools tried their best Missing HTML renderer

    Hindered by JSF issues

    Missing layout abstraction

    No, not really.

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    29/34

    29

    Q.3: Should we blame JSF itself ??

    Lack of support for design time editing

    JSR-276 JSF takes too long JSR 273 (Design-Time API for JavaBeans) dropped

    Well ...

    in part.

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    30/34

    30

    Q.4: Should we blame component providers ??

    Dependence on tools

    Well ...

    not really.

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    31/34

    31

    and my answers are:

    Is visual JSF editor needed ?

    Do developers prefer text editor ?

    Have tool providers failed ?

    Should we blame JSF itself ?

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    32/34

    32

    Summary: JSF does need a visual editor

    JSF Tools Providers

    Any component works Layout abstraction

    WYSIWYN

    (what you see is what you need)

    To achieve that following needs to be done:

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    33/34

    33

    Practical experience from implementing the new

    generation visual JSF editor for NetBeans IDE

  • 8/3/2019 Netbeans Java One 2010 s314648 Give Me Jsf Editor

    34/34

    More questions?