Начало работы с веб-разработкой Fullstack
В наши дни современные полная разработка стека очень популярен как в небольших агентствах, так и в крупных компаниях с выделенной технической командой. Веб-инженеры с полным стеком работают над целым веб-стеком технологий в том числе фронтенд, бэкэнд, а также управление сервером.
Многие люди утверждают, что полный стек только приводит к тому, что он «мастер на все руки, но не мастер». С определенной точки зрения это может быть правдой, однако набор навыков имеет такое же важное значение, как и то, что можно достичь с его помощью. Многие разработчики полного стека предлагают ценность, потому что они могут принять идею от замысла до запуска, и полностью понять каждый шаг процесса.
Если вы думаете о собирается полный маршрут, тогда эта статья для вас. Я объясню общие требования разработчика полного стека, что влечет за собой роль и как набор навыков может быть полезен для фрилансеров / подрядчиков, которые хотят работать напрямую либо для клиентов, либо в своих собственных проектах..
Основы полного стека
Современная разработка полного стека прошла долгий путь, так как веб-технологии сильно изменились. Требования к полному стеку должны использоваться в качестве руководства для рассмотрения следующего. Вообще говоря, «стек» представляет технологии, работающие в унисон заставить работать сайт. Это означает код внешнего интерфейса, внутренний код, систему базы данных и платформу веб-сервера + ОС для сервера..
Основной принцип разработки полного стека заключается в понимании всех аспектов создания веб-сайта. Это не означает знание дизайна или работы UI / UX, хотя это может значительно улучшить вашу жизнеспособность и качество работы.
- Основы интерфейса включают в себя HTML / CSS и JavaScript, скорее всего с фреймворк, такие как Angular или React.
- Для языка бэкэнда вы захотите выбрать что-то, что может быть связано с системой баз данных. PHP / MySQL является наиболее распространенным и легким в освоении, потому что он поддерживает многие движки CMS, такие как WordPress. Так же ФОНАРЬ стек, несомненно, самый популярный веб-стек сегодня.
- Знание сервера может быть настолько простым или подробным, насколько вы захотите. Абсолютной основой было бы знание серверной программы, такой как апаш в сочетании с базой данных, как MySQL или же PostgreSQL.
- Вы можете пойти еще дальше, включив знания по установке почтовых серверов или средств повышения производительности, таких как memcached или Varnish..
Разработчик полного стека должен баловаться во всех трех областях с достаточным знанием запустить сайт самостоятельно, и без особой помощи от кого-либо еще.
Техническая глубина знаний
Большой вопрос о полной разработке стека как глубоко войти в каждую область. Является ли инженер с полным стеком действительно мастером чего-либо? Некоторые утверждают, что это возможно, но это не может быть целью полного стек.
Большинство компаний хотят нанять инженеров с полным стеком, которые имеют немного знаний везде. Эти инженеры могут специализироваться в одной области, но они способны выполнять любую роль, когда это необходимо.
Разработчики, которые только начинают этот путь, должны игрушки вокруг во всех областях обучения "достаточно", чтобы решать проблемы по мере их возникновения. Это дает реальную интерпретацию технологий, чтобы увидеть, как различные проблемы применимы к реальным проектам..
Самым большим преимуществом полного стекового кодирования является возможность создавать свои собственные приложения без работы для кого-либо еще.
Если вы освоите все этапы процесса разработки, то сможете сделать все сами. Вам не нужно быть мастером PHP для создания собственного приложения Laravel. И вам не нужно быть гуру JavaScript для создания гибкой выпадающей навигации, особенно сейчас, когда у нас так много открытого исходного кода, доступного в Интернете.
Так как глубоко вы должны войти в любую из этих областей? Это полностью зависит от вас, и ваш ответ, вероятно, со временем изменится.
Но когда только начинаешь, просто зайти достаточно глубоко, чтобы реализовать то, что вы узнали, в реальном проекте. Когда вы сталкиваетесь с чем-то, вы не понимаете, использовать это как возможность углубиться, а также узнать больше об этом конкретном предмете.
Выбор языков
Для нового разработчика это немного загадка, чтобы выбрать, какие технологии изучать. Убирая с пути все необходимое, HTML и CSS абсолютно необходимы. JavaScript также является необходимостью, но вам не нужно считать себя мастером JS. Однако вам должно быть интересно узнать больше, чем просто JavaScript.
Большинство разработчиков также изучают jQuery, но фреймворки, такие как React, Ember, Angular, Vue или Backbone, предлагают более простой процесс создания полнофункциональных веб-приложений..
Возможно погружение даже глубже обучения причудливые эффекты JavaScript, такие как анимация, но они совершенно необязательны. Разработчик полного стека должен знать достаточно, чтобы выполнить работу и двигаться дальше.
Выбор языка бэкэнда связан не столько с техническими преимуществами, сколько с комфортом. Большинство программистов понимают, что Python - более универсальный язык, чем PHP, однако большинство сайтов работают на PHP-серверах. Это делает PHP ценный язык к большему количеству компаний.
Выберите любой язык, который соответствует вашим потребностям, или предлагает вам самые большие перспективы. Также имейте в виду, что вы не застряли на одном языке бэкэнда навсегда. Если вы начинаете с Ruby, но переключаетесь на Python, вы ничего не теряете в процессе.
Тем не менее, я рекомендую, чтобы после того, как вы нашли нужный вам язык бэкэнда, глубже изучите этот язык и подобрать соответствующие рамки. В PHP есть Laravel, в Ruby есть Rails, а в Python есть Django - среди многих других опций. Эти платформы ускорят процесс разработки и помогут правильно структурировать приложения..
Базы данных и серверы
Выбор механизма базы данных зависит от требований проекта и стека серверов. PHP часто работает с MySQL, так что это наиболее предпочтительный вариант. два крупнейших веб-стека сегодня ФОНАРЬ (Linux-Apache-MySQL-PHP) и ИМЕЮ В ВИДУ (MongoDB-ExpressJS-AngularJS-Node.js).
Большинство хостинговых компаний предлагают LAMP с самого начала без необходимости установки. Но нестандартные решения, такие как Digital Ocean, позволяют запускать практически все с небольшим количеством смазки для локтя. Вы можете найти больше веб-стеков в этом списке или поискать онлайн.
Ваша база данных часто будет привязан к вашему бэкэнд-языку. Python поставляется с поддержкой SQLite по умолчанию, и RoR Разработчики обычно могут работать с чем угодно. И, честно говоря, любой язык обычно может работать с любой базой данных..
Но вы хотите выбрать то, что достаточно часто используется в большинстве веб-проектов. SQL - это общий язык, и он использует в основном один и тот же синтаксис во всех ядрах баз данных. Вы найдете различия в настройке и администрировании таблиц, но обычно они незначительны.
Помимо баз данных, здесь приведены некоторые технические темы на стороне сервера, о которых вы, возможно, захотите узнать.
- CDN и контент-хостинг
- Установка и обновление программного обеспечения сервера
- Лучшие конфигурации сервера для всплесков трафика и времени загрузки
- Решения для кэширования как для запросов к базе данных, так и для хранения файловой системы
- Автоматическое резервное копирование баз данных и плоских файлов, или резервное копирование образа диска
- Настройка HTTPS с управлением доменом (DNS-серверы, записи CNAME и т. Д.)
- Более подробные темы, такие как электронная почта, микросервисы и балансировка нагрузки
Один из лучших способов научиться возиться с серверами как вы строите проекты. Хватай базовый VPS и попробуйте настроить свои собственные стеки. Эти VPS представляют собой законченные виртуальные серверные среды, в которых вы имеете полный контроль над настройкой (или уничтожением) всего. Кроме того, приведенный выше список не является обязательной дорожной картой для всех разработчиков полного стека..
Единственное знание, которое вам действительно нужно, это все, что требуется для создания пустой серверной среды и установки программного обеспечения, необходимого для запуска веб-сайта. Оттуда все остальное - просто улучшенные знания. Если у вас есть вопросы или вы хотите учиться у профессионалов, посетите сообщество Reddit / r / SysAdmin..
Дорога впереди
Если вы действительно хотите научиться полной разработке стека, составьте список всех технологий, которые вы хотите изучить. Оттуда вы можете решать их один за другим, создавая свои собственные проекты практики, чтобы проверить то, что вы изучаете.
Веб-разработка - это постоянно меняющаяся отрасль, поэтому вы всегда должны быть готовы узнать больше. Тестируйте различные стеки и языки, пока не найдете то, что вам нравится. Но всегда будьте готовы идти глубже и становиться лучше!
Стоит ли разработка полного стека? Это вам решать. Но вот некоторые связанные посты, которые могут помочь вам понять это.
- О легитимности "Full-Stack" (Heapsortjobs.com)
- Итак, вы хотите стать разработчиком полного стека (Rubysteps.com)
- 7 советов о том, как стать разработчиком полного стека (Usersnap.com)