Matt RaibleMatt Raible is a Web Developer and Java Champion. Connect with him on LinkedIn.

The Angular Mini-Book The Angular Mini-Book is a guide to getting started with Angular. You'll learn how to develop a bare-bones application, test it, and deploy it. Then you'll move on to adding Bootstrap, Angular Material, continuous integration, and authentication.

Spring Boot is a popular framework for building REST APIs. You'll learn how to integrate Angular with Spring Boot and use security best practices like HTTPS and a content security policy.

For book updates, follow @angular_book on Twitter.

The JHipster Mini-Book The JHipster Mini-Book is a guide to getting started with hip technologies today: Angular, Bootstrap, and Spring Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.

This book shows you how to build an app with JHipster, and guides you through the plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks so you understand the underpinnings of your great application.

For book updates, follow @jhipster-book on Twitter.

10+ YEARS


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.

How do you choose web framework candidates to compare?

David Díaz Clavijo sent me an email a couple weeks ago asking me about comparing web frameworks. David is a computer engineering student at the University of Las Palmas de Gran Canaria (ULPGC) in the Canary Islands, Spain. His FYP (Final Year Project) is a web frameworks comparison focused on high productivity frameworks. He's started a blog to help facilitate his work and has been writing some interesting posts.

Four frameworks will be compared. The comparison test is composed by four fixed time tasks for each framework:

  • Learning the programming language: 5 hours
  • Making exercises in the programming language: 15 hours
  • Learning the framework: 25 hours
  • Developing the website: 50 hours

After all process is done, it can be seen which framework presented a higher productivity and smaller learning curve.

We have decided a cross-language set of frameworks which are: Ruby on Rails, Grails, Django and Code Igniter.

Today, he wrote about the web frameworks he's decided to compare and inspired me to respond to his original request for my thoughts.

Hello David,

Sorry it took me so long to respond. I think your approach as far as learning the language, making exercises, learning the framework and developing the website is good. As you know, the last one you develop with will likely do well because you're repeated the steps so much with the other ones.

However, there's one thing I think you're doing wrong. In the real world, I don't believe that an architect would look at *all* the available web frameworks and choose one. I believe most of them already have a language bias or there's a target platform (e.g. LAMP, JVM, etc.).

I believe the majority of development happens today where a platform is already in place. Even moreso, the backend may already be in place and the company is simply trying to find a more productive front-end framework. In the first instance, where the platform is already chosen, the chooser's options are immediately limited. For example, if it's the JVM, Django might be eliminated because JPython isn't that up-to-snuff or widely used (this could be changing). However, it could be said that all the frameworks you've chosen (including Code Igniter) can run on the JVM.

I just don't see people identifying web frameworks across such a wide variety of languages. I think folks generally choose a platform, then a language, then a framework. It's possible that startups will do it differently by choosing a language first. However, I imagine most startups have a technical founder that already has some preference towards a particular language.

Now it's your turn, dear readers. Have you ever been in a situation where you've been able to pick a web framework across all languages? Did any of your biases enter into the equation?

How would you recommend David go about choosing web framework candidates?

Posted in Java at Mar 18 2013, 12:10:14 PM MDT 5 Comments
Comments:

Why is raibledesigns prompting for my geographic location?

Posted by Leo Petr on March 18, 2013 at 07:36 PM MDT #

Leo - it's part of the redesign I did last August. It looks for your location, figures out if its dark or light, and then gives you a dark or light theme. I know, it's annoying and I intend to fix it soon. In the meantime, you can click on the small black or white rectangle in the top right corner to set your theme and stop the prompt.

Posted by Matt Raible on March 18, 2013 at 07:41 PM MDT #

Yes and no. Yes I was given a blank sheet of paper but it wasn't realistic. In my latest experience, the "language bias" was a derivative of the existing applications the team had to continue to support, the knowledge and experience of the current team, and training time plus development time of the new applications if picking a language/platform the existing team had to learn. The "target platform" was a derivative of the experience and knowledge of the ops/infrastructure team.

Matt is right, no matter if it's based on existing conditions or opinions, language and platform choices are usually made before framework choices.

However, I think the study would be interesting as defined if not practical for a professional team.

Finally, I would limit the scope more. Divide your hours by 5 and see how much you get done. How much you get done will be as informative as trying to learn everything and complete the web application in each framework.

My $0.02

Posted by Brian on March 23, 2013 at 02:43 AM MDT #

Hi Matt,

I find the bigger scope of platforms and languages interesting.

While you might be right that in a big part of settings platform and language are set, there are also many possibilities where they aren't.

New projects of multi-language single developers who want to get startet with a product idea, teams that want to look into different directions than the same thing they have been doing for a long time - similarly to the saying a good developer should learn a new language per year a good and open minded developer should try a new framework per year - why no in another language alltogether?

And so, getting an idea of which are the most interesting and productive at the time, if I should go from Java to Python/Django or Ruby/Rails is something I very much appreciate.

Plus, the (already by itself extremely complex) Java landscape is already well covered by your comparisons! :)

Posted by henning on March 27, 2013 at 07:58 AM MDT #

I really appreciate this post Matt and all the feedback I have received. Sorry for being late answering, but I was really busy developing and I forgot about it. I have finished developing with each framework and I am working on reporting it. @Brian it has been done in that way. Some days maybe 4 hours, some days 6, but in general , close to 5. @Henning Your question is quite complex but I will try to answer it the best I can in the reports. Greetings !

Posted by Diaclavijo on August 13, 2013 at 11:53 AM MDT #

Post a Comment:
  • HTML Syntax: Allowed