Почему вам следует начать с Интернета, а не с мобильных устройств

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

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

Множество возможностей

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

Это отражено в LinkedIn прямо сейчас. Запрос веб-разработчик дает более 11 000 результатов, в то время как запрос мобильный разработчик дает только более 4 000 результатов. При этом не учитывается тот факт, что работа по мобильной разработке разделена между iOS и Android, поэтому, если вы специализируетесь в одной из этих двух областей, то количество ваших возможностей, вероятно, сократится вдвое. Итак, с веб-разработкой сейчас потенциально существует 11 000 рабочих мест. Это не более чем в пять раз превышает количество вакансий, на которые разработчик Android мог бы претендовать. Поскольку большинство заявлений о приеме на работу - это игра с числами, кажется, что цифры в пользу веб-разработчиков.

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

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

Будущее кроссплатформенного программного обеспечения

Хотя текущие мобильные приложения в основном являются нативными (Swift на iOS и Kotlin на Android), будущее кажется другим.

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

Для человека, который всю свою жизнь занимался мобильной разработкой как на iOS, так и на Android, попробовать что-то вроде React Native было крайне чуждо. Мне казалось, что мне нужно время, чтобы понять это. В нем не использовался выработанный мною набор навыков. Это потому, что React Native находится в наборе навыков веб-разработчика.

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

В дополнение к мобильным фреймворкам, использующим традиционные веб-технологии, в будущем спрос на настольные приложения может значительно снизиться, поскольку приложения в нашем браузере станут более мощными и простыми в разработке. Традиционно, если вы создаете мощное настольное приложение, оно будет нативно для каждой ОС, на которой оно работает. ThinkOrSwim был очень мощным приложением, созданным TD Ameritrade, и следующей итерацией их продукта стало веб-приложение. Это веб-приложение будет легче поддерживать для их компании (разработчики для Windows и Mac не нуждаются), и при этом оно по-прежнему будет обладать большей мощностью, чем настольное приложение. Зачем компании нанимать две команды разработчиков, если им нужна только одна с веб-приложением?

Дополнительные Интернет-ресурсы

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

Простой поиск на YouTube или Google даст тысячи руководств и примеров для всего, что вы пытаетесь сделать. Это особенно верно, если вы используете очень популярный фреймворк, такой как React. Поскольку контента намного больше, качество также повышается в соревновании за ваши просмотры (очевидно, в вашу пользу).

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

Плохо ли начинать с мобильных устройств?

Нисколько. В моей предыдущей статье «Лучшее программирование» я подробно рассказал о том, как у мобильных устройств более четкий путь обучения, более постоянный технический стек и потенциально более легкий поиск работы, что делает их отличным выбором для многих.

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

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