Front end разработка что нужно знать о ключевых трендах в 2020 году


Содержание материала:

Простыми словами о «фронтенде» и «бэкенде»: что это такое и как они взаимодействуют

Вы наверняка уже слышали эти модные в сфере программирования слова «фронтенд» и «бэкенд», но что за ними стоит? Предлагаю в этом разобраться.

Давайте начнем с определений.

Фронтенд — все, что браузер может читать, выводить на экран и / или запускать. То есть это HTML, CSS и JavaScript.

HTML (HyperText Markup Language) говорит браузеру, каково содержание страницы, например, «заголовок», «параграф», «список», «элемент списка».

CSS (Cascading Style Sheets) говорит браузеру, как отображать элементы, например, «после первого параграфа отступ в 20 пикселей» или «весь текст в элементе body должен быть темно-серым и написан шрифтом Verdana».

9–10 ноября, Великий Новгород, беcплатно

JavaScript говорит браузеру, как реагировать на некоторые взаимодействия, используя легкий язык программирования. Большинство сайтов на самом деле не используют много JavaScript, но если вы нажмете на что-то и содержимое страницы поменяется без белого мигания экрана, значит, где-то использовался JavaScript.

Бэкенд — все, что работает на сервере, то есть «не в браузере» или «на компьютере, подсоединенном к сети (обычно к Интернету), который отвечает на сообщения от других компьютеров».

Для бэкенда вы можете использовать любые инструменты, доступные на вашем сервере (который, по сути, является просто компьютером, настроенным для ответов на сообщения). Это означает, что вы можете использовать любой универсальный язык программирования: Ruby, PHP, Python, Java, JavaScript / Node, bash. Это также означает, что вы можете использовать системы управления базами данных, такие как MySQL, PostgreSQL, MongoDB, Cassandra, Redis, Memcached.

Структура взаимодействия бэкенда и фронтенда

Сегодня существует несколько основных архитектур, определяющих, как будут взаимодействовать ваши бэкенд и фронтенд.

Серверные приложения

В этом случае HTTP-запросы отправляются напрямую на сервер приложения, а сервер отвечает HTML-страницей.

Между получением запроса и ответом сервер обычно ищет по запросу информацию в базе данных и встраивает ее в шаблон (ERB, Blade, EJS, Handlebars).

Когда страница загружена в браузере, HTML определяет, что будет показано, CSS — как это будет выглядеть, а JS — всякие особые взаимодействия.

Связь с использованием AJAX

Другой тип архитектуры использует для связи AJAX (Asynchronous JavaScript and XML). Это означает, что JavaScript, загруженный в браузере, отправляет HTTP-запрос (XHR, XML HTTP Request) изнутри страницы и (так сложилось исторически) получает XML-ответ. Сейчас для ответов также можно использовать формат JSON.

Это значит, что у вашего сервера должна быть конечная точка, которая отвечает на запросы JSON- или XML-кодом. Два примера протоколов, используемых для этого — REST и SOAP.

Клиентские (одностраничные) приложения

AJAX позволяет вам загружать данные без обновления страницы. Больше всего это используется в таких фреймворках, как Angular и Ember. После сборки такие приложения отправляются в браузер, и любой последующий рендеринг выполняется на стороне клиента (в браузере).

Такой фронтенд общается с бэкендом через HTTP, используя JSON- или XML-ответы.

Универсальные/изоморфные приложения

Некоторые библиотеки и фреймворки, например, React и Ember, позволяют вам исполнять приложения как на сервере, так и в клиенте.

В этом случае для связи фронтенда с бэкендом приложение использует и AJAX, и обрабатываемый на сервере HTML.

Вне фронтенда и бэкенда

Автономный фронтенд

Веб-приложениям, которые вы собираетесь создавать, подключение к Сети будет требоваться всё меньше и меньше.

Прогрессивные веб-приложения загружаются лишь один раз и работают (почти) всегда. Вы можете хранить базу данных в браузере. В некоторых случаях вашим приложениям нужен бэкенд только при первой загрузке, а затем лишь для синхронизации / защиты данных. Такой уровень постоянства означает, что большая часть логики приложения находится непосредственно в клиенте.

Легкий бэкенд

Бэкенд, в свою очередь, становится легче и легче. Такие технологии, как хранилища документов и графовые базы данных, приводят к сокращению количества обращений к бэкенду для повторного агрегирования данных. Задача клиента — уточнить, какие данные ему нужны (базы данных графов), или извлечь все различные фрагменты данных, которые ему нужны (REST API).

Сейчас можно создавать бэкенд-сервисы, которые работают не постоянно, а только тогда, когда они нужны, благодаря бессерверным архитектурам, таким как AWS Lambda.

Размытые границы

Вычислительные задачи теперь можно перемещать между фронтендом и бэкендом. В зависимости от вида приложения можно сделать так, чтобы вычисления производились либо в клиенте, либо на сервере.

Каждый из вариантов имеет свои плюсы и минусы. Сервер — среда более стабильная, имеет меньше неизвестных, но ему постоянно нужно подключение к Сети. Некоторые пользователи используют последние версии браузеров, и им выгоднее использовать клиентские приложения, которые и делают большую часть работы, и могут похвастаться красивым интерфейсом, но тогда вы оттолкнёте пользователей, которые не используют новейшие браузеры и высокоскоростное подключение к Интернету.

В любом случае, хорошо, что есть, из чего выбирать. Главное — выбирать именно то, что лучше всего подходит для конкретной задачи. Надеюсь, у вас появилось больше понимания о том, в каком состоянии сегодня находится веб-разработка.

Frontend Developer

Если вы в душе дизайнер, но любите программирование и верите, что будущее за internet-технологиями, для вас интересной будет специальность Frontend-разработчика, так как она требует некоторых творческих способностей и глубокой практической подготовки по web-программированию. С помощью языка разметки страниц HTML и каскадных таблиц стилей (СSS), вы сможете создавать дизайн web-приложений, интерфейсы сайтов, подавать информацию в привлекательном виде, приятном и удобном для пользователей. На Frontend-разработчика также ложится часть ответственности за рейтинг разрабатываемого сайта, так как чем понятней будет интерфейс, чем более подходящим способом будут структурированы данные, тем больше времени пользователь уделит сайту. В данном случае разработчику просто необходимо разбираться в дизайне и теории цветов, чтобы сайт не выглядел слишком угрюмо, но и не подавлял яркостью цветов и огромным размером символов.

Знания CSS и HTML помогут разработчику сделать красивую статическую страницу, но при работе с сайтом пользователям необходимо взаимодействовать с информацией. Поэтому разработчик должен знать скриптовый язык программирования JavaScript, который делает web-страницы функциональными и интерактивными. Также применение JavaScript способствует корректному отображению страниц на устройстве пользователя, так как некоторые браузеры понимают стандарты CSS и HTML по-разному. Багаж знаний Frontend-разработчика включает также знания библиотеки JavaScript — jQuery, которая необходима для взаимодействия JavaScript и HTML. Данная библиотека используется для работы с AJAX, еще одной технологии для разработки web-интерфейсов. Технологии AJAX выполняют взаимодействие клиентской части с серверной стороной. С использованием данных средств работа приложений стает быстрее и динамичней.

Разработчик не может быть уверен, что созданный им сайт будет выглядеть также красиво и упорядочено, как на своем браузере, поэтому Frontend-разработчикам надо знать кроссбраузерную верстку, которая воспроизводит интерфейс сайтов одинаково в наиболее популярных браузерах, что придерживаются необходимых стандартов, и адаптивную верстку, которая позволяет выполнять работу сайта на разных устройствах: планшете, смартфоне, ноутбуке и т.д.

Такой большой перечень требований оправдан, так как специалист в этом направлении может получать от 500$ до 2500$ в зависимости от уровня знаний и опыта работы. На данный момент рынок труда заинтересован в специалистах такого плана и в будущем спрос на них будет только расти, ведь использование интернета, интернет-технологий за последние десять лет выросли практически в геометрической прогрессии. Почти каждая фирма, организации, предприятие имеют свой сайт и нуждаются в специалистах обеспечивающих работу этих сайтов. Существует множество интернет-компаний, IT-компаний, где Frontend-разработчик может применить свои знания.

Если вы целеустремленны, инициативны и ответственны, можете работать в команде, человек с творческими способностями и критическим мышлением, любите изучать новые технологии и пытаете интерес к разработке сайтов, вам не составит труда добиться успеха в данной области.

Требования к Frontend разработчику:

  • Знание HTML, CSS
  • Знание языка программирования JavaScript
  • Опыт работы в HTML5, CSS3
  • Хорошее понимание JS фрeймворков (Angular2/jQuery/ReactJS/Node.js)
  • Знакомство с MVC/MVVM design patterns
  • Умение анализировать, изучать, осваивать и применять новые технологии
  • Английский язык на уровне не ниже Intermediate

JavaScript/FrontEnd разработчик может занимать такие должности:

Frontend-разработчик: подробный разбор профессии

Разберемся кто такой Frontend-разработчик и чем он занимается. Определим круг его обязанностей и ключевых навыков. Узнаем как стать Frontend-разработчиком и какие онлайн-курсы помогут трудоустроиться. Посмотрим вакансии и зарплаты специалистов разного уровня (Junior, Middle и Senior). И немного поговорим про фриланс, наработку портфолио и что делать фронтенду без опыта.

Навигация по статье (переходите сразу к интересующему пункту):

Приступим к разбору.

Frontend-разработчик: кто это, что делает и чем занимается

Frontend-разработчик – это программист, разрабатывающий внешнюю часть сайта – пользовательский интерфейс. Он отвечает за корректное отображение и работу ресурса во всех браузерах и на всех устройствах. Благодаря ему страницы оживают и обретают интерактивность: переходы, анимация, выпадающие меню, выезжающие окна и другие приколюхи.

Отличие Фронтенд-разработчика от верстальщика и веб-разработчика

Frontend vs Backend

Вокруг профессии Frontend-разработчика много путаницы. Этому способствуют работодатели, которые хотят все и сразу, да подешевле. Так в вакансиях на позицию «верстальщика» встречаются требования присущее «Фронтенд-разработчику». А в требованиях к последнему указывают навыки backend-разработки, что делает из него fullstack- или web-developer’а.

Интересная ситуация складывается с названиями вакансий: frontend-разработчик, javascript-разработчик, react-разработчик, angular-разработчик, web-разработчик – все эти названия прямо или косвенно относятся к фронтенду.

Давайте разложим по полочкам: верстальщик

  • HTML + CSS – нужны максимальные знания. Это основные инструменты. Особое внимание уделяйте Flexbox и Grid CSS;
  • jQuery и AJAX – нужны для создания динамических элементов на странице (слайдеры и параллаксы, калькуляторы) и для отправки формы заявок;
  • Препроцессоры CSS (SASS, LESS, Stylus и т.д.) – позволяют писать CSS быстрее;
  • Photoshop – нужен для разбора макета на составляющие;
  • BEM, OOCSS, SMACSS – международные методологии построения структуры CSS;
  • SVG и Canvas – работа с изображениями;
  • Media Queries – для кроссбраузерной и кроссплатформенной верстки;
  • Любой шаблонизатор – для динамической подстановки данных;
  • WordPress, MODx, Joomla!, Drupal, OpenCart, Битрикс и др. – популярные системы управления контентом (CMS);

Для начала работы верстальщиком потребуется только адаптивная и кроссбраузерная верстка. Остальное придет с опытом. Уровень верстальщика определяется работой со сложными свойствами CSS и его уровне в JavaScript. В плане JavaScript верстальщику хватает изучения двух библиотек – jQuery и AJAX.

После изучения верстки погружаемся в JavaScript, а именно:

  • стандарты языка – ECMAScript 5, 6 и новый 7;
  • сборщики JavaScript: Gulp, Grunt, WebPack;
  • популярныефреймворкиибиблиотеки: React + Redux, Angular, Vue, Svelte, Backbone, ExtJS, RxJS, Ember, GWT, Knockout, Dojo, Polymer;
  • понимание работы браузера: построение DOM, рендеринг JavaScript;
  • прогрессивные Web-приложения: Storage, Web Sockets, Service Workers, изучение различных APIs использующихся в PWA;
  • тестирование приложений: Jest, Enzyme, Cypress, Mocha, Chai, Ava, Karma и др.

JavaScript открывает огромные перспективы (читай в «Направления развития»).

Как стать Frontend-разработчиком?

Вы можете найти десятки ресурсов, которые предлагают базовые знания бесплатно. Есть сотни статей о том, как стать программистом самостоятельно. Есть даже карты, где указан весь путь. Но самообучение крайне сложный и трудоемкий процесс, потому что надо знать:

  1. Как учиться.
  2. Чему учиться.
  3. Где остановиться.

Часто наблюдаем ситуацию, когда человек уже давно мог устроиться на работу или зарабатывать на фрилансе, но он учиться дальше и выгорает. Он не видит результатов и бросает идею стать разработчиком, считая что это не его.

Также при самообучении вы можете писать неправильный, плохой код. Все будет работать нормально, потому что программирование такое, есть множество путей решения одной задачи. Но в вашем коде сможете разобраться только вы, а работодателю это не надо.

Я считаю лучшим вариантом – обучение в онлайн-школах. Так вы не тратите время на проезд и занимаетесь дома в комфортной обстановке. Иногда вообще время занятий выбираете самостоятельно. А опытные эксперты проконтролируют процесс обучения, укажут на ошибки и покажут лучшие практики решения той или иной задачи.

Поэтому я сделал маленькую подборку онлайн-курсов. Весь материал структурирован, а домашние задания проверяются экспертами с большим опытом. Все курсы из подборки трудоустраивают или помогают с трудоустройством: стажировки, рекомендации по составлению резюме и презентации себя.

Где учиться Frontend-разработке: онлайн-курсы по обучению

1. Профессия «Frontend-разработчик» от Skillbox

Длительность: 6 месяцев

Формат: вебинары + воркшопы + домашнее задание + работа с наставником + живые встречи

Содержание: в программе 4 курса – посмотреть.

Курсы в подарок: «Английский для IT-специалистов».

Преподаватели: директор центра SymbioWay и Senior Frontend-developer в Setka.io.

Ключевые навыки: адаптивная и кроссбраузерная верстка, работа с современными фронтенд фреймворками и сборщиками проектов, протоколами шифрования, Web API и Photoshop, знание современных методологий структурирования проекта.

Инструменты: HTML5 + CSS, JavaScript, jQuery, Grunt, Gulp, WebPack, Bootstrap, React, Angular, Vue.

Цена:

  • полная – 103 000 рублей;
  • со скидкой – 82 400 рублей;
  • рассрочка без первого взноса – 3 433 рублей.

Бонусы: первым 20-ти скидка 20%

Итоги: диплом + портфолио из 2 проектов + гарантированное трудоустройство.

Ссылка на курс: перейти к обучению >>>

2. Профессия «Frontend-разработчик» от Нетологии

Длительность: 10 месяцев.

Формат: вебинары + домашнее задание с проверкой.

Содержание: 7 модулей + дипломная работа.

Программа: посмотреть.

Преподаватели: основатель AIMS, frontend-разработчики из WebCoalition, Webzilla, «Ростелеком ИнфоТех», AlterEGO, OneTwoTrip, MyTaxi и VideoGorillas, а также успешные фрилансеры с сотнями кейсов.

Ключевые навыки: адаптивная и кроссбраузерная верстка; правильное использование переменных, числе, строк и выражений; применение итераторов и генераторов; создание прототипов и конструкторов объекта, интерактивных страниц и SPA; работа с файлами и медиаресурсами.

Инструменты: HTML5 + CSS3, HTTP/HTTPS, JavaScript, JSX, XHR и AJAX, React, VirtualDOM, FlexBox, GitHub.

Цена:

  • полная – 59 900 рублей;
  • оплата частями – 4 992 рублей в месяц.

Бонусы: беспроцентный кредит от Сбербанка, Тинькофф или Яндекс.Кассы, возврат налогового вычета 13%.

Итоги: диплом + 3 проекта в портфолио + помощь и сопровождение до трудоустройства.

Ссылка на курс: перейти к обучению >>>

3. Профессия «Frontend-разработчик» от GeekBrains

Frontend-разработчик от GeekBrains: верстка сайтов по современным стандартам

Длительность: 7 месяцев.

Формат: вебинары + домашнее задание.

Содержание: 9 практических курсов и 2 месяца стажировки.

Программа: посмотреть.

В подарок: «Английский для IT-специалистов» + 3 месяца обучения английскому + доступ к GeekClub.

Преподаватели: Senior Fullstack-developer из «МакроИндекс», основатель креативного агентства «Амико», Senior Software engineer в EPAM, Frontend-developer в @Mail.ru Group, преподаватель из СпбПУ и другие.

Ключевые навыки: адаптивная и кроссбраузерная верстка, применение современных CSS и JavaScript фреймворков и сборщиков проектов, создание интерактивных страниц и SPA, работа с интерпретатором, медиафайлами, управление структурой DOM.

Инструменты: HTML5, CSS3, Bootstrap, jQuery, JavaScript, AJAX, Less, Grunt, Gulp, WebPack, ReactJS, Flux, Redux, GIT,

Цена:

  • полная – 7 141 рублей в месяц;

Бонусы: банковская рассрочка + налоговый вычет в 13%.

Итоги: сертификат + свидетельство + портфолио + гарантированные стажировки в «Сбербанк», Level Travel, Некки, Билайн и других партнеров.

Ссылка на курс: перейти к обучению >>>

4. Профессия «Фронтенд-разработчик» от htmlacademy

Длительность: 6,5 месяцев.

Формат: вебинары + домашнее задание

Содержание: 3 модуля + стажировка в аутсорсинговой компании «Лига А».

Программа: посмотреть.

Ключевые навыки: адаптивная и кроссбраузерная верстка по готовому макету, написание простых скриптов на JavaScript, создание интерактивных страниц, работа с протоколами шифрования данных.

Инструменты: HTML5 + CSS3, jQuery, JavaScript, HTTP/HTTPS, VirtualDOM, Web API.

Цена:

  • полная – 83 300 рублей;
  • рассрочка – 8 330 рублей в месяц – 10 частей;
  • оплата от компании – 85 300 рублей.

Бонусы: внутренняя рассрочка + налоговый вычет в 13%.

Итоги: 4 электронных сертификата.

Ссылка на курс: перейти к обучению >>>

5. Курс «React: библиотека №1 в современной фронтенд-разработке» от Нетологии

React: библиотека №1 в современной фронтенд-разработке

Длительность: 2,5 месяца.

Формат: вебинары + домашнее задание с проверкой.

Содержание: 3 модуля + дипломная работа.

Программа: посмотреть.

Преподаватели: старший разработчик в OneTwoTrip, Tech Lead в Breadhead, CTO в Setka.io.

Ключевые навыки: работа с компонентами React, создание интерактивных веб-страниц и SPA, управление состоянием

Инструменты: React, Redux, JSX, React Router, VirtualDOM, SPA, Component Lifecycle.

Цена:

  • полная – 20 900 рублей;
  • со скидкой (до 21 ноября) – 15 900 рублей;
  • оплата частями – 1 742 рублей в месяц.

Бонусы: беспроцентный кредит от Сбербанка, Тинькофф или Яндекс.Кассы, возврат налогового вычета 13%.

Итоги: диплом + портфолио + помощь и сопровождение до трудоустройства.

Ссылка на курс: перейти к обучению >>>

Карьерный рост: разница между Junior, Middle и Senior

Теперь самое интересное – карьера и зарплата Frontend-разработчика. В IT есть условное разделение на младших, средних и старших специалистов (Junior, Middle и Senior). От уровня зависит заработная плата. Но в одной компании Junior может получать больше, чем в другой Middle. Это разделение субъективное, плавающее и зависит от места работы.

Реальный уровень определяется разнообразием задач и практики в программировании. При написании однообразного кода на протяжении длительного времени, можно так и остаться Junior. Даже если пройдет несколько лет. Но это вина не только специалиста, но и компании.

Попробуем провести условные параллели.

Junior Frontend-developer

Требования на Junior Frontend-разработчика

» data-medium-file=»https://i2.wp.com/checkroi.ru/blog/wp-content/uploads/2020/10/Требования-на-Junior-Frontend-разработчика.png?fit=300%2C203&ssl=1″ data-large-file=»https://i2.wp.com/checkroi.ru/blog/wp-content/uploads/2020/10/Требования-на-Junior-Frontend-разработчика.png?fit=614%2C415&ssl=1″ />Опыт: 0,5 — 1,5 года.

Задачи: стандартные с незначительным риском и малым сроком выполнения.

Навыки: владение предметной области неполное, часть задач требует дополнительного времени для освоения.

Контроль: нуждается в помощи и постоянном code review (обзор кода).

Зарплата: 30 000 — 100 000 рублей в Москве, и 20 000 — 70 000 рублей в регионах.

Middle Frontend-developer

Требования на Middle Frontend-разработчика

» data-medium-file=»https://i1.wp.com/checkroi.ru/blog/wp-content/uploads/2020/10/M />Опыт: 1 — 3 года.

Задачи: справляется с нестандартными, а стандартные выполняет быстрее и чище, чем Junior. Может выполнять длительные задания, рассчитанные на 1-2 недели выполнения.

Навыки: владение предметной областью достаточное для обсуждения с коллегами, споров и нахождения решений.

Контроль: на простые задачи можно не проводить code review

Зарплата: 50 000 — 200 000 рублей в Москве, и 40 000 — 150 000 рублей в регионах.

Senior Frontend-developer

Требования на Senior Frontend-разработчика

» data-medium-file=»https://i2.wp.com/checkroi.ru/blog/wp-content/uploads/2020/10/Требования-на-Senior-Frontend-разработчика.png?fit=300%2C284&ssl=1″ data-large-file=»https://i2.wp.com/checkroi.ru/blog/wp-content/uploads/2020/10/Требования-на-Senior-Frontend-разработчика.png?fit=571%2C540&ssl=1″ />Опыт: 3 — 7 лет.

Задачи: любой сложности

Навыки: хорошо знает предметную область, сам проводит code review, мыслит проектом на уровне архитектуры и понимает долгосрочные последствия технических решений, нередко совмещается с управляющими должностями.

Контроль: нуждается в помощи и постоянном code review.

Зарплата: 120 000 — 350 000 рублей в Москве, и 90 000 — 250 000 рублей в регионах.

Где работают Frontend-разработчики?

Специалисты по фронтенду работают в веб-студиях, компаниях с IT решениями, стартапах, аутсорсинговых агентствах и на фрилансе. Последнее время много вакансий с переездом (remote) и удаленных.

Посмотрим какие именитые компании ищут Frontend-разработчиков.

Вакансии Frontend-разработчика

4373 вакансий фронтенд-разработчика в России на 08.10.2020

На момент написания статьи есть открытые вакансии в самый крупный портал по поиску работы – HH.ru. Предлагают зарплату от 150 000 рублей. Там же, кстати, вы можете посмотреть что требуют от специалистов и на какую зарплату можно претендовать.

JavaScript-разработчик требуются в Сбербанк. Но им требуется специалист высокого уровня, за которого готовы предложить от 230 000 рублей в месяц. Работа в банковской сфере предполагает разработку интерфейсов личных кабинетов в интернет-банкинге.

Frontend-разработчика ищет один из крупнейших мобильных операторов – Билайн. Разрабатывают систему для регистрации новых абонентов, которой будут пользоваться продавцы и руководители отделов продаж по всей России.

Много вакансий в IT компании, разрабатывающие промышленный и бизнес софт. Вы вряд ли знакомы с их названиями, но они предлагают зарплату от 150 000 рублей. Давайте познакомимся с некоторыми: IBA Group, SoftSwiss, ScienceSoft.

«Что ты нам для опытных вакансии подсовываешь…» – скажите вы. Это чтобы вы понимали где и над чем вы можете работать. А вообще старт карьеры обычно начинается с веб-студий, аутсорсинговых агентств или фриланса на позицию верстальщика. Также можно поискать стажировки, некоторые даже могут оплачиваться.

Фриланс

Фриланс на Upwork: 9008 заданий по JavaScript

Самый простой способ начать работать по профессии без опыта – фриланс. Это неплохой вариант для сбора портфолио и понимания того, как работать с клиентом. В компаниях за вас это будут делать другие люди, но понимать как обстоит процесс вы должны.

Очень просто найти простые задания по верстке, чуть сложнее найти по фронтенду. Но на биржах фриланса заданий тысячи. Другой вопрос: ваш заработок зависит только от навыков продажи себя и самоорганизации рабочего процесса. Я знаю верстальщика, который зарабатывал около 300 000 в месяц на биржах фриланса, но он верстал по несколько одностраничников в день.

Самые популярные биржи:

Совет: делаем легкое портфолио на GitHub, регистрируемся на всех биржах, делаем для себя программу по мониторингу всех бирж на появление новых заданий, отвечаем на каждое и за полгода неплохо набираемся опыта на задачах разного уровня сложности. Возможно вы и не захотите уходить с фриланса;)

Направления развития

На сегодняшний момент JavaScript применяется не только во фронтенде, но и в других областях программирования. Куда в конечном итоге вы можете придти? Читайте далее.

Топ-пост этого месяца:  Как обновить запись с помощью метода Laravel update примеры кода

Fullstack- или web-разработчик

С самого начала статьи прослеживается возможность развития в Fullstack-разработчика. Для этого к своим знаниям по фронтенду нужно добавить бэкенд. Бэкенд можно писать на том же JavaScript, который вы должны будете хорошо знать. Останется освоить только серверную библиотеку NodeJS и его фреймворк Express. Для расширения знаний в области программирования можно выучить другой язык. Вот популярные для бэка: PHP, Python, Java и Ruby.

Мобильная разработка

» data-medium-file=»https://i0.wp.com/checkroi.ru/blog/wp-content/uploads/2020/10/Мобильный-разработчик.png?fit=300%2C198&ssl=1″ data-large-file=»https://i0.wp.com/checkroi.ru/blog/wp-content/uploads/2020/10/Мобильный-разработчик.png?fit=800%2C529&ssl=1″ />Самый интересный путь дальнейшего развития – мобильная разработка. JavaScript-разработчик с легкостью напишет мобильное приложение при помощи React Native. React Native – кроссплатформенный. На нем пишутся приложения и под Android, и под iOS. Для больших и высоконагруженных приложений лучше использовать нативные языки (Kotlin и Swift), но для маленьких и быстрых прототипов кроссплатформенные решения подходят отлично.

Lead-программист

» data-medium-file=»https://i0.wp.com/checkroi.ru/blog/wp-content/uploads/2020/10/Lead-программист.png?fit=300%2C227&ssl=1″ data-large-file=»https://i0.wp.com/checkroi.ru/blog/wp-content/uploads/2020/10/Lead-программист.png?fit=529%2C400&ssl=1″ />Можно двигаться на руководящие должности. Например, Lead-программист – отвечает за все процессы в команде, выбор технологий и контроль выполнения задач. Обычно это следующая ступень после Senior.

Управление проектами и продуктами требует навыков высокой самоорганизованности и управления командой. Поэтому в ходе работы, скорее всего, вы будете направлены на курсы повышения квалификации именно с целью поставить вас на руководящую должность.

DevOps

Есть вариант развития в DevOps-специалиста. Он отвечает за взаимодействие специалистов по разработке и специалистов информационно-технологического обслуживания. Интегрирует рабочие процессы друг друга для обеспечения качества продукта. Главные цели DevOps – сокращение времени выхода продукта на рынок и снижение частоты отказов в работе, а также обеспечение быстрого исправления после отказов (сбои, баги и т.д.).

Если я что-то непонятно изложил, вы нашли неточность или несоответствие моих слов действительности, у вас есть что добавить или спросить, то не стесняйтесь оставлять комментарии. Сделаем вместе онлайн-образование лучше!

Что должен знать frontend-developer?

Frontend-разработка очень важная часть построения сайта, хотя ее часто недооценивают. Это первое, что видит пользователь, заходя на Ваш ресурс.

Разберемся что должен знать frontend-разработчик, чтобы быть профессионалом высокого уровня.

Разработка сайта состоит из двух частей: backend и frontend. Задача backend-development — обеспечение функциональной составляющей, а frontend — визуальной.

Frontend нельзя назвать исключительно эстетической частью сайта, так как он включает в себя и разработку функционала, выполняющегося на стороне клиента. И это может как помочь сделать Ваш сайт популярным, так и испортить впечатление посетителей о нем. Отвратительный дизайн не спасет даже самый потрясный и передовой функционал.

Что должен уметь frontend-разработчик?

  1. Учиться;
    Желание учиться, трудолюбие и усидчивость — это важные навыки, пожалуй, не только для frontend-разработчика, но и для любого профессионала. В тот момент, когда Вы поймаете себя на мысли, что знаете и умеете всё — это первый признак того, что Вы на самом деле стоите на месте.
  2. Знать HTML и CSS

    Это основополагающие frontend-разработки. Без них Вы не сможете выстроить элементарную структуру сайта и задать основные стили.

  3. Знать JavaScript;

После того, как Вы выстроили структуру сайта и применили к ним стили, необходимо добавить немного анимации и интерактивных элементов. Во-первых, это добавит функциональности Вашему сайту, а, во-вторых, это приблизит его к трендам веб-разработки 2020 года.

  • JavaScript фреймворки и jQuery;

    Фреймворки JavaScript значительно ускоряют разработку и упрощают ее. А библиотека jQuery позволит Вам добавлять на сайт функциональные элементы, которые упрощают работу с сайтом для пользователя, например, автозаполнение форм.

  • Знать и уметь применять препроцессоры CSS;
    Препроцессоры позволяют, во-первых, сократить время на написание кода, обрабатывая его и превращая его в кроссбраузерный и качественный. Самые популярные препроцессоры CSS — Sass и Less.

  • К слову, о кроссбраузерной верстке — ей бы тоже неплохо владеть;
    Кроссбраузерная разработка — это Ваш козырь в рукаве, поскольку сделать так, чтобы Ваш сайт выглядел и работал одинаково во всех браузерах, не каждому под силу.
  • Владение CMS — как минимум, WordPress;
    Поскольку сайты на системе контроля контента (CMS) занимают довольно большую часть среди общего количества, а самая популярная платформа — WordPress, то, как минимум ознакомиться с особенности всё же стоит. А сделать это Вы можете в нашей одноименной рубрике.
  • Владеть основами разработки адаптивного дизайна;
    Сделать так, чтобы сайт выглядел одинаково во всех браузерах — это половина дела, а вот сделать так, чтобы Ваш дизайн не съезжал и не сжимался до размера наночастицы при открытии его на телефоне — это мастерство.
  • Иметь опыт работы с системой контроля версий;
    Самая популярная система контроля версий — Git. Опыт работы с ним добавит Вам сразу несколько баллов. Разработка сайта — коллективная работа, а, значит, Вы никогда не можете быть уверены, что никто не допустит ошибку и не загубит многомесячную работу. Выбрать не самое лучшее решение можете и Вы. И возможность откатиться к более ранней версии и исправить ошибку (а, главное, сделать выводы) Вам позволит система контроля версий Git.
  • И, наконец, понимать принципы тестирования и отладки;
    Взглянув на код, к сожалению, не всегда можно увидеть ошибки и проблемы (разве что Вы не обладает экстрасенсорными способностями). Поэтому понимание принципов тестирование и отладки — будет Вашим большим плюсом.
  • Но самый главный навык веб-разработчика — это опыт! Вы можете быть блестяще подкованы в теории, но на практике не всегда всё выглядит так гладко, как в книгах. Поэтому дерзайте!

    Тренды веб-разработки на 2020 год

    Готовы ли вы к внедрению инноваций в ваши веб-приложения в 2020 году? Представляем вам последние тренды веб-разработки, которым, безусловно, стоит следовать!

    Стандарты веб-разработки часто меняются быстрее, чем их успевают внедрять. Чтобы всегда быть на шаг впереди, важно сосредоточиться на тенденциях, методах и подходах, которые только набирают популярность.

    Мы проанализировали тренды в разных отраслях, чтобы сформировать этот окончательный список тенденций в веб-разработке на 2020 год. В качестве бонуса, вам также представлен топ лучших стеков веб-технологий, достойных вашего внимания в следующем году.

    Не будем тратить время на долгие вступления. Все тренды здесь:

    Голосовой поиск

    В настоящее время мы наблюдаем начало эры голосового поиска. Каждый смартфон уже оснащен цифровым голосовым помощником (Siri для iPhone, Google Assistant для телефонов на базе Android). Более того, набирают популярность умные колонки с искусственным интеллектом.

    В чем причина такого внимания к голосовым интерфейсам?

    • Простота использования.
      Голосовое общение — это то, что нам не нужно изучать. Таким образом, дети и пожилые могут взаимодействовать с голосовыми интерфейсами без каких-либо сложностей в обучении.
    • Доступность.
      Цифровые голосовые помощники уже стали привычной функцией смартфона. Интеллектуальные колонки пока не так распространены, но цена от 50 долларов — отличная предпосылка для экспансии.

    К 2020 году ожидается, что 50% всех поисковых запросов будут осуществляться посредством голоса.

    Внедрение голосового поиска сейчас является одной из основных тенденций в e-commerce. Тем не менее, это также применимо к любому другому бизнесу в Интернете. Если вы хотите, чтобы ваше веб-приложение было найдено, оптимизируйте его для работы с голосовым поиском как можно скорее.

    Также мы рекомендуем рассмотреть возможность разработки собственного приложения для умных колонок. Это даст вам еще один канал для формирования лояльной аудитории и увеличения продаж.

    WebAssembly

    При создании веб-приложения производительность приложения обычно является компромиссом с кроссплатформенностью. Ограничения JavaScript делают тяжелые вычисления медленными, и это существенно влияет на производительность для пользователя. Именно поэтому большинство популярных игр и мощных приложений доступны только в качестве десктопного приложения.

    Формат WebAssembly может быть применен, чтобы изменить эту ситуацию. Этот новый формат ориентирован на нативную производительность среди веб-приложений. С помощью WebAssembly, код на любом языке программирования может быть скомпилирован в байт-код, который запускается в браузере.

    Код WebAssembly выполняется быстрее, чем код на JavaScript. В результате использования WebAssembly, вы сможете писать критически важные для приложения части на наиболее подходящем языке (C / C ++ / C # / Rust / Kotlin и т. Д.). WebAssembly сам позаботится о выполнении кода в браузере. Нативные приложения теперь можно запускать сразу в браузере. Это означает доступ к большему количеству пользователей, благодаря предложенной им сопоставимой с десктопной производительностью в сети без дополнительных затрат на разработку!

    Основная проблема с WebAssembly заключается в том, что еще не все браузеры поддерживают его. Однако скоро это изменится.

    Веб-приложения становятся более мощными с WebAssembly. Эту технологию определенно стоит попробовать.

    Машинное обучение в веб-разработке

    Технологии искусственного интеллекта, включая машинное обучение, уже давно влияют на наше поведение в Интернете, хотя, зачастую, это происходит незаметно для нас. Это основной момент применения машинного обучения – улучшение взаимодействия пользователя с приложением.

    Машинное обучение — это способность программного обеспечения повышать производительность без непосредственного участия разработчиков. По сути, программное обеспечение анализирует входящие данные, выявляет закономерности, принимает решения и улучшает свою работу.

    К примеру, компания Airbnb применила машинное обучение для настройки результатов поиска потенциальными гостями мест поселения. С помощью специфического алгоритма, компания хотела повысить вероятность того, что владелец жилья примет запрос от потенциального гостя. Алгоритмы машинного обучения должны были анализировать решения о принятии запросов каждого владельца. Пользуясь итогами такого анализа, компания смогла предоставить клиентам результаты поиска, которые стали полезными им с большей вероятностью. A / B-тестирование показало увеличение конверсии на 3,75%. В результате все запросы от пользователей Airbnb теперь обрабатываются в соответствии с этим алгоритмом, который повышает удовлетворенность клиентов и увеличивает доход.

    Отличный пример внедрения, не правда ли? Но это еще не всё! Применение естественного языка и распознавания изображений могут улучшить общие впечатления пользователя от использования сервиса. Машинное обучение позволяет компьютеру правильно интерпретировать данные и принимать обоснованные решения. Машинное обучение уже используется в веб-приложениях в различных отраслях, таких как здравоохранение, финансы, образование, сельское хозяйство и т. д. Эта технология предлагает существенные усовершенствования, которые было бы трудно достичь без технологий ИИ.

    Машинное обучение становится важной частью любого веб-сервиса. Важно, чтобы и вы попробовали найти применение для этой технологии в своих сервисах! Анализируйте поведение посетителей вашего веб-сайта и настраивайте под них отображаемый контент. Они никогда не узнают, что вы применяете к ним некий алгоритм, но их возросшая удовлетворенность контентом приведет к увеличению их вовлеченности и к увеличению конверсии! Машинное обучение может стать вашим секретным оружием, чтобы переиграть ваших конкурентов!

    Безопасность данных

    Чем больше данных обрабатывает ваше веб-приложение, тем больше оно привлекает внимание киберпреступников. Они стремятся нарушить работу ваших сервисов и украсть данные ваших пользователей или внутреннюю информацию компании. Это может дорого обойтись и вам, и вашей репутации.

    Безопасность вашего веб-сервиса должна стать вашим главным приоритетом. Итак, чтобы сохранить пользовательские данные в 2020 году, следуйте этим советам:

    • Никогда не пренебрегайте тестированием безопасности.

    Тестирование безопасности должно проводиться уже на этапе разработки, благодаря чему оно может предотвратить утечку данных. Каждое изменение в вашем веб-приложении должно быть явно протестировано.

    • Используйте инструменты мониторинга сайта.

    Алгоритмы анализа поведенческих факторов помогут вам постоянно отслеживать все запросы, а также выявлять и квалифицировать подозрительные действия. Своевременное выявление угрозы позволит вашей команде вовремя среагировать и защитить веб-приложение от преступников.

    • Тщательно выбирайте сторонние сервисы.

    Программное обеспечение SaaS (англ. software as a service — программное обеспечение как услуга, прим. переводчика) становится все более популярным, поскольку делает разработку приложений проще и быстрее. Однако вы должны убедиться, что поставщик услуг, с которым вы работаете, заслуживает доверия.

    • Шифрование конфиденциальных данных.

    Даже если преступник сможет получить доступ к вашей базе данных, он не сможет извлечь какую-либо пользу из конфиденциальных данных, хранящихся там в зашифрованном виде.

    Блокчейн в веб-разработке

    Несмотря на то, что блокчейн утратил часть доверия к себе из-за нестабильности обменных курсов криптовалют, мы должны признать — эта технология уже бесповоротно вошла в нашу жизнь. И хотя эта технология впервые была применена в сфере настольных компьютеров — блокчейн уже уверенно проникает и в WEB.

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

    Другая реализация технологии блокчейна называется dapps или децентрализованные приложения. Уникальная особенность таких приложений — хранение логики сервера и базы данных в блокчейне. В результате ни одна организация не может контролировать приложение (например, Facebook, Google и т. д.).

    Dapps изначально работали как настольные приложения. Но в настоящее время они тоже переходят в WEB. Во всем мире сеть стремится к децентрализации, поэтому популярность dapps, скорее всего, возрастет.

    Ethereum, самая популярная платформа с открытым исходным кодом для блокчейн-проектов, выпустила библиотеку JavaScript web3.js. Эта библиотека позволяет легко разрабатывать клиентов, которые взаимодействуют с блокчейном Ethereum различными способами, такими как: создание интеллектуальных контрактов, запись и чтение данных из смарт-контрактов, передача криптовалюты между двумя учетными записями и многое другое.

    Библиотека Web3 также доступна для других языков программирования, включая Python, Java, PHP, Swift, Scala и т. д. Таки образом создание децентрализованных приложений с удобными веб-интерфейсами становится проще.

    Очевидно, что пик ажиотажа вокруг технологии блокчейна уже прошел. Но это значит только, что пришло время приступить к серьезной разработке мощных решений, которые смогут использовать большинство преимуществ этой технологии. Может быть, именно ваш проект станет следующим ньюсмейкером?

    Прогрессивные веб-приложения (PWA) и ускоренные мобильные страницы (AMP)

    Google отдает приоритет тем веб-приложениям, которые быстро загружаются на мобильных устройствах. Именно поэтому вам следует рассмотреть возможность внедрения PWA или AMP, которые являются уникальными технологиями, сокращающими время загрузки веб-страницы.

    Прогрессивное веб-приложение (PWA) — это веб-страница, которая воспроизводит привычный мобильный интерфейс. Это технология работает быстро, может работать как постоянно онлайн, так и с плохим подключением к интернету, и является относительно дешевой. PWA поддерживает взаимодействие, позволяя пользователям наслаждаться высококачественными возможностями приложений, даже не осознавая, что они используют их через браузер. Приложения E-commerce являются частым примером использования этой технологии.

    Ускоренная мобильная страница (AMP) работает только для статического контента, но загружается быстрее, чем обычный HTML. AMP пропускает все модные элементы и отображает только важную информацию — текст, изображения и т. д. Этот подход отлично подходит для блогов и новостных изданий.

    Нужно ли вам применять PWA или AMP, зависит от вашего конкретного случая. Тем не менее, вам следует начать рассматривать эти технологии прямо сейчас. Наряду с улучшением качества предоставляемой услуги, у вас есть шанс значительно поднять свой рейтинг в результатах поиска.

    Интернет вещей

    Какие устройства вы в основном используете для доступа в интернет? Скорее всего, это ноутбук и смартфон. Тем не менее, сегодня подключаться к Интернету может гораздо большее количество устройств. Да, мы имеем в виду Интернет вещей или IoT, для краткости.

    В настоящее время многие устройства оснащаются экраном. Благодаря такой тенденции, веб-приложения, оптимизированные для отображения данных на смарт-часах, холодильниках, интеллектуальных колонках и т. д., станут более востребованными.

    Адаптированность к мобильным интерфейсам больше не является трендом, уже являясь обязательным элементом работы приложения. Тенденция 2020 года — адаптация веб-приложений для маленьких экранов.

    Motion UI

    Motion Design — один из главных трендов веб-дизайна будущего года. Минималистичный дизайн, в сочетании со сложными взаимодействиями, выглядит стильно и привлекает внимание пользователя.

    Переходы в хедере страницы, удобные подсказки, анимированные диаграммы, фоновая анимация и модульная прокрутка. Эти, и многие другие элементы, помогут вам отобразить свой уникальный стиль и завлечь пользователя, улучшая поведенческие факторы и помогая вашему веб-приложению занять более высокое место в результатах поиска.

    Стэк технологий для разработки веб-приложений

    Крайне важно работать с последними проверенными технологиями. Таким способом вы сможете гарантировать, что разработанное программное обеспечение соответствует требованиям рынка и остается актуальным в течение нескольких лет. А вот и самые популярные технологии 2020 года:

    Технологии frontend

    Ангуляр

    Впервые мы услышали об AngularJS в 2010 году. Уже через 6 лет, в 2020 году, фреймворк был полностью переписан и вышел под названием Angular 2. На конец 2020 года последней стабильной версией является Angular 7.

    Angular — это фреймворк Model-View-Controller (MVC). Три отдельных компонента позволяют писать хорошо структурированный и простой в поддержке код. Двунаправленная привязка данных удобна для простых приложений — любые изменения в модели будут немедленно внедрены в представление и наоборот. Однако если вы работаете над сложным проектом, однонаправленная привязка данных сэкономит ваше время и ресурсы.

    Чтобы использовать Angular максимально эффективно, вам придется использовать Typescript. Вам также следует помнить, что фреймворк работает только с обычным DOM, что создает некоторые ограничения.

    Стек MEAN – является одним из самых популярных. Он включает в себя:


    • MongoDB — база данных;
    • Express.js — веб-фреймворк;
    • Angular – фронтэнд фреймворк;
    • Node.js – бэкенд.

    Очевидным преимуществом этого стека является то, что все его компоненты используют JavaScript. В результате собрать команду разработчиков (или нанять одного разработчика full-stack JavaScript) не будет проблемой.

    React.js

    В описанном стеке Angular часто заменяется на React — библиотеку Javascript. Стек MERN является относительно молодым, но растущая популярность React поспособствовала быстрому росту его популярности.

    React превосходит по своим возможностям Angular благодаря виртуальному DOM, который позволяет быстрее и проще вносить изменения. Однако, поскольку React является библиотекой, а не фреймворком, что ограничивает основные функциональные возможности, разработчикам приходится работать со сторонними сервисами.

    Также стоит упомянуть, что React использует JSX — модификацию JavaScript, которая обеспечивает бесшовную совместимость компонентов. Таким образом, знание JSX является предпочтительным, если вы хотите максимально использовать стек MERN и особенно React.

    Vue.js

    Vue.js является более молодым JS фреймворком, но за последние несколько лет он продемонстрировал невероятный рост популярности. Частично это связано с тем, что это облегченное решение. По сравнению с монолитом, подобным Angular, он предлагает только базовую функциональность «из коробки». Используя сторонние сервисы, эта функциональность расширяется. В результате нет необходимости обрабатывать избыточный код, как в случае с Angular.

    Как вы, вероятно, догадались, Vue.js также используется вместе с MongoDB, Express.js и Node.js как часть стека MEVN.

    Технологии Backend:

    Как правило, сложно выбрать между пользовательской конфигурацией бэкенд разработки и backend-as-a-service. Оба варианта имеют свои плюсы и минусы, и выбор зависит от деталей проекта. Мы не будем сейчас вдаваться в подробности, так как существуют отдельные статьи, сравнивающие mBaaS и пользовательский бэкенд — ознакомьтесь с ними, чтобы узнать больше по этой теме. Здесь мы рассмотрим самые популярные решения для пользовательского бэкенда.

    Node.js

    Node.js является важным компонентом всех вышеописанных стеков веб-разработки. Это среда выполнения приложений, которая используется для создания приложений на стороне сервера. Работа с Node.js требует знания JavaScript. По этой причине он часто используется в стеках вместе с инфраструктурой внешнего интерфейса JS.

    Django

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

    Laravel

    PHP — широко используемый язык программирования бэкенда, а Laravel — один из самых популярных PHP фреймворков.

    Laravel отлично работает с Vue.js. Тем не менее, Angular и React также хорошо подходят для разработки веб-приложений с Laravel.

    Заключение

    Попытки угнаться за последними трендами могут показаться излишне сложными, так как тренды меняются очень быстро. Но почему бы не попробовать?

    Следуя последним тенденциям в веб-разработке, вы сможете порадовать своих пользователей контентом мирового уровня, повысить рейтинг ваших веб-приложений и открыть для своих услуг новые рынки!

    В течение следующих нескольких лет голосовой поиск укрепит свои позиции и заставит поставщиков услуг адаптироваться к новой реальности. Подходя к этому с умом, вы можете оказаться в числе первых компаний, которые обращаются к вашим клиентам с помощью голосового поиска. Звучит заманчиво, не правда ли?

    Безопасность пользовательских данных уже давно вызывает сомнения. Это проблема, которой нельзя пренебрегать, если вы хотите быть лидером рынка.

    Блокчейн — это технология со многими приложениями в веб-разработке, так почему бы не исследовать ее возможности на ранней стадии ее появления?

    Говоря в общем, каждый тренд 2020 года заслуживает вашего внимания. Некоторые из них будут актуальными в течение нескольких лет, а некоторые станут обыденностью уже через несколько месяцев. Так что не стесняйтесь начинать реализовывать их как можно скорее.

    Автор: София Меренич, технический и бизнес писатель.

    Тренды программирования: чего можно ожидать в 2020 году?

    Как бы безумно это не звучало, но 2020 год наступит уже очень скоро. «2020 год» — это похоже на фразу из научно-фантастического романа. Но это не фантастика. Нас от этой даты отделяет всего несколько месяцев.

    Автор материала, перевод которого мы публикуем сегодня, говорит, что если вас занимает вопрос о том, что будущее может принести в мир программирования, то вы, читая это, оказались в нужном месте в нужное время. Он отмечает, что, размышляя о том, что может произойти, вполне может ошибаться в своих прогнозах и просит его не цитировать. По его словам, он не может предсказать будущее, но способен сделать обоснованное предположение о том, каким оно будет.

    Лучший способ предсказать будущее — это создать его.
    А. Линкольн

    Rust станет мэйнстримом

    Rust — это мультипарадигмальный язык программирования общего назначения. Его рассматривают как перспективный язык для разработки ядер операционных систем. Особое внимание в нём уделяется безопасности, в частности — безопасности параллельного выполнения кода. Rust, в плане синтаксиса, похож на C++, но он спроектирован с учётом обеспечения более безопасной работы с памятью при сохранении высокой производительности.

    Последние четыре года Rust демонстрирует уверенный рост. Я полагаю, что 2020 год — это год, в котором Rust официально станет мэйнстримом. Что это значит, кстати? Пожалуй, каждый сам определяет для себя это понятие. Я, например, думаю, что Rust начнут преподавать в различных учебных заведениях. Это создаст новую волну Rust-программистов.

    Самые любимые языки программирования из исследования StackOverflow 2020 года

    Rust зарекомендовал себя как отличный язык, вокруг которого сложилось энергичное и активное сообщество. А если учесть то, что Facebook создаёт с помощью Rust огромный проект Libra, скоро мы узнаем о том, на что способен этот язык.

    Если вы собираетесь выучить новый язык программирования — я бы настоятельно порекомендовал вам заняться Rust. Например — можете попробовать эту книгу.

    Популярность GraphQL продолжит расти

    По мере роста приложений и увеличения их сложности растут и нужды этих приложений, касающиеся потребления данных. Я — большой фанат GraphQL. Мне доводилось пользоваться этой технологией много раз. Я думаю, что GraphQL значительно превосходит традиционные REST API.

    В то время как типичный REST API требует организовывать загрузку данных из разных источников, выполняя несколько запросов, GraphQL позволяет получить все необходимые данные, возможно, берущиеся из разных источников, выполнив лишь один запрос.

    GraphQL используется командами самых разных размеров. Эту технологию применяют в различных окружениях, она доступна для приложений, написанных на разных языках. Её используют при создании мобильных приложений, веб-сайтов, API.

    Если вас интересует технология GraphQL — взгляните на этот материал.

    Прогрессивные веб-приложения станут явлением, с которым придётся считаться

    Прогрессивные веб-приложения (Progressive Web Apps, PWA) — это новый подход к разработке приложений, основанный на комбинации всего лучшего, что есть в веб-приложениях и в мобильных приложениях.

    В мире существует гораздо больше веб-разработчиков, чем разработчиков, ориентированных на мобильные платформы, использующих для создания приложений технологии, специфичные для этих платформ. Как только большие компании поймут, что они могут направить силы своих веб-разработчиков на создание PWA, я подозреваю, что мы увидим взрывной рост подобных приложений.

    Для того чтобы большие компании приняли бы эту идею, однако, требуется некоторое время. Это — совершенно нормально. «Прогрессивная» часть PWA, в основном, имеет отношение к фронтенд-разработке. Дело в том, что её создание подразумевает, преимущественно, описание взаимодействия с API Web Workers (это — стандартный браузерный API).

    Веб-приложения никуда не денутся. Большинство программистов увлечено идеей, в соответствии с которой написание единственного кросс-платформенного PWA позволяет им, упрощённо говоря, выходить на те же результаты, что и раньше, но при этом тратить на работу меньше времени и больше зарабатывать.

    Сегодня — замечательный день для того, чтобы начать изучать прогрессивные веб-приложения.

    Технологии WebAssembly будет уделено больше внимания

    Вот что можно узнать о технологии WebAssembly (Wasm) из открытых источников: «Это бинарный формат инструкций для стековой виртуальной машины. WebAssembly спроектирован как портативная цель компиляции для высокоуровневых языков, таких как C/C++/Rust, которую можно развертывать в web для клиентских и серверных приложений». Wasm можно пользоваться и при разработке прогрессивных веб-приложений.

    Другими словами, Wasm — это механизм, который позволяет связать мир JavaScript с миром технологий другого уровня. Предположим, вы задумываетесь о том, чтобы воспользоваться в своём React-приложении библиотекой для обработки изображений, написанной на Rust. Сделать это вам позволит WebAssembly.

    Производительность приложений — это очень важно во все времена, а учитывая то, что объём данных, которые приходится обрабатывать приложениям, постоянно растёт, поддержание производительности на высоком уровне оказывается непростой задачей. Именно здесь вступают в игру низкоуровневые библиотеки, написанные на С++ или Rust. Полагаю, что в будущем году мы увидим множество примеров внедрения WebAssembly крупными компаниями.

    React продолжит лидировать во фронтенде

    Сведения об инструментах для фронтенд-разработки из Google Trends

    React, несомненно, является самой популярной JavaScript-библиотекой для фронтенд-разработки. Такая ситуация сложилась не случайно. Создавать React-приложения легко и интересно. Команда разработчиков React и сообщество, которое сложилось вокруг этой библиотеки, проделали замечательную работу по совершенствованию разных аспектов React и вспомогательных библиотек.

    Я работал с Vue, Angular и React, и могу сказать, что всё это — фантастические инструменты для веб-разработки. Помните о том, что цель библиотеки или фреймворка заключается в том, чтобы решить некую задачу. Поэтому, говоря о разных инструментах, стоит принимать во внимание не то, как они устроены, а то, насколько эффективно они способны привести разработчика к его цели. Я считаю рассуждения о «самом лучшем инструменте» совершенно ненужными. Вместо подобных рассуждений разработчикам стоит направлять всю свою энергию на решение стоящих перед ними задач.

    Если вам не терпится создать какой-нибудь интересный проект — выберите что-нибудь из этого списка.

    JavaScript — язык, который будет всё так же популярен, как сегодня

    С уверенностью можно говорить о том, что уходящее десятилетие уместно будет назвать «десятилетием JavaScript». В эти годы шёл постоянный рост популярности JavaScript, и нет оснований считать, что эта тенденция замедлится. Поэтому, сделав ставку на JavaScript, вы точно не проиграете.

    JavaScript-разработчиков иногда несправедливо называют «ненастоящими программистами». Но JavaScript — это язык, находящийся в сердце любой большой технической компании. Среди таких компаний — Netflix, Facebook, Google и многие другие. В результате можно сказать, что JavaScript, как язык, ничуть ни хуже других языков программирования. Поэтому всем JavaScript-разработчикам стоит гордиться тем, чем они занимаются. В конце концов, именно JavaScript-сообщество создало массу интереснейших и современнейших проектов.

    Анализ ведущих языков программирования
    Вот материал о том, благодаря чему JavaScript стал столь популярным языком.

    JavaScript, в некоторой степени, используется практически на каждом из существующих веб-сайтов. Сколько их? Миллионы!

    Пожалуй, для того, чтобы стать JavaScript-разработчиком, не найти лучшего времени, чем сейчас. Зарплаты JS-программистов растут, рынок труда огромен, да и сообщество этого языка демонстрирует небывалую активность.

    Итоги

    Автор этого материала поделился своим видением того, что можно ожидать от мира программирования в 2020 году. Он выделил такие технологии, как Rust, GraphQL, PWA, Wasm, React и JavaScript. Через некоторое время мы узнаем о том, насколько точными оказались его прогнозы.

    Уважаемые читатели! Как вы думаете, чего можно ожидать от мира программирования в 2020 году?

    Тренды ивент-технологий 2020/2020

    Развитие ивент-технологий оказывает прямое влияние на индустрию организации мероприятий. Но в чём оно выражается? Как изменилась работа ивентора под влиянием технологий? Что организаторы ожидают и что получают в результате их применения?

    Портал EventManagersBlog (EMB) выпустил масштабное исследование The State of Event Technology 2020/2020 о трендах, влияющих на использование технологий в организации мероприятий и ивент-технологической «экосистеме». Исследователи опросили 1445 организаторов мероприятий в Европе и США и на основе результатов опроса выявили 10 ключевых трендов.

    1. Рынок ивент-технологий продолжит консолидироваться

    В последние несколько лет мы стали свидетелями беспрецедентного роста инвестиций в ивент-технологии, а также череды слияний и поглощений на рынке. Аналитики EventMB полагают, что этот тренд сохранится независимо от того, будет ли процветать экономика.

    По мере роста крупных ивент-технологических конгломератов более мелкие компании будут ощущать давление. Те, что не смогут противостоять конкуренции, будут поглощены, другие — будут вынуждены изменить позиционирование на рынке. Это особенно применимо к рынкам, достигшим состояния зрелости, в частности, рынка сервисов онлайн-регистрации и приложений для мероприятий.

    Впрочем, это не касается не англоговорящих рынков. По мнению EventMB, там все ещё существуют большие возможности для органического роста.

    Возможности для органичного роста и венчурного финансирования также пока существуют для компаний, которые занимаются созданием инструментов для привлечения аудитории, менеджмента проектов и регистрации на мероприятии.

    2. Вложения в ивент-технологии растут

    Организаторы мероприятий больше вкладывают в ивент-технологии в 2020 и планируют ещё увеличить вложения в 2020.

    Согласно исследованию 52% ивент-профи планируют увеличить в своем бюджете долю расходов на то, чтобы сделать мероприятие более технологичным.

    Источник: The State of Event Technology 2020/2020

    Стратегическую важность ивент-технологий действительно понимают те участники опроса EventMB, кто организует несколько мероприятий в год (более 16) а также те, кто оперирует большими бюджетами ($5M+). Больше половины (56%) тех, кто организует больше 16 мероприятий в год, планирует увеличить расходы на ивент-технологии в 2020 году. И 71% профессионалов ивент-индустрии с бюджетом $5M+ увеличат расходы на ивент-технологии в 2020

    Что касается освоения новых технологий, 62% опрошенных ивент-профессионалов заявили, что обязательно будут использовать больше ивент-технологий в этом году. Если сравнить этот показатель с 2020 годом, уверенность выросла на 3%.

    Источник: The State of Event Technology 2020/2020

    Тем не менее, в тех случаях, когда ивент-профессионалы все же берут на вооружение новые ивент-технологии, они сталкиваются со сложностью получения одобрения от своей команды или организации (см. следующий тренд). В результате они стараются больше использовать то, что уже есть.

    3. Некоторые инструменты пользуются большей популярностью, чем другие

    Сравнение предпочтений организаторов мероприятий в 2020 и в 2020 годах дает интересную картину того, какие инструменты были популярны в сфере ивент-технологий.

    При том, что онлайн-регистрация на мероприятия все еще занимает лидирующее положение, использование новых инструментов регистрации сократилось на 10% по сравнению с предыдущим годом. Это может быть результатом того, что ивент-профессионалы уже имеют поставщика решений для регистрации.

    Приложения мероприятий показали рост 6% за год. По мнению аналитиков EventMB, рынок ивент-приложений в западных странах достиг своей высшей точки и в 2020 году войдет в фазу трансформации

    4. Решения «всё в одном» процветают

    Аналитики EventMB опросили ивент-профессионалов, что они предпочитают использовать для своих мероприятий: комплексные решения «всё в одном» или несколько разных поставщиков услуг.

    В то время как 45% организаторов мероприятий используют и комплексные, и вертикальные решения, доля тех, кто использует «всё в одном», выросла на 27% по сравнению с прошлым годом.

    В 2020 году только 9% использовали инструменты «всё в одном», теперь же более 36% отдают предпочтение этому варианту по сравнению с использованием нескольких разных решений.

    В 2020 году 73% опрошенных использовали различных провайдеров – возможно, в стремлении к минимизации издержек и достижению более вертикальной функциональности. В 2020 году этот показатель снизился аж до 18%.

    Хотя в этом сыграла роль недавняя волна поглощений, показатель также отражает предпочтения организаторов мероприятий. Поиск, выбор и заключение договоров с разрозненными поставщиками предполагает определенные логистические издержки, которые решения «всё-в-одном» способны существенно уменьшить.

    5. Проблема с Wi-Fi ещё не решена, но ситуация постепенно улучшается

    Когда речь заходит о Wi-Fi на площадках мероприятий, организаторы сразу превращаются в популистов. Гнев, ярость и отчаяние ― распространенные чувства и среди поставщиков этой услуги. На протяжении ряда лет многие сетовали на медленный или дорогой Wi-Fi, видя в нем препятствие на пути роста.

    Что ж, и по сей день 58% организаторов мероприятий отмечают, что проблемы с доступностью и скоростью Wi-Fi оказывают негативное воздействие на их мероприятия.

    Но есть и хорошие новости: доля неудовлетворённых организаторов снизилась до 21%. Все больше площадок включают Wi-Fi в состав арендного пакета, отели предлагают своим гостям на выбор базовый и премиумный Wi-Fi для более эффективного управления трафиком, а предложения провайдеров становятся все более щедрыми и интернациональными. Так что ситуация начинает понемногу улучшаться.

    С приходом 5G есть все основания ожидать, что степень недовольства качеством интернет-соединения на площадках будет уменьшаться.

    6. Цена пока остается одним из основных источников разочарования

    Каждый четвертый из опрошенных EventMB ивент-профессионалов отметил, что ивент-технологии обходятся слишком дорого. Вполне закономерно, что мероприятия с меньшим бюджетом больше ощущают на себе высокую стоимость. Этот показатель существенно выше у тех опрошенных, чей годовой бюджет не превышал ста тысяч долларов (34,5%) и ниже у тех, чей бюджет составил пять миллионов долларов (15,9%).

    Источник: The State of Event Technology 2020/2020

    7. Ивент-профессионалы отдают предпочтение эффективности, а не новизне

    Было время, когда организаторы мероприятий использовали технологии для демонстрации необычности своего мероприятия. Но это в прошлом.

    Два года подряд EventMB опрашивал организаторов мероприятий о том, какие критерии они используют при выборе ивент-технологий, и доля ответивших, что необычность является существенным фактором, резко снизилась: с 53% в 2020 году до 33% в 2020.

    Сейчас основной акцент делается на окупаемость инвестиций через повышение эффективности организации. При этом стоимость остается доминирующим фактором выбора поставщика. Сразу за ценой следуют такие факторы, как возможность интеграции с другими сервисами и доступность поддержки.

    Рекомендации, полученные от коллег-организаторов, также являются существенным фактором, влияющим на процесс выбора.

    Источник: The State of Event Technology 2020/2020

    8. 59% ивент-профессионалов являются уверенными или продвинутыми пользователями технологий

    Организаторы мероприятий всё больше и больше осваивают ивент-технологии. Это весьма благоприятная перспектива для всей отрасли. Лишь очень немногие организаторы мероприятий продолжают противиться технологиям.

    Чем большим бюджетом располагает ивент-профессионал (и чем более высокую позицию он занимает), тем более уверенно он работает с техническими средствами. Среди организаторов мероприятий с бюджетом, превышающим 5 миллионов долларов, 33% считают, что они очень хорошо разбираются в технологиях, что на 13% выше среднего для всех опрошенных показателя (20,7%).

    9. С данными всё пока очень плохо

    Исследование EventMB показывает, что ивент-профессионалы продолжают осваивать ивент-технологии, но в том, что касается использования данных, отрасли есть к чему стремиться.

    Только 48% организаторов мероприятий используют ивент-технологии для получения данных, которые можно будет использовать для планирования дальнейших действий. Остальные относятся к данным безразлично, либо вообще не обременяют себя сбором данных.

    По мнение аналитиков EventMB, это означает, что организаторы мероприятий пока упускают возможность для интенсивного роста, и не только в части улучшения мероприятий, но и в вопросах карьеры.

    Исследования говорят о том, что при рассмотрении кандидатов на руководящие позиции в секторе организации мероприятий всё больше компаний обращают внимание на умение работать с данными.

    10. Ивент-технологии помогают организаторам мероприятий действовать более стратегически

    Это высказывание подтверждается тем, как организаторы видят воздействие ивент-технологий на свою работу. Вне зависимости от бюджета, которым они располагают, организаторы мероприятий едины во мнении, что технологии дали им больше ответственности или заставили мыслить и поступать более стратегически.

    Источник: The State of Event Technology 2020/2020

    Ивент-технологии – это не только дополнительная работа, но и возможность поднять роль организатора мероприятия, которая традиционно считалась скорее исполнительской, на более высокий — стратегический — уровень.

    Поставщикам услуг аналитики EventMB также советуют принять во внимание результаты опросов. Вполне возможно, что в 2020 году будут более востребованы инструменты, которые не усложняют работу организаторов, но добывают для них данные, чтобы действовать более стратегически.

    Больше про тренды ивент-технологий:

    Почему мы не выкладываем приложения заказчиков на свой аккаунт (спойлер: так делать вообще нельзя)

    Представьте ситуацию: вы остановили частника, чтобы доехать в аэропорт. По дороге водитель начинает откровенно нарушать правила — гнать, выезжать на встречную полосу, обгонять. Вы знаете, что впереди пост инспекции и говорите об этом водителю.

    Кейс: как ивент-приложение помогает «Территории культуры Росатома» объединять профессионалов сферы культуры из «атомных» городов

    Программа «Территория культуры Росатома» — масштабный проект в сфере развития культуры в регионах присутствия предприятий Государственной корпорации по атомной энергии «Росатом». Одно из направлений работы программы — образовательные семинары для представителей профессиональных сообществ: сотрудников театров.

    Что нужно знать frontend разработчику сегодня

    Фундаментальными технологиями фронтенд разработки являются HTML (для создания структуры страницы), CSS (для стилизации) и JavaScript (для интерактивности). По этой причине базовые знания в вышеупомянутых областях непременно вам необходимы. Однако, в 2020 году необходимо знать, что такое фреймворки, системы контроля версий и многие другие вещи, упрощающие жизнь современному разработчику. Давайте подробней остановимся на каждой из них.

    HTML и CSS

    HTML (Hyper Text Markup Language) и CSS (Cascading Style Sheets) являются основой веб-разработки. Без этих двух технологий вы не сможете создавать веб-дизайн и получите на выходе простой текст на экране. Вы даже не сможете добавить изображение на страницу без HTML!

    Прежде чем начать карьеру веб-разработчика, вы должны стать специалистом в HTML и CSS. Хорошая новость, уверенное знание этих технологий можно получить всего за несколько недель изучения. У нас вы можете пройти курс по основам HTML!

    JavaScript

    JavaScript позволяет добавить огромный функционал вашей веб-странице. Вы можете создавать довольно функциональные веб-приложения используя только HTML, CSS и JavaScript (сокращенно JS). На самом базовом уровне, JS позволяет вам добавить интерактивности. Вы можете использовать его для создания карты, которая обновляется в реальном времени, интерактивных элементов и онлайн-игр. Такие сайты, как Pinterest используют JavaScript по полной для создания дружелюбного пользовательского интерфейса.

    К тому же, это самый популярный язык программирования в мире, поэтому даже несмотря на ваши планы в карьере, это супер полезный язык для изучения.

    JQuery

    JQuery это библиотека JavaScript: набор плагинов и расширений, которые делают разработку с помощью JavaScript быстрее и проще. Вместо того, чтобы писать все с нуля, JQuery позволяет вам добавить готовые элементы в проект, которые можно затем изменять под ваши нужды (одна из причин, почему так важно знать JavaScript). JQuery используют, когда на страницу необходимо добавить таймер отсчета, форму поиска с автозаполнением, или даже таблицу, которая автоматически перестраивается и изменяет размер в соответствии с содержимым.

    JavaScript фреймворки

    JS фреймворки (включая AngularJS, Backbone, Ember и ReactJS) предоставляют готовую структуру вашего JavaScript кода. Существуют различные типы фреймворков под разнообразные нужды, однако четыре вышеупомянутых являются самыми популярными в списке требований при приеме на работу в 2020 году. Фреймворки действительно ускоряют процесс разработки, предоставляя вам ускоренный старт, и могут использоваться в связке с библиотеками вроде JQuery для минимизации временных затрат на написание типовых блоков.

    Frontend фреймворки

    CSS и Frontend фреймворки (самым популярным является Bootstrap) делают для CSS то же, что и JS фреймворки для JavaScript: они ускоряют разработку, предоставляя отправную точку с готовой стартовой структурой проекта. Поскольку от проекта к проекту базовые CSS блоки повторяются, фреймворк, определяющий все за вас, является очень полезным. Большинство работодателей требуют знание того, что такое frontend фреймворки и как с ними работать.

    RESTful сервисы и API

    Не вдаваясь в технические подробности, REST расшифровывается, как Representational State Transfer, что означает “передача состояния представления”. В общих чертах, это технология, упрощающая связь компонентов в сети. И RESTful сервисы и API — это сервисы архитектуры REST. Почитать об этом подробнее вы можете здесь.

    Предположим, вы решили написать приложение, которое отсортирует всех ваших друзей в социальной сети по дате добавления. Вы можете сделать запрос к RESTful API ВКонтакте для получения списка ваших друзей. То же самое возможно и с Twitter, и с Facebook, которые также используют RESTful API.

    Системы управления контентом и платформы E-commerce

    Практически каждый веб-сайт построен на системе управления контентом (CMS). Платформы E-commerce являются одной из разновидностей CMS. Самая популярная в мире CMS — это WordPress, которая находится за занавесом миллионов сайтов, почти 60% всех сайтов, использующих CMS, построены на WordPress. Другие популярные CMS это Joomla, Drupal и Magento. Даже поверхностные знания этих систем дадут вам преимущество при устройстве на работу.

    Тестирование и отладка

    Ошибки случаются — это общепризнанный факт. Быть знакомым с процессами тестирования и отладки жизненно необходимо.

    Unit-тесты — это процесс тестирования отдельных блоков исходного кода и специализированный фреймворки для подобного рода тестирования предоставляют достаточно удобный функционал. Существуют разные фреймворки для разных языков программирования.

    Другой тип тестирования — это UI-тесты, также известные как функциональные тесты. Здесь проверяется общее поведение веб-сайта при взаимодействии с ним пользователя.

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

    Git и системы контроля версий

    Системы контроля версий позволяют вам отслеживать изменения, вносимые в код со временем. Они также позволяют легко возвращаться к предыдущим версиям кода, если вы что-либо испортите. Git — это наиболее распространенная система контроля версий. Знание Git для разработчика является необходимым требованием практически в каждой компании. У нас вы можете изучить основы работы с git.

    Что должен знать профессиональный фронтенд-разработчик сегодня

    В последние несколько лет React, одна из библиотек JavaScript, становится стандартом frontend разработки — и это на руку кроссплатформенным разработчикам, с такими преимуществами React Native, как:

    • простая и интуитивно понятная философия объявления представлений (views) и состояний (state), делающая код чистым, читаемым и легкоотлаживаемым;
    • умный и эффективный рендеринг, который перерисовывает компоненты только в случае необходимости, при изменении состояния.

    Говоря простым языком, React связывает вместе HTML и JavaScript.

    Что же касается CSS, никто больше не пишет на чистом CSS в наши дни, поэтому знание таких препроцессорных языков, как Sass или Less является, так скажем, необходимостью для фронтенд-разработчика в 2020 году.

    Учитывая вездесущность множества форм-фактором различных устройств (мобильные телефоны, планшеты, десктопные ПК), мы бы также рекомендовали к изучению способы построения адаптивных web-страниц. Существует большое разнообразие библиотек JavaScript и CSS, которые прекрасно справляются с этой задачей. Многие из них основаны на рекомендациях Google’s Material Design.

    Существует множество смежных тем и библиотек, достойных внимания и того, чтобы потратить свое время на их изучение. Например:

    • Webpack для модульной сборки (хотя опыт Webpack довольно ужасен и выбор сообщества в области сборки меняется каждые 1-2 года);
    • JSON Web Token для авторизации (своего рода, замена куки, которые ранее были стандартом);
    • Relay/GraphQL или Redux или Flux, в зависимости от того, насколько глубоко вы хотите погружаться в потоки и выборки данных;

    А также большое разнообразие библиотек для отладки, оптимизации производительности, тестирования, управления проектами и т.п.

    Таким образом, в наши дни, чтобы быть востребованным разработчиком, необходимо знать не только фундаментальные основы, но и уметь использовать существующие наработки коллег в виде различных библиотек и фреймворков, значительно ускоряющих процессы разработки.

    Наш совет: если вы ещё только начинаете знакомство с frontend-разработкой, пройдите наш курс по HTML.

    10 навыков, которые нужно освоить, чтобы получить работу front-end разработчика

    Если вы хотите сменить свою специальность, чтобы получить новую, более высокооплачиваемую работу, сфера IT и front end подходят для этого как нельзя лучше.

    Ключевые преимущества: высокая оплата, творческая работа и гибкий график. Но есть целый ряд и других причин, по которым сфера IT является привлекательным вариантом.

    Сейчас я хочу сосредоточиться на front-end разработке. Если говорить обобщенно, front-end разработчики пишут сайты, используя HTML , CSS и JavaScript . Они же реализуют готовый дизайн на сайте.

    Быстрый обзор текущих вакансий для front-end разработчиков показывает, что существует четкий набор навыков, которые указывают работодатели. Например, списки требований первых трех вакансий для front-end разработчиков, которые я нашел на Glassdoor.com , во многом идентичны: знания HTML , CSS и Javascript , контроль версий, фреймворки.

    Это термины, с которыми вы познакомитесь, когда начнете изучать front-end разработку. Ниже приводится список 10 основных навыков, необходимых каждому front-end разработчику.

    1. HTML / CSS

    Это стандартный язык разметки, используемый для создания веб-страниц. Язык разметки — это способ задать разметку в цифровом документе, который можно отличить от обычного текста. Это фундамент, который понадобится для разработки сайтов.

    CSS ( каскадные таблицы стилей ) — это язык, используемый для представления документа, созданного с помощью HTML . CSS используется для определения макета страницы, цветов, шрифтов и других стилей!

    2. JavaScript / jQuery

    Еще одним основным инструментом в арсенале начинающего front end разработчика должен стать JavaScript ( JS ). Если HTML — это язык разметки, а CSS — язык стилей, то JS — это язык программирования. Если HTML и CSS определяют представление страницы, JS определяет ее функционал.

    Для простых сайтов или веб-страниц достаточно будет HTML/CSS . Но для интерактивных функций ( аудио и видео, игры, прокрутка, анимация страниц ) понадобится JS .

    Одна интересная вещь, которую следует знать о JS — это наличие библиотек, таких как jQuery . Библиотеки — это коллекции плагинов и расширений, которые позволяют проще и быстрее использовать JS на сайте.

    JQuery принимает общие задачи, для реализации которых требуется несколько строк JS-кода , и сжимает их так, чтобы это можно было сделать с помощью одной строки.

    3. CSS и JavaScript-фреймворки

    CSS и JavaScript-фреймворки представляют собой наборы файлов CSS или JS , которые выполняют огромный объем работы, предоставляя базовый функционал. Например, формы регистрации на сайте или в блоге. Вместо того чтобы начинать с чистого документа, вы начинаете с файла, в котором уже есть общий JS-код .

    Front end разработка и что это сложно свидетельствует тот факт, что у фреймворков есть свои сильные и слабые стороны. Например, некоторые JS-фреймворки отлично подходят для создания сложных пользовательских интерфейсов, а другие — для отображения содержимого сайта.

    Чтобы еще больше все упростить, можно использовать фреймворки совместно. Обычно используется пара Bootstrap с другим JavaScript-фреймворком , таким как AngularJS . Содержимое обрабатывает Angular , а внешний вид — Bootstrap ( с некоторым изменениями в CSS ).

    Вы все время будете использовать CSS и JS , и так как многие проекты начинаются с похожих элементов, эти фреймворки имеют решающее значение для эффективного разработчика.

    4. Препроцессинг CSS

    Одним из ограничений CSS является тот факт, что вы не можете определять переменные, функции или выполнять арифметические операции. Подобно CSS ( и JS ) фреймворкам, препроцессинг CSS — это еще один способ сделать вашу жизнь более простой.

    Используя препроцессоры CSS , такие как Sass , LESS или Stylus , можно писать код на языке препроцессора, доверяя ему делать то, что может занять много времени при использовании CSS . Затем препроцессор преобразует код в CSS , чтобы он работал на сайте.

    Предположим, вы решили изменить оттенок синего, который используется на сайте. С помощью препроцессора CSS достаточно изменить шестнадцатеричное значение в одном месте. Вместо того чтобы проходить все стили и везде менять значения цветов.

    5. Контроль версий / Git

    После написания кода HTML , CSS и программирования на JS front end web developer должен будет произвести ревизию проделанной работы. Если что-то пошло не так, последнее, что вам захочется, это начинать все с начала. Контроль версий — это процесс отслеживания и контроля изменений в исходном коде.

    Программное обеспечение для управления версиями, такое как Open Source Stalwart Git — это инструмент для отслеживания изменений, чтобы иметь возможность вернуться к предыдущей версии и выяснить, что пошло не так.

    6. Адаптивный дизайн

    Сегодня мы используем большое количество компьютеров, смартфонов и планшетов для просмотра веб-страниц. Вы когда-нибудь замечали, как веб-страницы подстраиваются под устройство, которое вы используете. Это связано с адаптивным дизайном. Понимание принципов гибкого дизайна и способов их реализации является ключом к разработке интерфейса.

    Адаптивный дизайн является неотъемлемой частью фреймворков CSS , таких как упомянутый выше Bootstrap .

    7. Тестирование / отладка

    Чтобы заставить все работать надлежащим образом, нужно тестировать код на наличие ошибок. Поэтому навыки тестирования и отладки являются обязательными для front-end разработчиков.

    Существует несколько различных методов тестирования. Функциональное тестирование проверяет конкретный функционал сайта ( например, форму или базу данных ).

    Единичное тестирование — это еще один метод. Он проверяет фрагменты кода, которые отвечают всего за одну вещь на сайте, на предмет их корректной работы.

    Тестирование — важная часть процесса разработки front end на Java . Но это еще одна область, для которой существуют различные фреймворки, которые помогут вам. Такие программы, как Mocha и Jasmine , предназначены для ускорения и упрощения процесса тестирования.

    8. Инструменты браузера для разработчиков

    От того, как ваш сайт будет отображаться браузерами, в значительной мере будет зависеть его успешность. Подобно тестированию и отладке, современные браузеры оснащены инструментами для разработчиков. Эти инструменты позволяют тестировать и настраивать страницы в соответствии с тем, как браузер интерпретирует код.

    Встроенные в современные браузеры инструменты для разработчиков обычно состоят из инспектора и консоли JavaScript . Инспектор позволяет увидеть, как выглядит HTML-код на странице, какой CSS связан с конкретным элементом на странице. А также позволяет редактировать HTML и CSS , просматривать произошедшие изменения в режиме реального времени.

    Консоль JS позволяет просматривать ошибки, возникающие при попытке браузера выполнить JS-код .

    9. Инструменты для построения и автоматизации / производительности

    Производительность сайта зависит от количества времени, которое требуется для его загрузки. Если при front end программировании возникли проблемы со временем выполнения, необходимо предпринять шаги для их решения. Например, оптимизация изображений ( масштабирование и сжатие изображений для максимальной производительности ), минимизация CSS и JavaScript ( удаление ненужных символов из кода без изменения функционала ).

    Выполнение задач, которые приводят к повышению производительности, также может отнимать много времени. Но здесь на помощь приходят инструменты для построения и автоматизации. Такие программы, как Grunt и gulp , могут использоваться для автоматизации оптимизации изображений, минимизации CSS и JS и других задач.

    10. Командная строка

    Использование графических интерфейсов может показаться заманчивой идеей, когда речь идет о веб-разработке. И они часто весьма удобны. Но универсальный графический интерфейс будет иметь свои ограничения для некоторых конкретных приложений. Иногда нужно будет открыть на компьютере терминал и ввести типизированные команды командной строки.

    В этом заключается разница: через графический интерфейс можно ввести только то, что вам доступно, а через командную строку можно произвести базовые настройки.

    Даже если большая часть работы front end web developer выполняет через графический интерфейс, он может получить серьезное преимущество в глазах потенциального работодателя, если будет владеть навыком работы с командной строкой.

    Не останавливайтесь в совершенствовании своих профессиональных навыков!

    Данная публикация представляет собой перевод статьи « 10 Skills You Need to Land Your First Front End Developer Job » , подготовленной дружной командой проекта Интернет-технологии.ру

    Основатель For Web Андрей Романов: о разработке, обучении и перспективах фронтенда

    В рубрике «Развитие» публикуем интервью с Андреем Романовым — фронтенд-разработчиком, создателем популярного сообщества For Web. Андрей рассказал о себе и своих проектах, перспективах фронтенда, поделился взглядами на обучение и развитие программистов.

    О себе и своём обучении

    Дмитрий Дементий: Андрей, расскажите пожалуйста о себе: кто вы, чем занимаетесь, где работаете?

    Андрей Романов: Меня зовут Андрей Романов, мне 21 год. Я фронтенд-разработчик из Омска, переехал в Москву в 2020 году после окончания Школы разработки интерфейсов Яндекса. Работаю в Joom в команде службы поддержки. Развиваю сайд-проекты: For Web (новости фронтенда) и frontend case studies (коллекция материалов об опыте разработки интерфейсов в реальных компаниях).

    Д.Д.: Где вы обучались разработке?

    А.Р.: У меня нет формального образования. Единственные очные курсы, которые я окончил — это вышеупомянутая ШРИ Яндекса. В основном я учился всему самостоятельно: черпал теорию из статей и книг, делал учебные проекты, проходил онлайн-курсы на Coursera, HTML Academy, Code School (теперь уже Pluralsight) и Hexlet.

    Д.Д.: Знаю, что учились в том числе у нас. Можете поделиться впечатлениями, мнением о Хекслете?

    А.Р.: Проблема многих книг и курсов (в том числе вузовских) в том, что они учат конкретным технологиям и языкам программирования: в них обычно рассказывают о синтаксисе языка и стандартной библиотеке, но не рассказывают, как проектировать и писать хорошие и поддерживаемые программы.

    Курсы Хекслета в этом плане выгодно отличаются от других, потому что они учат не синтаксическим конструкциям конкретного языка, а фундаментальным принципам программирования. Плюс сам формат обучения мне нравится: изучаешь порцию теории и сразу закрепляешь её практикой, часто нетривиальной и заставляющей размять мозги.

    О сообществе For Web

    Д.Д.: Ваш проект For Web — одно из самых популярных в рунете сообществ, посвященных фронтенду и программированию в целом. Расскажите о нём пожалуйста. Как создавалось, как развивалось, как функционирует сейчас?

    А.Р.: В начале 2014 года я решил сохранять где-нибудь ссылки на найденные полезные статьи и инструменты, и завёл для этого страницу во «ВКонтакте». В какой-то момент понял, что это может быть интересно другим людям, запустил таргетированную рекламу и набрал первые несколько сотен подписчиков.

    Затем был долгий период роста и экспериментов: я привлекал аудиторию, обмениваясь публикациями с сообществами смежной тематики, пробовал новые форматы вроде интервью, вопросов от подписчиков или коротких советов, перерисовывал логотип (текущая версия — третья, а так выглядели первая и вторая), пытался привлекать соавторов (в итоге я занимаюсь проектом в одиночку).

    Сейчас формат устоялся, и аудитория, кажется, достигла некоторого потолка, хоть рост и продолжается. На сегодня For Web — это лента полезных материалов в ВК, Твиттере и Телеграмме, а также регулярный дайджест новостей фронтенда для тех, кто не хочет тратить время и внимание на соцсети.

    Д.Д.: В паблике вы курируете контент: публикуете интересные посты. Кто их подбирает? По каким критериям выбираете, что публиковать, а что нет?

    А.Р.: Я слежу за множеством RSS-лент и email-рассылок. Если встречаю потенциально интересный материал, откладываю его в специальную очередь, которую затем фильтрую тщательнее, вникая в суть материала.

    За время существования сообщества критерии сильно изменились. Сейчас я стараюсь публиковать как можно более долговечные и полезные широкому кругу подписчиков материалы (то есть статьи о хайповых фреймворках и библиотеках сразу отпадают). Отдельные жемчужины, которые я очень люблю — статьи из блогов компаний, рассказывающие о решении реальных рабочих задач. Я не публикую пиратские материалы. Я не ограничиваюсь материалами о фронтенде: парадигмы программирования, архитектура, софтскилы, дизайн и UX — всё это тоже полезно фронтендерам.

    Д.Д.: Есть ли в сообществе модерация? Если участники начинают вести себя некорректно, что происходит?

    А.Р.: Обычно я руководствуюсь здравым смыслом и удаляю очевидный спам. Раньше я пытался заставить подписчиков следовать определённым правилам поведения (например, писать конструктивные комментарии вместо бесполезных в духе «ерунда какая-то») и карал за их нарушения, но в какой-то момент я понял, что правила всё равно никто не читает, а людей не перевоспитать, и перестал за этим следить. Бывает, что дискуссии разгораются и участники начинают друг друга оскорблять; я не хочу вводить цензуру, поэтому обычно не вмешиваюсь.

    О фронтенде

    Д.Д.: Вы фронтенд-разработчик, ваш проект For Web преимущественно посвящен фронтенду. Почему выбрали это направление?

    А.Р.: Так получилось, что свой путь я начинал с книги по HTML, изучал вёрстку и параллельно пробовал разные языки программирования. Материалы по программированию, с которых я начинал, были довольно посредственные, и результатов с вёрсткой я добился гораздо быстрее. В основном это и повлияло на выбор направления: фронтенд позволяет очень быстро сделать что-то рабочее и осязаемое, а бэкенд на тот момент был мне непонятен и чужд.

    Д.Д.: Как вы считаете, перспективно ли в данный момент обучаться фронтенд-разработке? Способствует ли этому ситуация на рынке труда? Или может быть есть более перспективные направления?

    А.Р.: Открыл сейчас поиск hh.ru по Москве, там 1472 вакансии по запросу frontend и 1391 вакансия по запросу backend. Учитывая фрагментированность бэкенда (Python-программистов не всегда готовы нанимать на Java или Go), фронтенд кажется востребованнее. С другой стороны, бэкендеры имеют лучшие карьерные перспективы: я не знаю примеров, когда в техдиректоры вырастали бы из фронтенда.

    В вебе появляется всё больше средств для разработки сложных приложений (PWA, WebAssembly, браузерные API для доступа к железу), и это тоже влияет на востребованность фронтендеров: многие компании делают веб-приложения, чтобы сэкономить на разработке нативных приложений под каждую платформу.

    Д.Д.: Как вы думаете, чистые верстальщики без знаний программирования конкурентоспособны на рынке труда? Или на вёрстке останавливаться нельзя, надо развиваться и учиться программированию?

    А.Р.: На западе в принципе нет такого понятия как «верстальщик» — там верстают либо дизайнеры, либо программисты. Да и в России практически нет вакансий именно про вёрстку, обычно ищут фронтенд-разработчиков, которые должны уметь и сверстать интерфейс, и запрограммировать его. Думаю, ситуация на рынке говорит сама за себя.

    Д.Д.: С вашей точки зрения у JavaScript-разработчиков есть светлое будущее? В обозримой перспективе нет ли каких-то технологий или языков, которые заменят JS-программистов? (WebAssembly и так далее). Может уже сразу надо учиться чему-то другому?

    А.Р.: В обозримой перспективе HTML/CSS/JavaScript из браузеров никуда не денутся. Чтобы не упустить светлое будущее, не нужно позиционировать себя как React-разработчик или JavaScript-разработчик. Учитесь фундаментальным вещам, а не модным фреймворкам, и тогда ваши знания не будут быстро устаревать.

    Д.Д.: Сейчас на коне React, популярен Vue, Angular вроде бы сдаёт позиции, но всё равно востребован. Через несколько лет фронтендеры будут пользоваться этими инструментами или появятся новые фреймворки и библиотеки?

    А.Р.: Учитывая то, с какой скоростью развивается фронтенд, появление новых фреймворков исключить сложно. Но в любом случае останется множество написанных сейчас проектов, которые переписывать будет нецелесообразно, так что нынешние фреймворки не исчезнут совсем.

    Д.Д.: В целом, куда идёт фронтенд-разработка? Есть какие-то выраженные тенденции, которые серьёзно изменят рынок, подходы к работе, ситуацию в сфере занятости фронтендеров в ближайшей перспективе?

    А.Р.: Я наблюдаю развитие веб-платформы в сторону полноценных приложений. Пока что веб скорее догоняет мобильную разработку по возможностям и подходам, но у веба есть важное преимущество — кроссплатформенность. Могу выделить несколько перспективных направлений, технологий и подходов.

    PWA — приложения, обеспечивающие близкий к нативному UX, работу в офлайне, установку приложения на мобильный или десктоп. Реализуются с помощью набора специальных API вроде сервис-воркеров.

    WebAssembly — технология, позволяющая запускать в вебе ресурсоёмкие приложения, написанные на языках вроде C/C++/Rust. Несмотря на молодость технологии, её уже используют продукты вроде Unity, Figma и eBay.

    CSS Houdini позволит расширять CSS за счёт доступа к механизму отрисовки страницы браузером. Например, это позволит писать полифилы для новых возможностей CSS и не ждать их реализации разработчиками браузеров.

    Только-только зарождающаяся идея, заимствованная из мобильной разработки — вынос в отдельные треды всех вычислений, не связанных с отрисовкой интерфейса, чтобы не блокировать ими этот самый интерфейс.

    Ещё одна интересная идея — переход от фреймворков с тяжёлым рантаймом к фреймворкам, компилируемым в минимально необходимый для работы приложения код. Пионер в этой сфере — Svelte.

    Современные браузеры поддерживают последние стандарты и API (вплоть до ES-модулей), что позволяет отказаться от инструментов сборки и транспиляции кода вроде webpack и babel, тем самым сильно сократив объём кода, который браузеру нужно скачать, распарсить и выполнить. Пока не все браузеры поддерживают последние стандарты, можно реализовать раздельную раздачу кода: старым браузерам отдавать собранную и транспилированную версию приложения, а современным — облегчённую.

    Д.Д.: Сейчас на слуху технология PWA. Прогрессивные веб-приложения активно популяризирует Google. Есть фреймворки типа Gatsby, которые генерируют сайты с характеристиками PWA. Эта технология откусит долю рынка у нативных приложений?

    А.Р.: Да, PWA уже разработали и запустили многие крупные компании вроде Uber, Pinterest, Tinder, Twitter. Многие компании пока ещё стремятся чуть ли не принудительно перетягивать мобильных пользователей из веба в нативные приложения, но я думаю, что через несколько лет это изменится, когда бизнес поймёт ценность и возможности мобильного веба.

    Доносить ценность и возможности до бизнеса должны как раз фронтендеры: когда я работал в Авито, мой коллега хорошо обосновал и продал бизнесу идею перезапуска мобильной версии сайта, взялся за реализацию и довёл её до конечного продукта. Благодаря нему у Авито теперь более удобная и современная мобильная версия, близкая к нативным приложениям по функциональности и дизайну.

    Д.Д.: Как вы относитесь с CSS-фреймворкам? Это полезные инструменты? Можно ли их использовать в продакшене с вашей точки зрения?

    А.Р.: На мой взгляд, они полезны либо тогда, когда команда с ними хорошо знакома и они действительно помогают ей быстрее доставлять ценность бизнесу, либо когда стоит задача быстро набросать прототип интерфейса не по дизайн-макету. В остальных случаях они доставят больше головной боли, чем пользы. Самый популярный фреймворк Bootstrap полон CSS-антипаттернов вроде глобальных стилей и вложенных селекторов, что делает болью поддержку интерфейсов, использующих его. Алексей Иванов в блоге «Злых марсиан» разбирал проблемы Бутстрапа.

    Об обучении и карьере программистов

    Д.Д.: Как вы думаете, что должен знать и уметь новичок, чтобы претендовать на позицию джуниор-фронтендера? Можно прямо список технологий и умений.

    А.Р.: В первую очередь нужно крепко знать HTML, CSS и основы JavaScript. Сейчас многие кидаются изучать фреймворки, пропуская основы. Так делать не нужно. HTML/CSS/JS вы изучаете один раз и надолго, они составляют фундамент, без которого будет сложно решать реальные задачи. Фреймворки меняются, и по опыту собеседования в крупные компании вроде Яндекса, Авито или Тинькова могу сказать, что знание фреймворков обычно не так важно, как знание базовых веб-технологий.

    Конечно, мало просто знать теорию. Нужно уметь применять её. Я бы ждал от джуниора умения семантично и адаптивно верстать, умения запрограммировать несложный интерфейс. Проверить эти умения можно на каком-нибудь простом примере вроде виджета конвертации валют.

    Д.Д.: Опишите, пожалуйста, идеальную систему подготовки фронтенд-разработчика. Иными словами, как абсолютному новичку прямо сейчас, в 2020 году, научиться разработке и стать востребованным на рынке труда специалистом? Куда идти, что читать, что покупать, что делать?

    А.Р.: Я бы порекомендовал взяться за курсы HTML Academy, чтобы научиться основам вёрстки, и параллельно взяться за курсы Хекслета, чтобы заложить фундамент в программировании. JavaScript и браузерные API рекомендую изучать на learn.javascript.ru. Эти три ресурса содержат большинство необходимой теории, закрепляемой практическими заданиями.

    Как только сможете написать виджет обмена валют, рекомендую идти на собеседования в реальные компании, чтобы сразу обнаружить пробелы в знаниях (или же удачно получить офер). Также новичкам будет полезно пройти ШРИ Яндекса: даже если вы не собираетесь в Яндекс, это прокачает ваши навыки фронтенда и даст опыт работы в команде, а ещё даст кучу полезных знакомств.

    Д.Д.: Где можно прокачиваться новичкам, чтобы отработать полученные на курсах знания и умения и предъявлять работодателю реальный опыт, реальный код?

    А.Р.: Прежде всего нужно завести профиль на ГитХабе или ГитЛабе, чтобы было куда выкладывать код. Рекомендую поискать или попросить у компаний тестовые задания. Если найти тестовые задания не получится, можно придумать их самому или погуглить app ideas list.

    У «Злых марсиан» есть крутая инициатива Cult of Martians: они публикуют задачи по реальным опенсорс-проектам, можно выбрать любую, сделать её и получить в портфолио строчку о вкладе в опенсорс.

    Примечание редактора: «Хекслет» подготовил репозиторий с тестовыми заданиями от известных компаний. Также у нас есть opensource-проект Codebattle, в котором может поучаствовать каждый желающий разработчик с любым уровнем подготовки.

    Д.Д.: Как вы считаете, сколько нужно среднестатистическому человеку времени, чтобы изучить фронтенд-разработку и претендовать на позицию джуниора? Здесь без учёта индивидуальных особенностей, грубое среднее значение.

    А.Р.: Если учиться фултайм, думаю, хватит от 6 до 9 месяцев, чтобы заложить качественный фундамент и устроиться на работу. Если срезать углы и идти на поводу у рынка (изучать сиюминутно популярные фреймворки вперёд основ), можно и быстрее устроиться, наверное.

    Д.Д.: По вашему мнению, каждый ли может научиться разработке, или эта сфера для избранных? Какими качествами должен обладать человек, чтобы стать успешным разработчиком?

    А.Р.: Промышленная разработка — точно не сфера для избранных. Это ремесло, которому должны учить скорее в ПТУ, чем в вузах. Сложно выделить какие-то определённые качества. Я бы сказал, что в первую очередь нужен интерес. Если человеку интересна разработка, у него всё получится.

    Д.Д.: Обучение программированию связано с трудностями и необходимостью дисциплинированно работать. Вы наверняка тоже сталкивались с трудностями и барьерами. Как их преодолевали? Можете что-то посоветовать новичкам? Что делать, когда опускаются руки?

    А.Р.: Мне кажется, любое обучение связано с трудностями и требует дисциплины. Как я уже сказал, в первую очередь помогает искренний интерес; лично мне очень сложно заниматься чем-то, что мне не интересно. Могу посоветовать курс Learning How to Learn, в котором как раз рассказывают, как эффективнее учиться и справляться с прокрастинацией.

    Д.Д.: Куда человеку лучше идти работать после получения диплома или сертификата? Это должна быть крупная компания, или можно выбрать небольшую студию, фриланс? К чему стремиться, чтобы стать хорошим специалистом и хорошо зарабатывать?

    А.Р.: Надёжнее начинать со средней или крупной компании: выше вероятность, что в ней уже налажены процессы и выстроена инженерная культура. Но в первую очередь важны люди, с которыми вы будете работать: работу вы будете делать везде примерно одинаковую, а крутые и опытные коллеги могут сильно ускорить ваш профессиональный рост.

    Я работал только в продуктовых компаниях и с аутсорсом не сталкивался, но исходя из рассказов знакомых, я бы не советовал идти в аутсорс.

    Чтобы стать хорошим специалистом и хорошо зарабатывать, нужно прокачивать не только технические навыки, но и софт-скиллы (психология, коммуникация, решение конфликтов и вот это всё). Важно помнить, что вам платят в первую очередь не за красоту кода, а за решение задач бизнеса.

    Д.Д.: В Хекслет часто приходят в зрелом возрасте (30+). Есть кейсы, когда человек получает новую профессию и находит работу джуном в 30+ и даже в 40+ лет. По вашему опыту, есть ли проблема возраста (эйджизм) в сфере разработки? Стоит ли учиться в 30+, или эта отрасль для тех, кому 18?

    А.Р.: Мне сложно оценить ситуацию в отрасли, потому что я слишком молодой. По моему опыту, работодателям важно, чтобы специалист хорошо справлялся со своими задачами и чтобы у него была понятная мотивация. Я наблюдал такое проявление эйджизма: работодатель охотнее нанимал молодых кандидатов из-за того, что они чаще увлечены разработкой и горят ей, а не относятся к ней как к обычной работе. Но такое чаще встречается в стартапах, и я думаю, что зрелые кандидаты сами будут рады избежать таких работодателей.

    Д.Д.: Насколько, по вашему мнению, важны для разработчика софт-скилы? Какими софт-скилами должен обладать хороший специалист?

    А.Р.: Как я уже говорил, софтскилы важны. Любому разработчику приходится взаимодействовать с людьми, будь то заказчики, менеджеры, дизайнеры или другие программисты. В основном нужно уметь вести переговоры, доносить и отстаивать свою точку зрения. Нужно уметь говорить руководству «нет». Нужно уметь открыто обсуждать проблемы и признавать ошибки.

    Рекомендую подкаст Soft Skills Engineering о развитии софтскилов для инженеров.

    Д.Д.: Разработчику приходится учиться всю жизнь. Как вы считаете, хороший специалист должен копать вглубь или вширь? Например, фронтендеру лучше прокачиваться в своём направлении, углубляться в технологии, изучать фреймворки, библиотеки? Или лучше расширять кругозор, знакомиться с бэкендом, учить серверные языки?

    А.Р.: Нужно прокачиваться и вширь, и вглубь. В начале пути нужно будет копать вглубь, чтобы овладеть азами, а затем можно начинать прокачиваться вширь. Стоит изучить основы дизайна, потому что фронтендерам тоже нужно принимать решения за дизайнера (например, когда тот не продумал некоторые состояния интерфейса). Понимание серверной разработки будет полезно для общения с бэкендерами и проектирования API. Стоит прокачаться в тестировании, управлении проектами, психологии. Ну и, конечно, полезным будет понимание предметной области продукта, который вы разрабатываете.

    Д.Д.: Дайте, пожалуйста, совет читателям Хекслета. Как эффективно обучаться, как стать хорошим специалистом?

    А.Р.: Для эффективного обучения я уже посоветовал курс Learning How to Learn. От себя могу добавить, что залог эффективного обучения и успеха в работе — интерес к тому, чем занимаешься. Остальное приложится!

    Д.Д.: Спасибо за интересные ответы!

    Добавить комментарий