Best way to learn web development?

I want to start doing web development, I have dabbled with C using arduino, and python but I want to actually do some web development for jobs and to learn more about programming.
I want to do server side mostly but I need to learn front end as well I have been told to make life easier if I ever get asked to do front end stuff.
I know basic HTML from college, I never got CSS (I didn't really go too deep with them in college) and I have never done PHP/JS/Rails etc.
So my dad got me a subscription to Coder Manual via one of them discount sites and I was following that, but what over ways could I learn to help in addition to Coder Manual.
More for portfolio stuff and practice and hopefully so the info sticks in my head.

Any ideas?


I've been working in Web Development for nearly 3 years now at a London based web development company primarily on the server side and I use a really wide variety of languages and tools (C#,nHibernate,HTML,CSS,JS,JQuery, PHP, AJAX, SQL, MYSQL). You are going to want to learn HTML and CSS. It's unlikely in my experience that all you will do is pure backend coding. I think it will depend largely on the company you end up working at uses. There seems to be a huge push lately into JavaScript(ember,backbone,nodejs etc), I personally haven't looked much into these as my company doesn't use them.

I think web development seems to be in a weird place at the moment where you kind of have to know a bit about everything.

I've used frequently in the past and it has really helped me.

So would something like this also help with the coder manual

CSS CSS and more CSS
It's been the standard for Web design since I was in high school and still is so that says something.

Udacity has some fullstack and front end classes that you can do for free. I've been working through the fullstack classes and it's been pretty helpful. They introduce you to using Vagrant, Flask, SQLAlchemy etc. Although, my frustration with the classes is that they don't justify their selection of programs. For example, why Flask (a micro framework) versus Ruby on Rails? Then for authentication, they only introduce OAuth2, which seems cool but there's tons of disagreement about it on the web.

It says they are $200p/m :O

That's for the actual nano degree, but usually the classes are free. For example, Full Stack Foundations, or Intro to Relational Databases.

The nanodegree will usually list all the supporting classes, and many of them are free. I think the into to Python costs, but there are a ton of places to learn Python.

tl;dr: just try creating a website from the ground up with only HTML, CSS and javascript, and ask what tools to use next when you find there's something you can't do with those three. just sent me a mail declaring that they have an HTML and CSS course available now (for free).

Other than that, I think you should continue to dabble. Just a bit more structured:
First decide what kind of website you want to create, and then visualize it.
Once you've created the vision, code a mockup in HTML, CSS (and javascript if you want dynamic content). Now you know HTML, CSS (and a bit of javascript).
Then decide how you are going to update content on the site. There are alot of options, but basically it's going to be a (L)AMP variant, unless you're creating a presentation or more basic site. This is not a small step.
There are frontends/frameworks/content management systems you can use, such as django, ruby on rails, wordpress, etc, but I'd recommend starting coding your own source first, and when you have an idea of what you're looking for, start going after them.
Also, learn what XML is and the Document Object Model, even if you don't (think you) use it.

When you've rebuilt the website the 5-10 (or 50, or 200) times, from mockup, to basic dynamic site to whatever it takes to get a good result, you'll have a good understanding of the various components that drive a website.

Cost? Time and a raspberry pi (unless you already have a left-over computer, or get alot of traffic on the site).

Even if you take online courses, you still need to understand the underlying systems supporting what you're creating. At least on, the courses often glance over quite important information, just to keep the flow and attention of the viewer. Only actually practicing (preferrably with the help of a more in-depth text/e- book) will help you understand what is actually happening, why it's happening, and - as you rebuild your website - what parts are actually needed to form the structure/frame of your site, what can be provided from the database and framework, and what you need to "hard code."

Or you can do the "2k" method, too. Watch your online courses, install all the software you think you need, and google all the issues that crop up as you go. Not recommended if you want to become more than a dabbler, though.

Thanks for the info, I also have a RPi and a gaming desktop and a chromebook I have crouton and remote into desktop with, although I do enjoy the Pi :P
I think my first website would be an interactive CV/Portfolio home thingie, nothing too dramatic but mechanically sound. with a bit of flair though

Also I think I would use Google Coder on the RPi over using the RPi as a dev machine, maybe a RPi2 as dev machine.

Focus on CSS and maybe Javascript for a while.
There is a lot of browser stuff you should figure out how to deal with. Like different browsers, and maybe DOM stuff... How that all works is important to have command over.

Python is a completely different syntax than C. But you're known C, so you might take to Javascript quickly and start thinking about how to bring server data in. There are python CMS. But if you like C take a look at PHP or Node.JS.

If I were you, I'd focus on HTML and CSS, and some JavaScript for starters (basically focus on the front-end for now).

This is a good pace to start learning these languages, and others, should you find an interest in them.