DZone
Java Zone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
  • Refcardz
  • Trend Reports
  • Webinars
  • Zones
  • |
    • Agile
    • AI
    • Big Data
    • Cloud
    • Database
    • DevOps
    • Integration
    • IoT
    • Java
    • Microservices
    • Open Source
    • Performance
    • Security
    • Web Dev
DZone > Java Zone > Choosing a Web Development Framework: Options and Criteria

Choosing a Web Development Framework: Options and Criteria

Ricardo Zuasti user avatar by
Ricardo Zuasti
·
May. 15, 12 · Java Zone · Interview
Like (0)
Save
Tweet
39.61K Views

Join the DZone community and get the full member experience.

Join For Free

At my company we are evaluating which web development framework we will use for the next few years.

Since our last evaluation we have been using Java application servers powered by Struts 2 as MVC, Tiles as templating engine, jQuery for Javascript awesomennes, DWR for AJAX calls and MyBatis as ORM.

But we think it’s time to re-evaluate and move on to a newer/better/friendlier framework.

In this post I’ll present you with our candidates and the criteria we are evaluating each framework with. Over the next weeks I’ll post the actual evaluation of each framework and finally what our choice is and why.

Before listing the candidates I should point out some of the assumptions and restrictions we made in order to shorten the list:

  • We will evaluate only frameworks based on Ruby, Python and Java. There is nothing wrong with .Net or PHP or other technologies, but we cannot cover them all and this three are our prime candidates anyway.
  • The company has a lot of experience and accumulated knowledge on the Java platform, so you will see more Java based frameworks. Though hopefully no bias towards them.
  • All frameworks must be free to use and preferrably open source. Additionally there has to be no need to use a proprietary IDE, application server or database to develop with them and/or use them in a production environment.

The candidates

The frameworks we chose to evaluate are:

  • Play Framework 2.0
  • Ruby on Rails
  • Django
  • Google Web Toolkit
  • Spring Roo
  • Spring Framework
  • Struts 2
  • JBoss Seam

Criteria

And the criteria we will use will be composed of the following items:

  • Learning curve
  • Development performance for simple tasks
  • Development performance for complex/singular tasks
  • Dependency management
  • Code performance/security tunning capabilities
  • Platform escalation/redundancy capabilities
  • Acceptance in corporate markets
  • Complexity of developing and consuming SOAP and REST services

A score scale of bad, medium and good will be assigned to each framework in each criteria item. To asses them we will perform the following tasks using each contender:

  • Install the framework in a development workstation
  • Setup a development environment using a free IDE, application server and database
  • Develop the “Hello world” or similar sample outlined by the frameworks tutorial
  • Modify the sample app to perform a specific database query over a custom structure and display the results
  • Add a dependency to a third party library and perform a computation using it in our app
  • Develop a “Hello world” REST service
  • Consume our own service from our app

We are starting with the Play Framework 2.0, I’ll post the results as I have them.

Framework Web development Web Service Spring Framework

Published at DZone with permission of Ricardo Zuasti, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • JIT Compilation of SQL in NoSQL
  • Introduction to JWT (Also JWS, JWE, JWA, JWK)
  • Is NoOps the End of DevOps?
  • Build a Data Pipeline on AWS With Kafka, Kafka Connect, and DynamoDB

Comments

Java Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • MVB Program
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends:

DZone.com is powered by 

AnswerHub logo