How to ChoosHow to Choose A Web Application Framework

2,141 views
2,047 views

Published on

Published in: Technology, Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,141
On SlideShare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
100
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

How to ChoosHow to Choose A Web Application Framework

  1. 1. How to Choose A Web Application Framework Sang Shin, sang.shin@sun.com Java Technology Architect www.javapassion.com Sun Microsystems, Inc. 1
  2. 2. Factors to consider • Technical features of the framework • Types of application, Types of framework > Request-based (Action-based) or UI-Component based framework • Ease of development • Ease of testing • Tool support • POJO based • Dependency Injection support • Community and vendor support • Standard-based or not • Maturity and real-life usage cases 2
  3. 3. Features of the Framework 3
  4. 4. Technical Features • Dispatching • Navigation (page selection) • Tag support • Conversion (conversion of String to model data types) • Usage of HTML designer • Validation framework (client & server) • View technologies (JSP, Velocity, PDF, etc.) • Extensibility • Conversational scope support • Template and Tiles support • Ajax support • Internationalization 4
  5. 5. Types of Apps & Types of Frameworks 5
  6. 6. Types of Applications • Internet facing, large number of clients, high-traffic > Yahoo, Amazon.com, Company's public website • Intranet, small number of clients > Employee website 6
  7. 7. Types of Web App. Frameworks • Request based frameworks > Struts 1, Struts 2, Spring MVC • UI-Component based framework > JSF, Tapestry 7
  8. 8. Types of Applications • Internet facing, large number of clients, high-traffic > Request-based framework (Struts 2, Spring MVC) • Intranet, small number of clients > UI-Component based framework (JSF) 8
  9. 9. Ease of Development, Ease of Testing & Debugging & Profiling, Tool Support 9
  10. 10. Ease of development • Does the framework support hot deployment? > Will save development time • Convention of configuration > No need to specify common default values > Configuration required only when non-default values are used 10
  11. 11. Ease of testing, debugging, profiling • Does the framework support unit-testing and integration testing? > Tool support • Is profiling possible with the framework? 11
  12. 12. POJO Based? Dependency Injection? 12
  13. 13. POJO based? • Business logic can be captured in the form of POJO > You don't have to extends or implement framework specific class or interfaces? > You can test the business logic without the presence of the framework > You can use different framework in the future with minimal disruption 13
  14. 14. Dependency Injection Support? • Ease of development • Ease of testing 14
  15. 15. Community Support, Standard or not 15
  16. 16. Community Support • Is the community big enough, active enough to help me? > Active discussion? • Is the community working actively for the evolution of the framework? > Frequent release 16
  17. 17. Standard or not? • No vendor lock-in • Future enhancement 17
  18. 18. Maturity & Real-life Usage Cases 18
  19. 19. Maturity • Has it proven in the market place? • Do production environments use it? 19
  20. 20. So... Which One? 20
  21. 21. My Recommendation • Choose JSF if you are not sure > It is a standard > All vendors support it > Mature and proven in the market place > Many tools 21
  22. 22. How to Choose A Web Application Framework Sang Shin, sang.shin@sun.com Java Technology Architect www.javapassion.com Sun Microsystems, Inc. 22

×