Типы разработчиков | Разработчик мобильных приложений | Часть I

Это второй тип разработчика из серии «Типы разработчиков».

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

Что такое разработчик мобильных приложений?

Разработчик мобильных приложений - это тип разработчика, специализирующийся на создании мобильных приложений для различных платформ по разным причинам. Этими платформами могут быть Android, iOS, Blackberry OS, Windows Mobile и т. Д. Выбор платформ также более или менее будет играть решающую роль в том, чтобы стать одним из двух типов мобильных разработчиков, которые мы перечислим ниже:

Разработчик мобильных приложений для Android

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

  • Языки программирования: Java или Kotlin
  • Инструменты разработки Android: Android Studio или Visual Studio Code с некоторой интеграцией, выполненной вместе с Android Studio, Android SDK, ARCode.
  • Рамки пользовательского интерфейса: Jetpack Compose или Android UI
  • Технологии: классический Bluetooth, OAuth 2.0, Amazon S3, NFC.
  • Сервисы Google: Google Maps, Cloud Firestore, ML Kit, Push-уведомления, Firebase Analytics
  • База данных: SQLite, MongoDB, Firebase, MySQL и т. Д.

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

Языки программирования

Что касается языков программирования, используемых в разработке Android, у нас есть 2 варианта:

Java

Это, пожалуй, самый популярный язык для создания приложений для Android. Благодаря тому, что он используется крупными компаниями, язык хорошо поддерживается и имеет отличную масштабируемость. У вас будет широкий выбор инструментов и библиотек, к тому же они в основном с открытым исходным кодом.

Котлин

С момента своего запуска в 2011 году Kotlin стал фаворитом среди разработчиков приложений и, более того, объявлен Google вторым официальным языком разработки Android. Вы получите более чистый код с Kotlin, и он сэкономит примерно 30% пространства кода по сравнению с Jave. Кроме того, Kotlin на 100% совместим с JVM, что означает, что вы все еще можете использовать Java-фреймворки для разработки приложения.

Инструменты разработки под Android

Это относится к тому, что мы используем для получения отличного опыта разработки при работе с экосистемой разработки Android. Когда мы говорим об инструментах разработки для Android, первое, что приходит на ум, - это единственная и неповторимая Android Studio, предпочтительная IDE при разработке приложений на этой платформе. Большим преимуществом этого инструмента была бы бесшовная интеграция с Android SDK, а также с виртуальным устройством Android (сокращенно AVD), которое является довольно мощным.

Рамки пользовательского интерфейса

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

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

Требования для Android-разработчика:

Как видно на снимках выше, разработчику мобильных приложений, работающему над Android-приложениями, необходимо иметь некоторые базовые знания о нескольких технологиях и концепциях, таких как API-интерфейсы, RESTful / SOAP API, опыт работы с системой баз данных SQL или NoSQL, знания. о мобильных концепциях, таких как Bluetooth, подключение, Wi-Fi, уведомления, один из двух языков программирования, характерных для разработки под Android, и т. д.

Помимо требований к работе по разработке Android, вы также можете ознакомиться с отличной и содержательной дорожной картой, составленной людьми на roadmap.sh, с которой вы можете ознакомиться более подробно здесь.

Средняя годовая зарплата разработчика Android по всему миру по данным Glassdoor

Соединенные Штаты

Германия

Индия

Разработчик мобильных приложений для iOS

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

  • Языки программирования: Objective C или Swift
  • Инструменты разработки iOS: Xcode, Visual Studio Code
  • Платформы: Apple App Frameworks и App Core Services, Socket.IO, WebRTC, Stripe, Fabric, XMPPFramework и т. Д.
  • Рамки пользовательского интерфейса: UIKit, SwiftUI
  • Технологии: Apple Services (Карты, Облако, Звонки, Медиа, AR и т. Д.), Сервисы Google (Google Maps, Cloud Firestore, ML Kit, Push-уведомления, Firebase Analytics и т. Д.), Покупки в приложениях, NFC, WebSockets, OpenCV, OAuth и т. Д.
  • База данных: SQLite, MongoDB, Firebase, MySQL и т. Д.

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

Языки программирования

Когда мы говорим о разработке под iOS, мы говорим о двух конкретных языках программирования:

Цель C

Это исходный язык, на котором было создано приложение для iOS, и Apple по-прежнему поддерживает его. Тем не менее создать приложение с помощью Objective-C непросто, и разработчики склонны ошибаться с ним.

Быстрый

Swift - относительно новый язык, представленный в 2014 году, и разработчики предпочитают его Objective-C. Благодаря более безопасному синтаксису совершается меньше ошибок, а приложения разрабатываются гораздо быстрее. Также легче найти разработчиков, разбирающихся в Swift, так как его легче освоить и освоить.

Инструменты разработки для iOS

XCode

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

Код Visual Studio

Visual Studio Code (VSCode) - это кроссплатформенный редактор текста и исходного кода от Microsoft. На сегодняшний день это один из самых интересных проектов с открытым исходным кодом, который регулярно обновляется сотнями участников. VSCode был одним из первых инструментов, поддерживающих протокол языкового сервера (LSP), который сыграл большую роль в обеспечении отличного опыта разработчиков на различных языках и технологиях.

Каркасы

Здесь у нас будут Apple App Frameworks, App Core Services и XMPPFramework.

Согласно apple.developer:

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

Что касается XMPPFramework:

XMPPFramework предоставляет базовую реализацию RFC-3920 (стандарт XMPP), а также инструменты, необходимые для чтения и записи XML. Он поставляется с несколькими популярными расширениями (XEP), все они построены на модульной архитектуре, что позволяет добавлять любой код, необходимый для работы. Кроме того, фреймворк является в высшей степени параллельным и ориентированным на многопотоковое исполнение. Эта структура, структурированная с использованием GCD, хорошо работает независимо от того, работает ли она на старом iPhone или на 12-ядерном Mac Pro. (И это не заблокирует основной поток ... вообще)

Требования для iOS-разработчика

После некоторого исследования я нашел надежную дорожную карту, поскольку у людей на roadmap.sh ее нет на момент написания этой статьи, что может помочь вам на пути к тому, чтобы стать разработчиком iOS, или вы можете просто Зацени из любопытства прямо здесь.

Средняя годовая зарплата разработчика iOS по всему миру по данным Glassdoor

Соединенные Штаты

Германия

Индия

Вывод

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

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

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

Здесь вы можете проверить первую статью «Типы разработчиков», чтобы познакомиться с этой серией:

Типы разработчиков | Веб-разработчик

Если вы хотите узнать больше о моем пути в качестве веб-разработчика, который начал работать в 17 лет, обязательно ознакомьтесь с этой историей:

Моя дорожная карта стать веб-разработчиком в 17 лет

А также другие статьи, которые я посчитал интересными: