Как стать веб-разработчиком?
Меня довольно часто спрашивают, как стать веб-программистом/разработчиком (кому как удобнее), поэтому решил написать небольшую статью, в которой постараюсь составить план, как лучше, по моему мнению, быстро начать свой путь к изучению веб-технологий.
Немного воды: для меня веб-разработка со школьных лет была как хобби, я верстал разные HTML странички для себя в свободное от учебы время, затем начал добавлять различные эффекты на JS, затем хотелось добавить взаимодействие с данными и я изучал PHP + MySQL. И вопроса как изучить ту или другую технологию, никогда не возникало, так как в XXI веке найти информацию в интернете не составляет труда (когда изучал интернет был Dial-up - это 56 Кб/с), главное правильно поставить вопрос.
О веб-проектах и веб-разработчиках
Любой более или менее нормальный веб-проект имеет две составляющие части - это серверная часть (backend) и клиентскую часть (frontend). Серверная часть - это все что обрабатывается на вашем сервере (обработка данных, хранение данных в БД и т.п.), клиентская - все, что видит ваш пользователь у себя в браузере.
Исходя из этого, веб-разработчиков делят на:
-
Backend-разработчик - специалист, который занимается серверной частью проекта, то есть базами данных, архитектурой проекта, программной логикой.
Какие языки программирования:
PHP
,Python
,Ruby
,Java
,Perl
,JavaScript (Node JS)
,Golang
и т.п.Какие фреймворки*:
Laravel
,Symfony
,Codeigniter
,Yii
,Zend Framework
,Kohana
и т.п. -
Frontend-разработчик - специалист, который занимается клиентской частью проекта, то есть созданием пользовательского интерфейса отображаемого в браузере.
Какие языки программирования/технологии:
JavaScript
,HTML
,CSS
и т.п.Какие фреймворки*/инструменты:
Sass/SCSS
,jQuery
,LESS
,AngularJS
,Bootstrap
,Prototype
,Ember.js
,Backbone
,React.JS
,Angular
,Grunt
,Gulp
и т.п. -
Fullstack-разработчик - Специалист, который занимается серверной и клиентской частью проекта, то есть совмещает в себе специализацию backend и frontend разработчика. Наверное у вас возникла мысль, зачем backend и frontend если есть fullstack разработчики, ответ прост: зачастую, fullstack знает некоторые моменты у frontend или у backend более поверхностно, чем узкоспециализированный специалист, поэтому выбор специалиста под проект зависит от сложности/специфики самого проекта.
Предлагаю следующий план:
- Изучить HTML и CSS (вроде как неплохой курс на Stepik: https://stepik.org/course/38218/syllabus)
- Изучить один из языков программирования
PHP
,Python
,JavaScript (NodeJS)
- Параллельно изучить
SQL
(MySQL
,PostgreSQL
и т.п.) наStepik
: https://stepik.org/course/551/promo - Изучить один из фреймворков* под выбранный язык программирования, для
PHP
-Laravel
,Bitrix
**, дляPython
-Django
,Flask
, дляJavaScript
(NodeJS
) -Express
- Сделать веб-проект, можно к примеру блог как у меня и разместить в сети + на
GitHub
- После, как веб-разработка станет вашей профессией, дальше изучать другие языки программирования и фреймворки*
Рекомендуемые источники информации***:
- Для любителей видео курсов, курс от
mail.ru
по веб-технологиям https://stepik.org/course/154/promo - Для старта в
PHP
разработке, книга от К. Янк “PHP и MySQL. От новичка к профессионалу” https://www.litres.ru/kevin-yank-2/php-i-mysql-ot-novichka-k-professionalu-2/ - По Python сложно предложить, какую-то отдельную книгу и для быстрого старта по
Pyhton
+Django
, лучше наверное подойдет видео курс https://coursehunters.net/course/izuchenie-python-tkinter-i-django - По
Flask
- М. Гринберг “Разработка веб-приложений с использованиемFlask
на языкеPython
” https://www.litres.ru/migel-grinberg/razrabotka-veb-prilozheniy-s-ispolzovaniem-flask-na-yazyke-python-22880162/ - Р. Никсон “Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5” https://www.litres.ru/robin-nikson/sozdaem-dinamicheskie-veb-sayty-s-pomoschu-php-mysql-javascript-css-i-html5/
- Для тех кто хочет изучить
Bitrix
**, вот их офф курс https://academy.1c-bitrix.ru/training/course/5862/
*фреймворк - гугл в помощь! хватит ждать, когда тыкнут носом в нужную информацию
**выбрал Bitrix
, так как порог вхождения простой и проектов на нем не мало, а многие хотят прям быстро начать зарабатывать на веб-разработке, так что, как вариант :)
***некоторые источники, которые тут написаны, я поверхностно просмотрел, то есть не могу дать 100% гарантии, что там все хорошо, но по структуре выглядят они неплохо. Блок будет дополняться