Правильный способ изучения веб-разработки
Coding
Веб-разработка - это область, которая, вероятно, никуда не денется в ближайшие 5-15 лет.
Это сильное предположение приходит с фактами о том, как быстро движется веб, улучшения в аппаратном обеспечении, которые есть у людей (быстрые смартфоны), и облачные приложения, которые позволяют делать тяжелые подъемы в облаке и использовать браузер в качестве моста для подключения мощных бэкэнд-серверов с менее способными и мощными фронтендами. Это делает лучшим вариантом изучения веб-разработок прямо сейчас, если вы хотите чему-то научиться.
Это не только откроет множество возможностей для вас как личности, но и позволит вам кодировать и разворачивать полные проекты, которые могут быть потреблены практически всеми на планете. Поскольку у большинства людей все равно есть браузеры, каждый человек - это всего лишь один URL-адрес от вашего веб-приложения и что-то, что вы закодировали - сравните это с настольным приложением или аппаратным продуктом. Просто это не так масштабируемо по сравнению с web. Хорошо! Теперь, когда мы установили тот факт, что веб - это лучший способ, если вы хотите чему-то научиться, давайте посмотрим, как научиться веб-разработке.
Интернет огромен - начните с малого и держите его маленьким
Вы бы увидели огромное количество доступных JavaScript фреймворков и библиотек, таких как React, Angular, Vue, Ember, jQuery, XYZ и др.
Некоторые очень распространенные вопросы, которые я получаю как YouTuber, размещая контент для веб-разработки, находятся в следующих строках:
Мне выучить Х? Х лучше, чем Y? Какова область Z?
Всегда помните 2 вещи о технологиях, особенно об интернет:
- Твой стек почти всегда не имеет значения. Если ты достаточно хорошо владеешь языком/фраемворком, ты будешь выигрывать каждый раз.
- Тебе никогда не нужно учиться всему. Никогда. Будь ворчуном из всех, и, конечно же, хозяином одного из них.
Подводя итог этому разделу, вы должны думать очень мало, когда вы начинаете, так как это супер легко увлечься одним фраемворком на рынке или пытаться бежать вперед, бросая старые технологии и адаптировать новые технологии, не проводя надлежащих исследований.
Начните с HTML и CSS
[Статья] От нуля до героя фронтенда (Часть 1)
[Статья] От нуля до героя фронтенда (Часть 2)
[Статья] 5 этапов самостоятельного изучения HTML и CSS
Я не могу это достаточно подчеркнуть. Мне больно видеть кучу людей, задающих мне вопросы, когда они работают над своими React проектами, когда ответ заключается в каком-то факте, который показывает, насколько слабы их навыки HTML или CSS. JavaScript был только языком сценариев браузера, и хотя сейчас это гораздо больше, это не меняет того факта, что в сети он дополняет части HTML и CSS.
С развитием веб-стандартов, в одной только CSS так много достижимого, что для многих вещей, JavaScript даже не требуется. Анимация? Держи. Перетаскивание? HTML может справиться с этим. Макеты? Проверьте флексбокс или сетку CSS API! Есть так много вещей, которые вы можете узнать о HTML и CSS! Только не торопитесь с JavaScript из-за того, что такие крутые дети, как Angular, ждут вас снаружи. Эти библиотеки и фреймворки никуда не денутся. Не торопитесь.
Глубоко или широко?
Существует 2 подхода к обучению веб-разработке - широкий или глубокий.
Широкий подход означает, что вы начинаете изучать много вещей вместе. Это может сработать для одних людей, и это может не сработать для других. Вы можете перегрузить себя учебниками, упражнениями, видео, блогами и т.д. и сдаться.
Глубокий подход означает, что вы начинаете изучать одну вещь и стараетесь узнать как можно больше об этом. У этого есть свои плюсы и минусы. Вы можете заскучать, сдаться, потому что не видите результатов.
Так какое решение? Ответ, на удивление, в том, чтобы не делать ничего. Выберите небольшой стек - например, HTML/CSS/JavaScript, и погрузитесь вглубь всех трех. Это имеет пару преимуществ:
- Ты не скучаешь, у всех троих относительно разные цели и способы написания.
- Вы можете смешать все три языка, а также быстро создать и увидеть что-то значимое без многомесячных усилий, что обычно требуется для всех других языков, таких как C/C++. Это мотивирует вас работать больше.
Не выбирайте React, ..или Angular, ..или Vue
Когда люди начинают работать с JavaScript, возникает желание подобрать библиотеку типа React, подобрать систему пользовательского интерфейса типа Material UI и просто приступить к созданию потрясающих вещей. К сожалению, это не более чем стрельба в лицо. Вы никогда, никогда не сможете создать промежуточные или продвинутые проекты с этими фреймворками, если не закончите с основами на JavaScript.
И применение JavaScript занимает некоторое время. Обратите внимание, что в предыдущем предложении я использовал слово "применение", а не "обучение". Есть огромная разница между изучением чего-то и применением чего-то, чему вы научились. Создайте небольшой, но работающий проект с HTML/CSS/JavaScript, и когда вы это сделаете, создайте еще один, а затем создайте еще один. На каждом этапе продолжайте увеличивать сложность проекта, и ожидания тоже, пока ваша кодовая база не станет неуправляемой. Точка, к которой вы пришли сейчас, я бы назвал это границей превосходного обучения.
Видите ли, существуют фреймворки, которые выгружают от вас повторяющиеся работы. Они не существуют для того, чтобы вам было наплевать на то, что происходит под капотом, и полагаться на то, что это все волшебство. Первый раз, когда вы выбираете фреймворк, такой как React или Angular, для ваших проектов должен быть тогда, когда вы уверены, что сможете создать этот проект без React или Angular тоже.
Хозяин одного из них
Теперь, когда вы хорошо работаете с HTML/CSS/JavaScript, пришло время перейти на отраслевые стандарты. Правда в том, что каким бы хорошим разработчиком JavaScript вы ни были, вам часто придется работать с современными фреймворками типа React - и только со своими знаниями JavaScript вы не сможете сразу освоить его. Потребуется время - чтобы выучить и понять терминологию, понятия, как она работает под капотом. Пришло время взять фреймворк и овладеть им. Как? Вы можете спросить. Ответ прост - решать вам. Попробуйте "Hello World" или, может быть, немного более сложный проект во всех фреймворках, которые вы там видите (в основном Angular, Vue или React) и посмотрите, какой из них получается у вас больше всего. Выберите этот и не оглядывайтесь назад.
Создавайте с его помощью неограниченное количество проектов и стремитесь делать то, что вы еще не умеете делать - это лучший способ вытолкнуть себя из своей зоны комфорта и узнать что-то новое о том, что, как вы думали, вы уже знаете.
Не менее важно следить и за другими кандидатами. В них участвуют не только прямые конкуренты вашего "любимого" фреймворка, но и некоторые достойные инструменты веб-разработки. Вам не нужно "осваивать" инструменты как таковые, потому что во многих случаях они являются просто одноразовой установкой с регулярным обслуживанием, но всегда приятно держать их в вашем контрольном списке навыков.
Это может включать в себя несколько вещей - unit testing with jest, end-2-end testing with cypress, webpack, babel, parcel, a bit of devops, Linux shell scripting, server deployments и т.д.
Вы всегда можете быстро освоить основы этих навыков, так как они существуют уже долгое время - так что у них есть много справочного материала.
Продолжайте развиваться
Поверьте, это забавное ощущение, но как только вы разрабатываете много проектов и пишете много кода со своим любимым стеком, вы начинаете чувствовать, что можно сделать что угодно. На этом этапе ты можешь взяться за работу и продолжать ее выполнять - это совершенно нормально.
Или ты можешь повысить свои навыки - двигайся дальше. Интернет огромный. Вы закончили с HTML/CSS/JavaScript/React/Angular/Vue?
Переход к серверам - узнайте о развертывании серверов, NGiNX, HAProxy, балансировке нагрузки, настройке облачной инфраструктуры, межсетевых экранах, автомасштабировании и т.д. Уже этим занимаетесь? Переходите к WebAssembly - языку для следующей итерации веб. И с этим тоже разобрались? Ошибка, тогда не знаю, может быть, перейдем к другим областям программирования или кулинарии?
Заключение
В современном мире так легко не повторить ошибки, которые я сделал во время самостоятельного изучения веб-разработки, потому что все эти ошибки теперь доступны для всеобщего обозрения! У вас так много ресурсов, и я сам работал над одним из них для веб-разработчиков!

Понравилась статья? Тогда поделитесь ссылкой с друзьями! Также не забывайте подписаться на наш канал и посетить наш чат