Full Stack Web Development(act2.me)
act2.me
Full Stack Web Development
http://act2.me/full-stack-web-development/
18 comments
Thing is this seems to completely ignore certain things - ASP.NET did not come out for a while - for a long time PHP (or, god forbid ASP) was the "reference architecture" - PHP3 was released in the late nineties, with 4 not long after. Django also came along time before Rails and did all that full-stack stuff.
If you want to get picky about things being ignored, enterprise "full stack" in late 90's generally meant Cold Fusion, and large apps leveraged cfscript (or for performance, cfx modules) for MVC style separation of templates/code/data. CF came with scaffolding of sorts as well, through a wizard that could generate data drill down and editing CFML for your DB.
PHP and ColdFusion were both emerging already in 1995, with ColdFusion quickly becoming the RAD (e.g., user authentication, authorization, and session management, caching, etc baked in) full stack commercial license platform, and PHP becoming the OSS "some assembly required" choice for those not interested in assembling everything from bits of CPAN.
Speaking of '95, don't forget EveryWare's Tango, giving Windows NT/95, Sun Solaris, IBM AIX, SGI IRIX, and Apple Macintosh users a drag'n'drop web application framework:
"There are two components to Tango: the Tango Editor and the Tango Application Server. The Tango Editor is an application that allows Webmasters to develop dynamic Web sites in a drag-and-drop interface, the Tango Application Server is an application that executes the documents created in the editor."
http://www.thefreelibrary.com/New+WebSTAR+Plug-In+Version+of...
http://www.thefreelibrary.com/EveryWare's+Tango+3.1+Allows+I...
(A lot of stuff from that era is not on Wikipedia.)
PHP and ColdFusion were both emerging already in 1995, with ColdFusion quickly becoming the RAD (e.g., user authentication, authorization, and session management, caching, etc baked in) full stack commercial license platform, and PHP becoming the OSS "some assembly required" choice for those not interested in assembling everything from bits of CPAN.
Speaking of '95, don't forget EveryWare's Tango, giving Windows NT/95, Sun Solaris, IBM AIX, SGI IRIX, and Apple Macintosh users a drag'n'drop web application framework:
"There are two components to Tango: the Tango Editor and the Tango Application Server. The Tango Editor is an application that allows Webmasters to develop dynamic Web sites in a drag-and-drop interface, the Tango Application Server is an application that executes the documents created in the editor."
http://www.thefreelibrary.com/New+WebSTAR+Plug-In+Version+of...
http://www.thefreelibrary.com/EveryWare's+Tango+3.1+Allows+I...
(A lot of stuff from that era is not on Wikipedia.)
There certainly is kind of a weird jump from CGI to ASP.NET for sure. First that the prior was the early 'nix way, while the latter is a later entrant of the Microsoft way.
I feel like the LAMP stack kind of pushed out CGI more than anything else did in unix, while there were a lot of varied options on Microsoft - roll-your-own COM (ew), ColdFusion and a bunch of other various commercial offerings, ASP (not .NET, but the first one built on vbscript). And then all of the Java variations have their own distinct platform-independent(ish) lineage...
Hmm, maybe it'd be fun to write a well-researched history of modern web platforms. Wait, did I really just say I wanted to write about history? I am getting old...
I feel like the LAMP stack kind of pushed out CGI more than anything else did in unix, while there were a lot of varied options on Microsoft - roll-your-own COM (ew), ColdFusion and a bunch of other various commercial offerings, ASP (not .NET, but the first one built on vbscript). And then all of the Java variations have their own distinct platform-independent(ish) lineage...
Hmm, maybe it'd be fun to write a well-researched history of modern web platforms. Wait, did I really just say I wanted to write about history? I am getting old...
Django was released a year after Rails.
At 27, I dislike that this post makes me feel both old, and that "the kids" are a little messed up in their history...
The only major gripe I have is that no homage is paid by this history lesson to the dotcom era. 1999-2001 were probably the three most significant years in the history of modern web technology. And then there's the big post-bust open source resurgence you could be talking about! Shoot, now I'm getting all nostalgic...
But don't let me discourage you, sonny. Please do keep writing. I promise I won't shake my cane at you too hard!
The only major gripe I have is that no homage is paid by this history lesson to the dotcom era. 1999-2001 were probably the three most significant years in the history of modern web technology. And then there's the big post-bust open source resurgence you could be talking about! Shoot, now I'm getting all nostalgic...
But don't let me discourage you, sonny. Please do keep writing. I promise I won't shake my cane at you too hard!
I thought a full-stack (web) developer was more something along the lines of this post: http://www.laurencegellert.com/2012/08/what-is-a-full-stack-...
Your link also describes my understanding of a full-stack developer. I think the OP is giving his summary of some web development history, and his opinions on some of the many options available. But it does not have anything to do with full-stack that I can see.
From the article: "So, in the last 2 years, we’ve had number of frameworks that simplify the client side development – Backbone, Ember, Derby and Meteor – and my favorite one, AngularJS."
These are not all the same.
Meteor and Derby are full, integrated stacks (from data to UI and back). These 2 frameworks aim to simplify not just the client-side, but more significantly they aim to simplify the client -> server API -> database communication.
Backbone, Ember, and AngularJS are client-side MV* frameworks with the aim of providing structure to client-side SPAs, and where the developer can use whatever server-side framework they choose.
Lastly, Backbone/Ember/AngularJS/another MV* framework can be used with Meteor to help structure client-side code, so this is not really an either/or decision.
These are not all the same.
Meteor and Derby are full, integrated stacks (from data to UI and back). These 2 frameworks aim to simplify not just the client-side, but more significantly they aim to simplify the client -> server API -> database communication.
Backbone, Ember, and AngularJS are client-side MV* frameworks with the aim of providing structure to client-side SPAs, and where the developer can use whatever server-side framework they choose.
Lastly, Backbone/Ember/AngularJS/another MV* framework can be used with Meteor to help structure client-side code, so this is not really an either/or decision.
> "Things got confusing for a few years (till about 2005)"
They weren't that confusing - remember the original "dotcom boom" (and bust) was in the 90s, not the 2000s - and although it didn't end well, people were building high volume, complex, transactional websites in those days, and it wasn't all Perl scripts.
I was a MSFT platform developer at the time, and I remember being acutely aware of the rise of Java as the web development language in 95/96 - and the subsequent explosion in Java application servers and associated 'platforms' - Silverstream, ATG, Blue Martini etc.
They weren't that confusing - remember the original "dotcom boom" (and bust) was in the 90s, not the 2000s - and although it didn't end well, people were building high volume, complex, transactional websites in those days, and it wasn't all Perl scripts.
I was a MSFT platform developer at the time, and I remember being acutely aware of the rise of Java as the web development language in 95/96 - and the subsequent explosion in Java application servers and associated 'platforms' - Silverstream, ATG, Blue Martini etc.
"The third development was the release of nodejs – for the first time, you could have high performance JavaScript on the server, thus potentially ending the nightmare of having “client side developers” who knew HTML/JavaScript and “server side developers” who knew .NET/C#/Ruby."
Why is this a nightmare?
Why is this a nightmare?
Great overview, as I started in 1992 I remember all of this :-) I moved into mobile development some years back, I kind of lost what happened since 2006. I was a ColdFusion developer in the good old days.
What you should also consider doing is creating a page with some sort of chart / grid / flow / overview of the various technologies (Javascript libraries, scripting, database etc.). Part of the problem I see is that there are so many open source solutions that’s very hard to work out which one you should be going with as your stack. There are all these terms like Bootstrap, Frameworks, etc – how do they all relate to each other ? If only someone would put together some way to explain all of them you would have a killer site on your hands for newbies and oldies! :-)
What you should also consider doing is creating a page with some sort of chart / grid / flow / overview of the various technologies (Javascript libraries, scripting, database etc.). Part of the problem I see is that there are so many open source solutions that’s very hard to work out which one you should be going with as your stack. There are all these terms like Bootstrap, Frameworks, etc – how do they all relate to each other ? If only someone would put together some way to explain all of them you would have a killer site on your hands for newbies and oldies! :-)
I'd rather see a PHP/Symfony2|Silex or Python/Django|Flask RESTful backend than node.js.
Granted, but then you don't gain this:
> for the first time, you could have high performance JavaScript on the server, thus potentially ending the nightmare of having “client side developers” who knew HTML/JavaScript and “server side developers” who knew .NET/C#/Ruby.
> for the first time, you could have high performance JavaScript on the server, thus potentially ending the nightmare of having “client side developers” who knew HTML/JavaScript and “server side developers” who knew .NET/C#/Ruby.
Personally I'm a big fan of breaking down barriers between the front-end and the back-end (and the language barrier is pretty big), but coding for the browser and coding for the server are vastly different. Those accustomed to pumping out jQuery all day aren't going to be contributing well to the world of Node and Express.
Won't they? At the very least, the code examples, structured nature, emphasis on async programming and a lot of other things will make jQuery devs become better jQuery / front-end developers.
I can't wait for the full writeup.
This articles is a sort of timeline, and as the web there's progress.
This articles is a sort of timeline, and as the web there's progress.
These days I'm hearing a lot of talk about Angular, not much about Ember. Is this because the latter is too "opinionated" or is Angular really taking off now?
I usually like to look at Google Trends to see where things are going: https://www.google.com/trends/explore?q=emberjs%2C%20angular...
It doesn't explain why though.
It doesn't explain why though.
Broadening the terms adds a few percentage points, but less than I expected. (I added backbone too, for comparison.)
https://www.google.com/trends/explore?q=emberjs%2C%20angular...
https://www.google.com/trends/explore?q=emberjs%2C%20angular...
Been "MEAN" stacking myself - MongoDB, Express, Angular, Node. Love the package management, 100% JavaScript, and performance.
Only change, try RethinkDB instead mongo. Doesn't sound quite as nice with REAN though. NEAR? EARN? NARE? :)
REAR and EARN ... could work with Redis as well.
This is my preferred stack to a tee. It's just so flexible. I use it with Grunt and Bower for workflow which makes it a breeze.
The stack I'm studying for is similar: ruby/sinatra, postgres, angularjs, bootstrap. Ok, not that similar ;)
Tempted to go with nodejs/express for performance but already invested so much in ruby/sinatra.
Tempted to go with nodejs/express for performance but already invested so much in ruby/sinatra.
With such a lightweight framework as Sinatra, how much do you really have invested in it?
yeah, was actually refering more to Ruby, learning a language takes time.
Ditto apart from Backbone and Flatiron.
But, after seeing the talk by Bret Victor am going to go back to logic programming and try to use as much Elixir (Erlang) and Websocket as possible.
But, after seeing the talk by Bret Victor am going to go back to logic programming and try to use as much Elixir (Erlang) and Websocket as possible.
OK, here goes!
Made me chuckle every time.
Made me chuckle every time.
What about users with no JavaScript?