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

В будущем планирую стать front-end разработчиком и устроиться в какую нибудь кампанию, но для этого нужен опыт.
Сейчас я в этом почти полный ноль, хотелось бы получить какой-то совет в том как развиваться в фронтенде и как набраться опыта.
  • Вопрос задан
  • 2094 просмотра
Пригласить эксперта
Ответы на вопрос 4
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 — один из возможных бинарных форматов, с которыми возможно когда-то придется иметь дело.

Если в этом разобраться хорошо, тогда нужно найти фреймворк и придумать какой-то проект (может быть даже с бизнес идеей) и попытаться его реализовать под наставлением человека, который бедет следить и говорить правильно вы делаете или нет.
Ответ написан
atlantech
@atlantech
Full Stack Software Developer
Начинайте с малого, возьмите интерфейсы простых сайтов, например todo-app или каталог товаров. Одно и то же делайте с помощью разных библиотек и вовсе без них. Так вы столкнётесь с реальными задачами, которые придётся делать, когда устроитесь на работу. Изучите системы сборки фронт-энда, например grunt или gulp, напишите тесты на ваши учебные проекты.

Далее придёт время попробовать серверный JS и более сложные проекты. Стандартная практика - это запрогать чат, так вы сможете узнать, как "готовить" NodeJS.

С таким багажом вы сможете легко найти себе работу. Удачи в обучении.
Ответ написан
Комментировать
sim3x
@sim3x
писать код
Ответ написан
Комментировать
JohnDaniels
@JohnDaniels
вы что, серьезно отвечаете на такие вопросы?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы