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 long does it take to build a modern web framework?

Dear Java Web Framework Authors,

I hope you're doing well and continue to enjoy working on the web framework you created years ago. I'm curious to know something:

    How long would it take you to build your web framework from scratch?

If all the code from your framework magically disappeared tomorrow and you had to write it from the ground up - how long would it take? What if you had a group of 3-5 developers (of your choosing) to help you do it?

Furthermore, would you write the whole thing line-by-line, or could you borrow code from other open source projects to streamline the process?

Thanks in advance for your response,

Matt

Posted in Java at Jan 24 2008, 12:39:55 PM MST 5 Comments
Comments:

I'm living that experiment. I'll keep you posted when I'm done :-)

Posted by Howard M. Lewis Ship on January 25, 2008 at 06:55 AM MST #

Grails has taken 2 years and 8 months so far with 1.0 due outsoon.

About a year of that has been pretty much full time for me. We've had around 8 people contribute other than me and currently have 2 full time (since G2One started).

I would say it would take about a year, maybe a year and a half for 3-5 people to build it from scratch

As for code re-use, it already has a large amount of re-use thanks to Spring, Hibernate, Sitemesh etc.

Posted by Graeme Rocher on January 25, 2008 at 12:17 PM MST #

I figure we're talking just coding time here right? It's taken us a couple of years (elapse time) to get to where we are with Stripes. We've put a lot of time in over that span, but a vast majority of that has been think-time: trying to decide the best way to expose a feature, or if it should even get in. And a bunch has been prototyping time.

If we lost our source code tomorrow (and once I got over the shock of having to start over) I reckon that it wouldn't take me more than a couple of months of full time coding to reconstitute Stripes, and probably less. The code base just isn't that large - it's the knowledge base that went into it :) If we had the whole team working on it, it'd be shorter still. Now, if we had to rebuild our documentation also? Add a few more months!

Posted by Tim Fennell on January 25, 2008 at 01:02 PM MST #

It depends strongly on what goals you want to achieve. But I think nowadays a lot can be done by copying and pasting. Most of the effort will go in finding out which code to reuse and which existing frameworks/components to use. We are at the start of building a framework for data driven webapps making use of MySQL, Hibernate, Spring and Wicket. If you have some spare time left you are welcome to join us. I hope we will have our first running app in a few months time.

Posted by Danny Bols on January 26, 2008 at 09:07 AM MST #

It took me about three months, on and off, to write GroovyFlow, including the beginnings of an ActiveRecord. The simple decision not to allow injection into controllers made for very quick development, and also made for class reloading that actually works, even if you're creating a new class, implementing an interface, or subclassing. All done with Groovy, of course, but surprisingly, not all Groovy solutions actually reload! Try it yourself with the leading Groovy web solution and see.

If I had a staff of 3-5 developers, rewriting GroovyFlow would take a few weeks. After an additional 2 months I'd probably be satisfied that I added and upgraded enough features, doing things like making ActiveRecord stronger and improving the validation system a bit.

IMHO, a very long development time is probably an indication of a faulty idea.

Posted by GroovyFlow on November 11, 2008 at 10:54 PM MST #

Post a Comment:
  • HTML Syntax: Allowed