1 <Insert Picture Here> Give me a proper visual JSF editor or - - PowerPoint PPT Presentation

1
SMART_READER_LITE
LIVE PREVIEW

1 <Insert Picture Here> Give me a proper visual JSF editor or - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

1

slide-2
SLIDE 2

<Insert Picture Here>

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

David Konecny Principal Member of Technical Staff, Oracle

slide-3
SLIDE 3

3

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.

slide-4
SLIDE 4

4

Questions, questions, questions, ...

  • Is visual JSF editor needed ?
  • Do developers prefer text editor ?
  • Have tool providers failed ?
  • Should we blame JSF itself ?
  • ...
slide-5
SLIDE 5

5

and answers could be:

  • Is visual JSF editor needed ?
  • Do developers prefer text editor ?
  • Have tool providers failed ?
  • Should we blame JSF itself ?
  • ...
slide-6
SLIDE 6

6

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?

slide-7
SLIDE 7

7

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

slide-8
SLIDE 8

8

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

slide-9
SLIDE 9

9

QUESTION #1 So do we need a visual JSF editor?

slide-10
SLIDE 10

10

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
slide-11
SLIDE 11

11

JSF versus Rendered Output

slide-12
SLIDE 12

12

Who is using JSF?

  • Developer versus Designer
  • Developer's evolution
  • OS Look and Feel dogma
  • Different roles have different needs
slide-13
SLIDE 13

13

Developer Role – what is important?

  • Data bindings
  • Conversions
  • Validations
  • Error messages
  • Localization
  • Navigation
slide-14
SLIDE 14

14

Developer Role – what is NOT important?

  • Layout
  • Components
  • Colors, fonts, styles
slide-15
SLIDE 15

15

WYSIWYG? No, thank you.

  • Wrong role focus
  • Missing HTML render
  • Imprecise code
slide-16
SLIDE 16

16

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 !

slide-17
SLIDE 17

17

QUESTION #2 Have tool providers failed ??

slide-18
SLIDE 18

18

Tools – Visual Web Pack

  • Timing
  • Scope
slide-19
SLIDE 19

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
slide-20
SLIDE 20

20

Tools – Visual Web Pack (Cont)

  • Absolute Layout
  • Woodstock + ICEFaces
  • Database integration
slide-21
SLIDE 21

21

Observation #1: Rich component metadata

  • JSR-276 JSF Component Metadata
  • JSF 2.0 Composite Components

<x:foo/>

Can I have children? Do I have parents? What do I render? Which component family is mine? What about my facets?

slide-22
SLIDE 22

22

Observation #2: Component Rendering

  • Arbitrary output of component renderer
  • JSR-276 JSF Component Metadata
  • Missing Java native HTML renderer
slide-23
SLIDE 23

23

Observation #3: Layout Component Rendering

  • Mapping source to output
  • javax.faces.context.ResponseWriter
slide-24
SLIDE 24

24

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

  • Description of drop areas
  • Description of drag handles

drop areas has 13

slide-25
SLIDE 25

25

Observation #5: Layout Options

  • HTML/CSS based layout
  • Absolute Layout
  • h:panelGrid, af:panelFormLayout
slide-26
SLIDE 26

26

Matisse parallel

  • Matisse = Swing GUI designer for Group layout
  • Good tool + Good layout manager
  • 70-80% satisfaction threshold
slide-27
SLIDE 27

27

Other tools

  • JDeveloper (JSF/ADF)
  • MS Dev Studio (ASP)
  • Window Builder (GWT)
  • MS Dev Studio (SilverLight)
slide-28
SLIDE 28

28

Q.2: Have tool providers failed ??

– Tools tried their best – Missing HTML renderer – Hindered by JSF issues – Missing layout abstraction

No, not really.

slide-29
SLIDE 29

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.

slide-30
SLIDE 30

30

Q.4: Should we blame component providers ??

– Dependence on tools

Well ... not really.

slide-31
SLIDE 31

31

and my answers are:

  • Is visual JSF editor needed ?
  • Do developers prefer text editor ?
  • Have tool providers failed ?
  • Should we blame JSF itself ?
slide-32
SLIDE 32

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:
slide-33
SLIDE 33

33

Practical experience from implementing the new generation visual JSF editor for NetBeans IDE

slide-34
SLIDE 34

34

More questions?