How to Choose
A Web Application
Framework



Sang Shin, sang.shin@sun.com
Java Technology Architect
www.javapassion.com
Su...
Factors to consider
• Technical features of the framework
• Types of application, Types of framework
    > Request-based (...
Features of the
Framework




                  3
Technical Features
•   Dispatching
•   Navigation (page selection)
•   Tag support
•   Conversion (conversion of String to...
Types of Apps &
Types of Frameworks




                      5
Types of Applications
• Internet facing, large number of clients, high-traffic
  > Yahoo, Amazon.com, Company's public web...
Types of Web App. Frameworks
• Request based frameworks
  > Struts 1, Struts 2, Spring MVC
• UI-Component based framework
...
Types of Applications
• Internet facing, large number of clients, high-traffic
  > Request-based framework (Struts 2, Spri...
Ease of Development,
Ease of Testing &
Debugging & Profiling,
Tool Support



                         9
Ease of development
• Does the framework support hot deployment?
  > Will save development time
• Convention of configurat...
Ease of testing, debugging, profiling
• Does the framework support unit-testing and
  integration testing?
  > Tool suppor...
POJO Based?
Dependency Injection?




                        12
POJO based?
• Business logic can be captured in the form of POJO
  > You don't have to extends or implement framework
    ...
Dependency Injection Support?
• Ease of development
• Ease of testing




                                14
Community Support,
Standard or not




                     15
Community Support
• Is the community big enough, active enough to help
  me?
  > Active discussion?
• Is the community wor...
Standard or not?
• No vendor lock-in
• Future enhancement




                       17
Maturity &
Real-life Usage Cases




                        18
Maturity
• Has it proven in the market place?
• Do production environments use it?




                                   ...
So... Which One?




                   20
My Recommendation
• Choose JSF if you are not sure
  >   It is a standard
  >   All vendors support it
  >   Mature and pr...
How to Choose
A Web Application
Framework



Sang Shin, sang.shin@sun.com
Java Technology Architect
www.javapassion.com
Su...
Upcoming SlideShare
Loading in...5
×

How to ChoosHow to Choose A Web Application Framework

1,936

Published on

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

No Downloads
Views
Total Views
1,936
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
99
Comments
0
Likes
1
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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×