What The Stack?!(*)
Had this idea to do an overview of modern Web technologies, to try and get a grip on the quickly evolving state of the art… Must be a Wiki, but where and how to do it?
(* Apologies for the vituperation, and exclamation marks, but that's precisely how I feel about it! ;o)
Scope
Worldwide Web (WWW): essentially HTTP and HTML (or DOM), as a ubiquitous (lowest common denominator?) platform, as opposed to the Internet as it existed long before the Web, or emerging extensions (digressions?) — AJAX, canvas, browser plugins, RESTful APIs, etc.
Focus
Used to organize topics by topology, but it doesn't seem a useful typology (ha!) anymore. The evolution/ary forces/issues that interest me relate to the software engineering process, the software development lifecycle… and "real world" applicability.
Topics
- Foundations
- HTML: sucks. (Not as horribly as XML — a historical mistake — but still yucky.)
- HAML (and SASS, LESS?) instead of templates (engines, languages, tag libraries…)
- DOM: OK, sort of. I mean, twenty (20!) years ago we had (er, were promised) OpenDoc, et al, and… HTML is what we've come to? WTF?
- (Google) Wave?
- HTTP
- Caching
- Multipart trick (in the response!), etc
- REST (Much ado about nothing…)
- Hosting: URLs, shared hosting, DNS, HTTP "host" header, Apache (ugh)…
- CSS?
- Semantic Web: nu? Will it ever?
- Scraping for scraps
- RDFa, SPARQL…
- HTML: sucks. (Not as horribly as XML — a historical mistake — but still yucky.)
- Architecture
- CGI, FastCGI… WSGI/PSGI…: efficiency, concurrency? Node.js?
- AJAX: jQuery. Rumors of (yet another?) impending demise of (server side) frameworks? (Django, Rails, Catalyst, Node.js…)
- Scalability: Memcached, Nginx, Node.js, Unicorn?
- GAE
- NoSQL!
- Client side? jQuery! Bespin? Does it work?
- Frameworks? Eco systems!
- "Quality of service"
- Performance: see scalability.
- Deployment? Capistrano, Fabric…
- Software engineering
- Programming languages (PL)
- Python: best so far, but, what next? I'd love to see PLs die! (What, as in CASE, UML… again?!)
- Ruby? Really cute. So?
- Perl6? Interesting, but ugh.
- JavaScript: forever misunderstood… (Prototype oriented. Enough with the type systems, already!)
- Testing
- NoSQL: because we want object models!
- Programming languages (PL)
- And Web 2.0 trends, of course, eg, rounded corners. (Just kidding! ;o)
And more…
AMQP, AWS S3, Metric_fu, Plack, Passenger, Rack, Rake, REST, Sinatra, Unicorn, URL, Virtualenv, Vlad, 960 pixels…
Notes
- See my blog posts about WordPress.
(Appending notes disabled temporarily.)
Last modified 2010-12-25 01:52:08 +0000