На чем писать веб приложение
Перейти к содержимому

На чем писать веб приложение

Как разработать хорошее веб-приложение и избежать ошибок — отвечают эксперты

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

Артем Галонский

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

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

В своей работе мы используем платформу собственной разработки BuroData Platform и следующий технологический стек:

  1. PHP позволяет нам в кратчайшие сроки разворачивать RESTful API и интегрироваться с API клиентов и других сервисов. Для написания сложных вычислений и выполнения высоконагруженных участков проекта используем компилируемый язык Go. Это позволяет гарантировать высокую устойчивость разрабатываемых систем.
  2. В качестве JS-библиотеки для разработки пользовательских интерфейсов используем React. Использование React позволяет в кратчайшие сроки вносить изменения, которые появляются в дизайн-системе проекта.
  3. Как основную базу данных используем PostgreSQL. Помимо высоких нагрузок, для которых данная БД используется, она позволяет хранить как структурированные объекты (стандартная реляционная БД), так и неструктурированные объекты в форматах JSON и JSONB, а также искать по ним, что позволяет более гибко подходить к выстраиванию архитектуры проектов.
  4. Для высоконагруженных систем используем Redis: это позволяет избежать сбоев от высоких нагрузок и вычислений при синхронизации между компонентами разрабатываемой нами системы и при интеграции со сторонними сервисами.
  5. В работе над проектами придерживаемся философии DevOps и принципа «инфраструктура как код» (IaC), что позволяет быть уверенным в стабильности поставляемого нами ПО.

Андрей Черабаев

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

Чтобы написать хорошее приложение, его надо написать. Буквально — в блокноте, в формате основных идей о том, как оно должно работать и из каких логических частей состоять. Это не про «контроллер берёт данные из модели и отправляет на отрисовку». Это про то, какие логические части есть в приложении и как они друг с другом общаются.

Не советую бездумно гнаться за всем «модным и молодёжным»: не можете объяснить, зачем вам GraphQL и какие у него преимущества перед простым REST API из трёх запросов, — не используйте. Кажется, это очевидно, но я сам не раз попадал в эту ловушку. Подход «открыть awesome-лист и поставить всё» тоже не лучшее решение: наличие огромного количества сторонних зависимостей не делает проект круче.

Вопрос «какой фреймворк/ОРМ/админку использовать» решается просто: выбирайте тот инструмент, который лучше всего знаете. Ничего не знаете и не умеете — берите то, с чем быстрее и проще разобраться, где меньше всего «уличной магии». Например, из списка Yii/Laravel/Symfony я выберу Laravel. Из админок выберу AdminLTE, потому что она «ну вроде норм и работает». Ни один из авторов этих проектов до сих пор не заплатил мне за рекламу.

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

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

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

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

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

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

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

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

Однако самой, наверное, неожиданной рекомендацией будет избегать любых сторонних библиотек и фреймворков всегда, когда это возможно. Это относится как к клиентской части приложения, так и к серверной. Приложение должно быть максимально компактным и потреблять минимальное количество ресурсов. Например, использование очень популярной библиотеки jQuery (или ей подобных) значительно замедляет работу клиентской части и требует немало ресурсов, что совершенно не обязательно. Абсолютно всё, что нужно, можно написать просто на JavaScript, а более быстрая загрузка и работа клиентской части будет высоко оценена заказчиком.

То же относится и к серверной части, а особенно к построению API для взаимодействия между ними. Для этой цели вполне достаточно использования устоявшихся протоколов CGI или WebSocket там, где это нужно. Различные фреймворки типа ORM несколько облегчают работу программиста ценой снижения эффективности приложения, да ещё и добавляют зависимость от этих библиотек и привносят в систему все их недоработки.

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

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

10 лучших IDE и редакторов кода для веб‑разработчиков

Писать код при желании можно и в текстовом редакторе — ничто не мешает вам создать простейший сайт в «Блокноте», сохранив файл с расширением .html. Однако если вы хотите сделать процесс комфортнее и быстрее, стоит обратить внимание на интегрированные среды разработки (Integrated Development Environment, IDE) или продвинутые редакторы. В этой подборке мы собрали 10 популярных платформ, которые предлагают удобные функции для веб-разработчиков.

Что такое IDE и зачем она вам

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

компилятор: превращает ваш код в исполняемый файл;

интерпретатор: запускает скрипты, которые не нужно компилировать;

отладчик: позволяет находить проблемные места и ошибки в коде;

инструменты автоматизации: помогают автоматизировать сборку проекта и ускорить процесс разработки.

В IDE все эти элементы обычно объединяются в единую платформу.

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

На что обратить внимание при выборе среды разработки

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

2. Возможности совместной разработки. Это опять же относится к командам, собирающимся работать с общим репозиторием. Многие платформы, которые мы рассмотрим ниже, интегрируются с Git.

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

А ещё веб-разработчику важно выбрать хостинг с поддержкой нужного языка. Например, в REG.RU на большинстве тарифов хостинга есть поддержка PHP, Perl и Python, а также СУБД MySQL. А те, кто хочет получить больше возможностей для кастомизации, могут обратить внимание на Облачные серверы со стабильными версиями Ubuntu, CentOS, Debian и шаблонами для веб-разработки.

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

Чтобы помочь вам определиться, мы собрали 10 лучших IDE и редакторов кода, которые поддерживают популярные языки для веб-разработки (HTML, CSS, JavaScript, PHP и Python). Сразу оговоримся, что это не топ, а список (первый — не значит лучший, последний — не значит самый плохой). Поэтому вы можете выбирать любой инструмент, исходя из своих нужд и предпочтений.

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

1. Visual Studio + Visual Studio Code

IDE от Microsoft, Visual Studio, доступна только для операционных систем Windows и macOS. Поддерживает Python, PHP, JavaScript, HTML, CSS и многие другие языки.

Visual Studio обладает всеми преимуществами IDE, включая удалённую отладку. Кроме того, платформа содержит:

— Умное дополнение кода IntelliSense, чтобы ускорить процесс написания программ;

— Инструменты для совместной работы: управление доступами и настраиваемые параметры редактора позволят писать код в едином стиле;

— Интеграцию с Git;

— Простое развёртывание благодаря встроенной интеграции с Azure.

К недостаткам Visual Studio можно отнести стоимость: цены на лицензии Professional, предназначенные для профессиональных команд разработчиков, начинаются от 45 $ в месяц. Корпоративная лицензия обойдётся в 1199 $ за первый год, продление — 799 $ в год.

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

Visual Studio Code

В качестве более простого решения можете рассмотреть бесплатный, но очень мощный и популярный редактор Visual Studio Code — он предлагает не так много возможностей, как IDE, зато позволяет писать код более чем на 72 языках и включает функции отладки. VS Code поддерживается не только на Windows и macOS, но и на Linux.

В редакторе есть умное автодополнение IntelliSense, встроенная интеграция с Git, а также огромная библиотека расширений.

А ещё разработчики GitHub собираются встроить VS Code прямо в браузер с помощью инструмента Codespaces, чтобы можно было вносить изменения в проект, не выходя из GitHub. Сейчас Codespaces находится на этапе бета-тестирования.

2. IntelliJ IDEA

IntelliJ IDEA — Java-ориентированная платформа для разработки от JetBrains. Несмотря на это, она позволяет работать со всеми языками, которые мы упоминали выше (HTML, CSS, JavaScript, PHP и Python). Из коробки вам будут доступны инструменты для написания кода на HTML, CSS и JavaScript (в версии Ultimate). Поддержку PHP и Python можно добавить с помощью плагинов.

IntelliJ IDEA доступна для систем Windows, macOS и Linux. Ключевые функции:

— Умное автодополнение, которое предлагает элементы кода исходя из текущего контекста;

— Встроенная интеграция с системами контроля версий;

— Интеграция с инструментами сборки, такими как Apache Maven, Gradle и Webpack.

IntelliJ IDEA поставляется в трёх ценовых вариантах. Community-версия доступна бесплатно, однако она не включает себя поддержку JavaScript и работу с инструментами базами данных, что может быть критично для веб-разработки. Стоимость индивидуальной лицензии IntelliJ IDEA Ultimate — 149 $ в год, для организаций же цена составит 499 $ на пользователя в год. Также можно попробовать версию Ultimate бесплатно в течение 90 дней.

3. PyCharm

Если вы занимаетесь разработкой на Python, то присмотритесь к PyCharm — ещё одной IDE от JetBrains. Как и IntelliJ, она поддерживается всеми тремя основными операционными системами. Professional-лицензия включает поддержку HTML, JavaScript и CSS. Кроме того, вы всегда можете расширить функционал с помощью плагинов.

С PyCharm вам будут доступны:

— Автодополнение кода и автоматический поиск ошибок;

— Интеллектуальная навигация по проекту;

— Встроенные отладчик, профилировщик Python и терминал;

— Интеграция с популярными системами контроля версий, а также с Jupyter Notebook, Anaconda и другими библиотеками.

Как и IntelliJ IDEA, PyCharm имеет Community-версию с открытым исходным кодом, но с ограниченными функциями — в ней отсутствуют многие инструменты для веб-разработки, нет профилировщика Python и поддержки баз данных.

Professional лицензия стоит 89 $ за год для частных лиц и 199 $ в год для организаций (за одного пользователя).

4. PhpStorm

Если вам больше по душе PHP, то обратите внимание на PhpStorm от JetBrains. Эта IDE имеет много общего с IntelliJ IDEA и PyCharm. Вы можете использовать её на Windows, macOS и Linux, и она поддерживает разработку на JavaScript, CSS и HTML.

Кроме того, PhpStorm рекомендуется JetBrains для работы с популярными CMS: например WordPress, Drupal, Joomla и другими.

Функциональность включает в себя:

— Автодополнение кода и рефакторинг;

— Эффективные функции навигации;

— Встроенная интеграция с системами контроля версий, инструменты командной строки, управление базами данных SQL;

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

Что касается цен, то PhpStorm, в отличие от других продуктов JetBrains, не предлагает бесплатную лицензию. Стоимость начинается от 89 $ в год для индивидуального использования и 199 $ для организаций. Также доступна 30-дневная пробная версия.

5. WebStorm

Для разработчиков на JavaScript JetBrains предлагает платформу WebStorm. Она поддерживает популярные фреймворки для фронтенда (Angular, React, Vue.js) и бэкенда (Node.js, Meteor). Среди преимуществ IDE можно выделить:

— Умное автодополнение кода;

— Инструменты для тестирования Karma, Mocha, Protractor и Jest;

— Интеграция с популярными системами контролями версий.

WebStorm не имеет бесплатной лицензии, цена для индивидуального использования — 59 $ в год, для компаний — 129 $ в год на пользователя.

6. Komodo IDE

Komodo IDE от ActiveState позиционирует себя как «одна IDE для всех языков». И это действительно так: платформа поддерживает JavaScript, HTML, CSS, Python, PHP и множество других языков программирования.

Ключевые особенности Komodo IDE:

— Интеллектуальная подсветка синтаксиса и автодополнение кода;

— Визуальный отладчик и инструменты для тестирования;

— Предварительный просмотр страниц: не нужно переключаться между IDE и браузером;

— Интеграция с Devdocs.io для удобного поиска документации;

— Поддержка популярных систем контроля версий;

— Профилирование кода на Python и PHP.

Community-лицензия Komodo для одного пользователя полностью бесплатна. Расширенная индивидуальная лицензия стоит 84 $ в год, а цены на тарифы для команд разработчиков и бизнеса стартуют от 228 $ в год за одного пользователя.

7. Sublime Text

Строго говоря, Sublime Text больше похож на редактор кода, но он содержит функции, аналогичные полноценным IDE. Sublime Text доступен для всех трёх основных операционных систем и поддерживает HTML, CSS, JavaScript, PHP, Python и другие языки. Кроме того, он включает в себя несколько функций, позволяющих ускорить и упростить редактирование кода, например:

— Навигация Goto Anything для быстрого перехода к файлам, строкам или словам;

— Быстрое внесение изменений сразу в нескольких местах;

— Интеграция с Git через Sublime Merge;

— Быстрое переключение между несколькими проектами с фиксацией изменений.

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

Sublime Text можно скачать бесплатно, однако для дальнейшего использования необходимо приобрести лицензию. Индивидуальный план стоит 80 $ в год, а цена на бизнес-лицензию зависит от числа людей в команде (минимально — 50 $ в год за пользователя для команды от 50 человек).

8. Brackets

Brackets — редактор с открытым исходным кодом, который отлично подойдёт для разработчиков веб-интерфейсов. Доступен для Windows, Linux и macOS. Из коробки поддерживает HTML, CSS и JavaScript, а PHP и Python можно подключить через LSP.

Brackets позволяет редактировать файлы в режиме реального времени: вы можете следить за внешним видом вашего проекта по мере внесения изменений без необходимости перезагрузки страницы.

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

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

9. Atom

Atom — редактор кода с открытым исходным кодом от GitHub. Как можно догадаться, он имеет встроенную интеграцию с Git и GitHub. Atom совместим с Windows, macOS и Linux, а также позволяет:

— Совместно редактировать код в режиме реального времени с помощью Teletype;

— Быстро писать код с умным автодополнением;

— Разделять интерфейс редактирования, чтобы одновременно работать с несколькими файлами или проектами;

— Устанавливать расширения с помощью встроенного менеджера пакетов.

Также вы можете попробовать Atom IDE — расширенную версию Atom, более похожую на полноценную IDE.

10. NetBeans

NetBeans — платформа с открытым исходным кодом от Apache, включающая множество функций, необходимых для веб-разработки. Совместима с системами Windows, Linux и macOS. NetBeans больше ориентируется на Java, но по умолчанию также доступны JavaScript, HTML и CSS. PHP и Python можно добавить с помощью плагинов.

Функциональность NetBeans включает:

— Умное редактирование и автодополнение кода;

— Настраиваемые сочетания клавиш для более быстрой работы;

— Интеграция с Git, Maven и другими платформами.

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

Бонус: какими IDE пользуются разработчики REG.RU

Разумеется, в этой подборке мы привели лишь малую часть существующих сред разработки и редакторов кода. Например, можно было бы упомянуть о Notepad++, Eclipse или активно развивающихся облачных IDE вроде Codeanywhere или Cloud9.

Тем не менее, мы в том числе перечислили инструменты, которыми пользуются разработчики в REG.RU. Например, те, кто так или иначе взаимодействует с Python, отдают предпочтение PyCharm. Разработчики интерфейсов больше склоняются к редакторам, чем к IDE, и выбирают Visual Studio Code и Sublime Text. Также встречаются и те, кто работает в WebStorm, Komodo, Atom. Многие, кстати, считают идеальным редактором Vim: конечно, в нём нет того обилия функций, которые предлагают IDE, однако его вполне можно превратить в удобную для работы среду с помощью многочисленных плагинов и расширений.

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

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

Выбираем язык для веб-разработки

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

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

Спокойствие, сейчас коллективный разум сделает выбор за вас.

В первой части поговорим о языках веб-пространства. Какой предъязыковой расклад надо знать и каков порядок изучения? Об этом далее.

Передовая, тыл и неочевидный выбор

Первый выбор, который надо сделать — сфера ответственности.

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

Backend-разработчики
Люди, ответственные за скрытую от глаз функциональность и обработку данных. Их работа — написание серверного кода.

Full-stack специалисты
Они востребованы наибольшим образом просто потому, что способны в одиночку выполнить все пожелания заказчика.

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

Лицо, которое надо продать

Самое главное, что не надо делать человеку, желающему стать front-end разработчиком, так это искать минимальный список предъявляемый список требований к специалисту. В этом случае велик риск наткнуться на статьи, подобные статье «Frontend-разработчики должны быть в теме всего». Всё что там написано — абсолютная правда, но прийти к этому надо начиная с малого, а малое — это 3 основных кита frontend-а: HTML, CSS и JavaScript. Базу для дальнейшнего обучения вы можете получить на бесплатном интенсиве по веб-разработке.

Ещё несколько лет назад, изучив HTML и CSS в формате нескольких умных книг, а JS на уровне jQuery, можно было всерьёз претендовать на позицию junior-a. Однако сегодня времена изменились, а требования сильно возросли. Впрочем, знания HTML и CSS по-прежнему можно уложить в пару хороших книг:

  • «Изучаем HTML5» Брюс Лоусон, Реми Шарп,
  • «CSS. Рецепты программирования» Кристофер Шмитт.

На JavaScript придётся потратить достаточно много времени. Здесь мало будет изучить теорию, например по книге «JavaScript: Сильные стороны». Необходимо несколько месяцев набивать руки и тренировать мозги на практике, в том числе используя упомянутый jQuery.

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

Обработать, прикрутить и создать

Базовый язык для любого back-end разработчика — PHP. Это некоторая основа, знать которую в совершенстве, как и делать основным инструментом, совсем не обязательно, но на базовом уровне понимать обязаны. Для этого можно хотя бы внимательно изучить книгу «PHP: правильный путь».

Что касается актуальных языков, то выбирать скорее всего придётся из Ruby и Python, причём выбор этот — чистая вкусовщина. Даже здесь на форуме периодически вспыхивают споры, но даже в споре за удобство изучения однозначного победителя найти невозможно. По Python полезно будет прочитать книгу с незамысловатым названием «Изучаем Python», по Ruby — «Rails 4. Гибкая разработка веб-приложений».

Ещё один язык из разряда must know — всё тот же JavaScript с его производными jQuery и Ajax. В данном случае интересует именно back-end разработка, поэтому тратить время на общее изучение языка не имеет смысла, а вот посещение ресурсов вроде блога Антона Шевчука может оказаться крайне полезным.

Ну и конечно потребуются знания в области баз данных. Как минимум, это означает изучение SQL, как максимум — опыт работы с популярными БД.

Один за всех

Правда профессии веб-разработчика в том, что так называемых «сферических» специалистов здесь практически нет, да и рядовые заказчики далеко не всегда понимают эти деления, поэтому в том или ином виде к full-stack-у придётся прийти довольно быстро. Соответственно перечитайте предыдущие 2 раздела, посетите ещё раз форум GeekBrains и начинайте грызть гранит программной науки.

Знания не о языках

Помимо самих языков, необходимо изучать все прилагающиеся к ним профильные надстройки. Особенно это касается JavaScript (AngularJS, Knockout, Backbone) и CSS (Bootstrap, Foundation). Кроме того вам необходимо набить руку с системами контроля версий Git и SVN.

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

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *