

Full Stack Web Development - skybison
http://act2.me/full-stack-web-development/

======
benjamincburns
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!

------
antihero
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.

~~~
Terretta
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/New+WebSTAR+Plug-
In+Version+of+Tango+Application+Server.-a018562724)

[http://www.thefreelibrary.com/EveryWare's+Tango+3.1+Allows+I...](http://www.thefreelibrary.com/EveryWare's+Tango+3.1+Allows+Independent+Software+Vendors+to+Take...-a020484862)

(A lot of stuff from that era is not on Wikipedia.)

~~~
benjamincburns
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...

------
pr0filer__
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-...](http://www.laurencegellert.com/2012/08/what-is-a-full-stack-
developer/)

~~~
GravityWell
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.

------
akbar501
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.

------
hugorodgerbrown
> "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.

------
jksmith
"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?

------
hayksaakian
I can't wait for the full writeup.

This articles is a sort of timeline, and as the web there's progress.

------
woodylondon
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! :-)

------
jwmoz
I'd rather see a PHP/Symfony2|Silex or Python/Django|Flask RESTful backend
than node.js.

~~~
deizel
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.

~~~
ihsw
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.

~~~
Cthulhu_
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.

------
izolate
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?

~~~
iaskwhy
I usually like to look at Google Trends to see where things are going:
[https://www.google.com/trends/explore?q=emberjs%2C%20angular...](https://www.google.com/trends/explore?q=emberjs%2C%20angularjs)

It doesn't explain why though.

~~~
auxbuss
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%20angularjs#q=emberjs%20%2Bember.js%2C%20%20angularjs%20%2B%20angular.js%2C%20%20%20backbone.js%20%2B%20backbonejs&cmpt=q)

------
miniloko
There's a tiny little smiley in the bottom left corner.

~~~
adregan
It's Wordpress' built in analytics. The first time I turned it on in a
responsive design (images set to 100% width) I was in for quite a shock. That
little smiley looks creepy at full width.

------
ErikAugust
Been "MEAN" stacking myself - MongoDB, Express, Angular, Node. Love the
package management, 100% JavaScript, and performance.

~~~
embwbam
Only change, try RethinkDB instead mongo. Doesn't sound quite as nice with
REAN though. NEAR? EARN? NARE? :)

~~~
ErikAugust
REAR and EARN ... could work with Redis as well.

------
horyd
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.

------
derengel
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.

~~~
hayksaakian
With such a lightweight framework as Sinatra, how much do you really have
invested in it?

~~~
derengel
yeah, was actually refering more to Ruby, learning a language takes time.

------
agilebyte
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.

------
taproot
OK, here goes!

Made me chuckle every time.

------
freeasinfree
What about users with no JavaScript?

