Если "полный ноль" то нужно сначала немного вводной информации.
1. Платформа
* ECMA-262 или другими словами спецификация на язык JavaScript
* V8, SpiderMonkey, Chakra — имплементации этой спецификации встроенные в основные браузеры
Это платформа с которой вам придется работать. Фронт энд — это стало быть виртуальная машина (например V8 в Google Chrome), описание языка, а также программы написанные на JavaScript.
2. Виды графических приложений
В любом из этих трех видов приложения (могут быть также комбинации), используется разный основной механизм типогрфического либо графического отображения, в тоже время каждое из этих трех типов приложений использует JavaScript как основной язык для управлением этим механизмом.
* HTML/CSS приложения — это обычные HTML приложения со стилями CSS (возможно с анимацией), обычно это бизнес приложения или то что называется UI состоящее из контрольные элементов: кнопок, полей ввода, чекбоксов, радиокнопок, лейблов, окон и т.д. Сюда например входят большинства всех сайтов в интернете также и Windows Phone приложения. Буквально тысячи фрейморков.
* SVG приложения — сюда входят векторные игрушки либо другие приложения, где объекты вместо DOM элелментов HTML являются SVG элементы. Тут самая крутые библиотеки это paper.js, d3.js и т.п.
* Canvas приложения — сюда входят игрушки или приложения которые самостоятельно рендерят растр для прямоугольной области экрана. Специфический вид приложений.
3. Транспорт
Разрабатывая приложения вы должны будете общаться с серверами приложений, которые могу быть написаны на множестве языков. Тут уже начинается бекенд, поэтому вы просто должны быть готовы к тому что на сервере может быть любой язык. Но чтобы сэкономить на времени вы можете использовать базовые примеры из node.js для разработки, так как node.js — это бекенд на JavaScript, т.е. на той же платформе что и браузер, только занимается не графическим окружением, а хранением фалов, доступом к базам данных и прочим. Но что вы должны будете знать, так это протоколы и форматы по которым общаются между собой клиент (браузер) и сервер (который может быть написан на любом языке).
Протоколы:
* HTTP 1.0,1.1,1.2,2.0 — основной протокол интернет
* REST — использование HTTP протокола для организации доступа к ресурсам приложения, которые находятся на сервере (GET POST PUT HEAD OPTIONS DELETE, могут быть свои расширения протокола). Основные виды ресурсов — это скалярные (конкретные объекты /users/joe) и векторные (перечисления объектов /users/).
* WebSocket — спецификация на сокет-протокол поверх которого вы можете создавать свои протоколы.
Форматы:
* JSON — основной формат, который является подмножеством JavaScript.
* XML — формат с которым вам возможно придется столкнуться. Сама страница XHTML например является XML документом.
* MessagePack — один из возможных бинарных форматов, с которыми возможно когда-то придется иметь дело.
Если в этом разобраться хорошо, тогда нужно найти фреймворк и придумать какой-то проект (может быть даже с бизнес идеей) и попытаться его реализовать под наставлением человека, который бедет следить и говорить правильно вы делаете или нет.