Do Frameworks make a coders life easier?
There weren’t many libraries and frameworks available yet, so we had to write the entire infrastructure ourselves. Database layer, UI layer, Communication Layers, Authentication and Authorization layers, etc, etc. It took a team of about 10 developers about 5 years to build the first version of the application.Seven years ago we started a similar type of project with a team of 5 people and we completed the first release in about a year. A year ago we developed a web application in a little over 6 months. Granted, not with the complexity of the two other systems, but with a much better looking UI.
So how did we go from 50 man years to 5 man years to 1 man year? Did we get so much smarter in 20 years? Yes, that too, but the biggest change was the emergence of a vast range of ready-to-use building blocks in the form of frameworks and libraries.
Where we wrote our own object-relational database layer 20 years ago, today we have choices like Hibernate, EclipseLink and OpenJPA. Instead of directly reading from and writing to TCP/IP network sockets we now use SOAP, REST, SIP, Websocket and other network protocol libraries. Instead of writing elaborate authentication and authorization code we use OAUTH and JWT libraries. Instead of writing tons of difficult to maintain HTML code for the browser interface we use frameworks like RAP, Angular and Vaadin. And of course the Apache Commons project which contains dozens and dozens of reusable libraries for common features and functions.
At a higher level, instead of writing the application as one big monolithic block of code we break the application up in functional modules and run them in frameworks like OSGi and containers such as Karaf and ServiceMix.