Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

JavaOne 2014 BOF4241 What's Next for JSF?

27 938 vues

Publié le

JavaOne BOF4241 Slides: What's Next for JSF?

Publié dans : Logiciels
  • Soyez le premier à commenter

JavaOne 2014 BOF4241 What's Next for JSF?

  1. 1. What’s Next for JSF? BOF4241 Edward Burns Manfred Riem Java Community Process SpecificaGon Leads Java EE PlaJorm group Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  2. 2. Safe Harbor Statement The following is intended to outline our general product direcGon. It is intended for informaGon purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or funcGonality, and should not be relied upon in making purchasing decisions. The development, release, and Gming of any features or funcGonality described for Oracle’s products remains at the sole discreGon of Oracle. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | M
  3. 3. My Plan for Your Time Investment UI trends What does this mean for JSF? What about Java EE 8? Preserving your investment in JSF Q&A Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 1 2 3 4 5 E
  4. 4. My Plan for Your Time Investment UI trends What does this mean for JSF? What about Java EE 8? Preserving your investment in JSF Q&A Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 1 2 3 4 5 E
  5. 5. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | E
  6. 6. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Mobile First Web Design • Mobile is now more important than desktop • What kind of app? – Mobile Web – NaGve App (Android, iOS, Windows) • Lots of help out there – twi`er bootstrap and its enablers E
  7. 7. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | E DEPARTMENT OF STATE
  8. 8. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | E
  9. 9. MEAN Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | E
  10. 10. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | • MongoDB • ExpressJS • AngularJS • Node.js E
  11. 11. Oracle’s Answer: Project Avatar Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | E
  12. 12. What Does All This Mean for JSF? • Mobile – Use a mobile opGmized JSF component library Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | • State – Design for statelessness • JavaScript – SGll held at arm’s length – A component level concern E
  13. 13. What Does All This Mean for JSF? What about the MVC JSR? UI Component Oriented MVC Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | M
  14. 14. What Does All This Mean for JSF? What about the MVC JSR? AcAon Oriented MVC Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | M
  15. 15. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | What About the MVC JSR? Alignment between JSF and MVC • Facelets • Scopes – Flow – Flash – View Scope M
  16. 16. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | • Tie up the loose ends – SpecificaGon clarificaGons – CDI alignment • Ease of use e.g. @Inject FacesContext • @Inject into Validators, Converters, etc. – HtmlInputHidden is ClientBehaviorHolder • Small scale new features • Subject to Spec Lead oversight – JSON ajax component rendering – Stateless enhancements – GET enhancements – Adopt-­‐a-­‐JSR support JSF 2.3 in Java EE 8 Two feature drivers, each with their own agenda M
  17. 17. JSF 2.3 Small Scale New Features • End of the line for non-­‐CDI managed beans Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | – Redefine meaning of @javax.faces.bean.ManagedBean to be CDI bean – Redefine corresponding XML syntax to be CDI bean • Ajax method invocaGon – A Faces request – Not specific to a view – Is specific to a ClientWindow – Returns results in JSON • MulG-­‐component validaGon M
  18. 18. Community Corner JSF Expert Group Members Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | – Ian Hlavats, Tarantula ConsulGng – Kito Mann, Virtua E
  19. 19. Preserving Your Investment In JSF JSF 2.2 New Feature Recap Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  20. 20. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | JSF 2.2 Big Ticket Features • Markup EvoluGon – 1090 HTML5 Friendly Markup • MulG-­‐tenancy and Modularity – 730 Flows – 1142 Resource Library Contracts
  21. 21. 1090 HTML5 Friendly Markup Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | The best part of Wicket comes to JSF • This is a JSF page <!DOCTYPE html>! <html xmlns="http://www.w3.org/1999/xhtml"! xmlns:myNS="http://xmlns.jcp.org/jsf”>! <form myNS:id="form">! <input name="textField" type="text" myNS:value="#{bean.text1}" />! <input type="submit" myNS:id="submitButton" value="submit" /> ! <p>submitted text: #{bean.text1}.</p>! </form>! </html>! !
  22. 22. 1090 HTML5 Friendly Markup Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Let the elegance of HTML shine through • Before JSF 2.2 – JSF tags hide complexity of underlying HTML+script+css+images – JSF “Renderer”: • encode: markup to browser • decode: name=value from browser <html>… <my:colorPicker value=“#{colorBean.color2}” /> <my:calendar value=“#{calendarBean.date1}” /> </html> • Context: Missing feature in browser? Write a JSF component.
  23. 23. 1090 HTML5 Friendly Markup Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Let the elegance of HTML shine through • With JSF 2.2 – Pure HTML+script+css+images in the JSF page – JSF Renderer handles decode from browser • Leverage the strength of the JSF lifecycle • Leverage the expressiveness of HTML5 <html>… <input type=“color” jsf:value=“#{colorBean.color2}”/> <input type=“date” jsf:value=“#{calendarBean.date1}” /> </html> • Context: New feature in browser? Use “pass through elements”
  24. 24. 1142 Resource Library Contracts 730 Faces Flows Modularity and Multi-tenant capability Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | • Allow composing a JSF app as a collecGon of modules – Faces Flows modularize behavior – Resource Library Contracts modularize appearance • Well defined contract for each
  25. 25. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Resource Library Contracts A Contract is Born contractA • Declared Templates • Declared Insertion Points • Declared Resources
  26. 26. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Resource Library Contracts Loading ConvenGons <web-app-root>/contracts contractA contractB • Declared Templates • Declared Insertion contractC Points • Declared Resources • Declared Templates • Declared Insertion Points • Declared Resources • Declared Templates • Declared Insertion Points • Declared Resources
  27. 27. JAR files in WEB-INF/lib contractE Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Resource Library Contracts Loading ConvenGons <web-app-root>/contracts contractA contractB • Declared Templates • Declared Insertion contractC Points • Declared Resources • Declared Templates • Declared Insertion Points • Declared Resources • Declared Templates • Declared Insertion Points • Declared Resources contractD • Declared Templates • Declared Insertion contractF Points • Declared Resources • Declared Templates • Declared Insertion Points • Declared Resources • Declared Templates • Declared Insertion Points • Declared Resources
  28. 28. <web-app-root>/contracts contractB contractC JAR files in WEB-INF/lib faces-config.xml Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Resource Library Contracts Loading ConfiguraGon contractA • Declared Templates • Declared Insertion Points • Declared Resources • Declared Templates • Declared Insertion Points • Declared Resources • Declared Templates • Declared Insertion Points • Declared Resources contractD contractE • Declared Templates • Declared Insertion contractF Points • Declared Resources • Declared Templates • Declared Insertion Points • Declared Resources • Declared Templates • Declared Insertion Points • Declared Resources Set of available contracts Facelet 1 <f:view contracts="contractA"> ... Facelet 2 Facelet 3
  29. 29. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Flow NavigaGon • NavigaGon is no longer just between pages • NavigaGon is now between flow “nodes” • InformaGon Hiding comes to JSF. Welcome to 1972! • MulGple node types: – View – Method Call – Switch – Flow Call – Flow Return
  30. 30. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Flow DefiniGon • Name of the flow • Where does the flow start? • Input values • OpGonal iniGalizer & finalizer
  31. 31. Safe Harbor Statement The preceding is intended to outline our general product direcGon. It is intended for informaGon purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or funcGonality, and should not be relied upon in making purchasing decisions. The development, release, and Gming of any features or funcGonality described for Oracle’s products remains at the sole discreGon of Oracle. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

×