Hitech logo

Мнения

Мобильная разработка: на чем стартануть в IT

TODO:
Катя Литвинова19 сентября 2023 г., 08:22

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

Самые интересные технологические и научные новости выходят в нашем телеграм-канале Хайтек+. Подпишитесь, чтобы быть в курсе.

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

·  Flutter

·  React Native

·  Kotlin

·  Swift

Первые два варианта (Flutter и React Native) относятся к кроссплатформенной разработке и позволяют одновременно писать код сразу для нескольких операционных систем (Android, IOS, а также Web, MacOS, Windows и Linux). Вторые два варианта узкоспециализированные и направлены на конкретную операционную систему:  Android для Kotlin, IOS для Swift. Программирование на Kotlin и Swift для мобильных устройств представляет собой так называемую нативную разработку (Native) — разработку на языке, специфичном для соответствующей операционной системы. Нативные приложения изначально максимально соответствуют операционной системе смартфона: они обеспечивают наилучшую производительность, совместимость с «железом», предоставляют более легкие инструменты для доступа к системным ресурсам (микрофон, GPS, Bluetooth и др.), а также занимают меньше места в памяти смартфона по сравнению с аналогичным приложением, написанным с использованием кроссплатформенного фреймворка.

Однако, благодаря прямой компиляции в нативный код, Flutter обеспечивает производительность, наиболее близкую к нативной. React Native здесь оказывается среди отстающих, так как его код для запуска на устройстве использует виртуальную машину Java, что приводит к довольно существенному отставанию (в десятки процентов в зависимости от выполняемых задач) как от нативных приложений, так и от Flutter.

Чтобы не углубляться в детальное описание и сравнение указанных выше языков/фреймоворков по их достоинствам и недостаткам, проведем простое сравнение по популярности и востребованности на рынке.

Сначала рассмотрим популярность на основании данных trends.google.com:

Мы видим, что Flutter лидирует с большим отрывом среди всех остальных кандидатов.

Теперь, давайте рассмотрим количество вакансий на самом популярном сайте для поиска работы hh.ru. По состоянию на текущий месяц картина по вакансиям выглядит так:

Мы видим, что Flutter существенно опережает остальные опции. Но с чем же придется столкнуться начинающему джуну, может по вакансиям без опыта другая картина? Давайте посмотрим:

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

У Flutter огромное число достоинств, перечислим лишь наиболее важные для начинающего разработчика:

1. Огромное число обучающего материала в свободном доступе — качественные видео на youtube, подробная и актуальная «родная» документация на docs.flutter.dev

2. Для работы с Flutter используем язык Dart — очень красивый и удобный язык программирования, который изначально создавался в расчете на то, чтобы облегчить процесс обучения

3. Интуитивно понятная модель дерева виджетов Flutter — во Flutter все (или почти все) является виджетом. Виджет это кирпичик вашего приложения. Из коробки доступны сотни виджетов подавляющее большинство которых имеет множество параметров, позволяющих настроить виджет так, как это требуется именно вам. Кроме того, вы можете сами писать какие угодно виджеты!

4. Простота настройки и установки фреймворка — в официальной документации все расписано подробно, по шагам

5. Flutter является кроссплатформенным фреймворком — написав приложение один раз вы можете опубликовать его как для Android, так и для IOS (iPhone).

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

7. Огромное число пакетов-расширений, которыми можно пользоваться уже сейчас — если вам требуется какой-либо особенный виджет, проверьте на https://pub.dev/, наверняка найдете то, что вам требуется

8. И прочее, и прочее

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