• Как получить опыт работы во front-end разработке?

    5HT
    @5HT
    Erlang
    Если "полный ноль" то нужно сначала немного вводной информации.

    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 — один из возможных бинарных форматов, с которыми возможно когда-то придется иметь дело.

    Если в этом разобраться хорошо, тогда нужно найти фреймворк и придумать какой-то проект (может быть даже с бизнес идеей) и попытаться его реализовать под наставлением человека, который бедет следить и говорить правильно вы делаете или нет.
    Ответ написан
    5 комментариев