

Getting Up to Speed - jfe

I learned XHTML and CSS in the mid-late 90s, back when Zeldman.com, K10k.com and Waferbaby.com were really popular. I got into systems software engineering not long after that, and haven&#x27;t really looked back. Now, the web has come a long way since the pre-Ajax days, and I feel it would be smart to develop at least a working knowledge of the fundamental web technologies.<p>So, what, in your opinion, are those fundamental technologies, and in what order do you propose they be learned?
======
eranation
Few tips from someone who started in the dot com bubble and had to adjust
during the years:

\- prefer [https://developer.mozilla.org/en-
US/](https://developer.mozilla.org/en-US/) over w3schools

\- Get to know Bootstrap / Zorb / grid base layouts

\- Understand responsive design

\- the 2 above combined means - no more table layout
([http://giveupandusecss.com/](http://giveupandusecss.com/))

\- DOCTYPE really matters - don't go into quirks mode (no more table
height="100%"...

\- jQuery of course, and then Angular.js / React.js / Ember.js (and perhaps
also Backbone.js)

\- Any of the following back end stacks - Rails, Django, Play, Node.js/express
(depending on which language you prefer, Ruby, Python, Scala/Java, JavaScript)

\- SQL (Postgre / MariaDB / MySQL) and MongoDB won't hurt

\- Tooling - Get to know Github, Heroku, AWS etc...

\- Understand that you can do almost anything with JavaScript nowadays, it can
get to about 1/2 the speed of native code now and improving every day.

\- Understand that you can do almost anything with pure CSS nowadays,
animations, drawing, 3D. e.g. no more image buttons.

\- Flash and Applets are dead (de facto) HTML5 can do everything you needed
one of these before (cameras, sound, video, chats, sockets, animation, 3D,
really, anything)

\- You can use any font you want (webfonts)

\- XML / SOAP / XSD stayed in the enterprise world, the web / SaaS world seems
to have favored the less strict / more dynamic REST / JSON approach

\- Speaking of REST. learn REST, the HTTP verbs and how to design an API

\- Understand JS templates, and client side MVC, and that your backend is
becoming more of an API (that can serve both mobile apps and web apps as one).
e.g. no more JSP / PHP mess of business logic bundled with presentation logic.

\- Understand that your JS code base is going to be much bigger, and learn
technologies that will help you such as - TypeScript / CoffeeScript / Dart,
AMD / CommonJS / Browserify, Bower / Ender. Grunt / Yeoman. I know it sounds
like a big mess of buzzwords, but there are tons of tools out there to help
you organize your client side code (also look at SCSS and Compass to help with
organizing your CSS and reduce boilerplate)

this is my short list, but in the end as other said, it's all boils down to
HTML5, CSS3, JavaScript and HTTP... the rest are just syntactic sugars...

------
curiousHacker
I think the fundamental technologies of the web are HTTP, JavaScript, HTML5,
and CSS3 and should be learned in that order.

~~~
mathattack
What's behind the order?

I would have thought HTML5 -> CSS3 -> Javascript

Get the markup right, then make it look nice, then make it functional.
Basically learning in order of how pages are created.

------
carise
It kind of depends what you're going to use those technologies for (i.e. what
kind of webapp you want to build), but you can learn a lot about web
technologies by building a simple blog, if you don't have something particular
in mind. That will give you a direct, quick exposure to both backend and
frontend technologies. Or you can search for tutorials and demos, then hack
them to do more.

I'm sure others will have great suggestions, so I'll pitch a few to start with
(I don't have a particular ordering in mind):

Frontend:

Javascript (tons of great books and online resources out there, e.g. MDN and
Douglas Crockford:
[http://javascript.crockford.com/javascript.html);](http://javascript.crockford.com/javascript.html\);)
HTML5 ([http://www.html5rocks.com/en/);](http://www.html5rocks.com/en/\);)
CSS3

Backend:

SQL (yes, this isn't really new technology); NoSql or something similar; Some
kind of web framework, e.g. Ruby on Rails, which will provide you the
interface between database and frontend (and much more); Some familiarity with
web servers (just because you have to worry about that for your web framework)

Apologies in advance if I put the technologies in the wrong group...

------
jakozaur
There are quite a few decent websites which can teach you and help to
understand those technologies, e.g.:
[http://teamtreehouse.com/](http://teamtreehouse.com/)
[https://www.codeschool.com/](https://www.codeschool.com/)

Would take one of the paths for web developer.

~~~
toomuchtodo
I'm partial to [http://www.bentobox.io/](http://www.bentobox.io/)

