3 ms·
On one hand, I agree. For example, by late 2003 I was already working with PHP codebases that had adopted a roughly MVC paradigm -- routes mapped to controller
by wwweston 10y ago
On one hand, I agree. For example, by late 2003 I was already working with PHP codebases that had adopted a roughly MVC paradigm -- routes mapped to controller objects and methods, active-record like database abstractions, and templates separated from anything but display logic -- and had an interesting optimization and caching setup. This all seemed broadly known as a good way to do things by 2005-ish.
But on the other hand: I'm not convinced this is the beginning and end of architecture considerations. We've still only been writing web apps for a bit over two decades, it's possible we still have some things to learn about how to organize them and get them to perform well. In particular, problems of scale circa 2005 aren't really the same as current problems of scale. There are just More Users on the web doing more things and we're tracking more data. We have different tools for managing all this. We're still figuring out if we like those tools.
And on top of that, we seem to be in the middle of an SPA/browser-as-VM kick that I suspect is going to look at least a little overdone and ill-considered in another five years or so.
- Swizec 10y agoDjango was released in 2005. That's MVC for python. Ruby on Rails, 2005. That's MVC for ruby. Zend Framework, 2006. That's MVC for PHP. phpBB, 2001. MVC for PHP. But not generalized, specific usecase only. Backbone.js, 2010. That's MVC for JS. Sounds to me like in 2005 the web was pretty wild westy in terms of separating data from views and application logic.
- niftich 10y agoThis is good info. In 2005, Ajax all the hype but very new, Prototype just came out. script.aculo.us was the first popular library to add fluid interactivity like drag-and-drop to DOM elements. This is a year before jQuery. On the Java front we had 'Model 2' frameworks like Struts 1. Struts 2 was brand new. Oracle had ADF and pushed it pretty hard. JSF was fairly new and nearly no one used it. ColdFusion offered a complete package and was actually not terrible. MySpace was written in CF. There was always ASP.NET. But if you weren't coding in Java, CF, or ASP, you were using some bespoke not-yet-framework. I'd say 'wild wild west' is an apt description.
- wwweston 10y agoThese frameworks were not the beginning of understanding how an MVC-ish architecture could be helpful in organizing a web application. They were the coalescing of that understanding into individual instances of re-usable code -- you see these frameworks all popping up across different platforms around 2005 because people understood the principles and benefits, and those principles had already been at work (and under discussion) in applications in the wild. Most pointedly, 2003 for seeing that in a PHP (4.x!) codebase is not a typo. Zend was definitely not the beginning of MVC being applied with PHP, even if it might have been the highest profile example at its release. And that's just for MVC. Various other kinds of discipline for separating display output and application logic go back into the 90s. If the west seemed wild, it's probably more because developers like to homestead than because there weren't any maps pointing to civilization.
- codehusker 10y agoWebObjects for Java, 1996. Struts for Java, 2000. Spring for Java, 2002. MVC is just a pattern, generalized in 1988, and even in websites without frameworks plenty of developers have structured their code accordingly prior to 2005. It is certainly more popular after 2005.
- qznc 10y agoMVC is a buzzword now. It means nothing except that you use the words model view controller somewhere. Initially the observer pattern was an essential part of MVC. You don't see that in web frameworks.