Мобильная разработка: iOS vs Android

На лектории «ВКонтакте на практике» выступили руководитель Команды мобильной инфраструктуры Ольга Фролова и Android-разработчик Веда Воронина. Они сравнили процессы разработки на iOS и Android.

Что такое мобильная разработка?

Это молодое направление, которое появилось 11 лет назад с появлением первых iPhone и устройств на Android.

  • За 2018 год произведено более 1,5 млрд смартфонов
  • Из них более 14,9 — iOS и 85,1 — Android
Производство мобильных девайсов по годам
Производство мобильных девайсов по годам

Среди населения России 77 % населения пользуются какими-либо устройствами. Это примерно 95 млн человек.

Среди них пользуется только мобильными девайсами 32 %. В среднем люди проводят 86 минут в мобильных устройствах. Для сравнения, у десктоп-устройств это 36 минут.

Как должно работать мобильное приложение?

  • Быстро и плавно;
  • на разных устройствах;
  • с ограниченными ресурсами;
  • со сложными сценариями;
  • в изменяющейся среде.

Как можно создавать мобильные приложения?

  • Нативно;
  • кроссплатформенно;
  • гибридно.

Нативная разработка

Мобильная разработка: iOS vs Android, image #2
  • Нативные приложения более стабильные и быстрые, но они требуют больших ресурсов для разработки.
  • Приходится разрабатывать приложение под каждую платформу.
  • «Естественный» язык программирования.

Крассплатформенная разработка

Мобильная разработка: iOS vs Android, image #3
  • Разработка под все платформы.
  • Экономия ресурсов разработки.
  • Подвержено багам.
  • Страдает производительность.

ВКонтакте использует гибридную разработку

Мобильная разработка: iOS vs Android, image #4

Гибридная разработка — это нативные приложения с элементами кроссплатформенного кода.

Примеры гибридной разработки VK:

  • VK Connect — фреймворк для внутренних платформ;
  • VK UI internal;
  • VK Mini Apps;
  • Direct Games.

Как разрабатываются приложения под iOS?

Первое, что необходимо для разработки приложений для iOS — MacOS.

Для разработки под iOS можно использовать:

  • Xcode от Apple;
  • AppCode от JetBrains.

Что касается языков программирования для iOS:

  • Objective-C;
  • Swift;
  • C/C++.

Если вы начинаете свой путь разработчика iOS, то лучше начать изучение с языка Swift. По нему существует больше количество гайдов и туториалов.

Для углубления разработки существует Objective-C.

Статистика разработки приложений для iOS на примере VK

Мобильная разработка: iOS vs Android, image #5

Структура проекта VK под iOS

  • Messages | Swift
  • Calls | Objective-C
  • Video | Swift
  • Auth | Swift
  • Core | Objective-C
  • ValetteKit | Objective-C
  • Susanin | Objective-C
  • Nestor | Objective-C
  • Courier | Objective-C
  • Orwell | Objective-C
  • ShareKit | Swift

Что делать после создания приложения?

Для тестирования приложения не обязательно иметь девайс на базе iOS. Существует большое количество симуляторов, которые позволят протестировать приложение.

Важный момент в разработке — Human Interface Guidelines. Это гайдлайны по разработке приложений от Apple. Главные цели гайдлайна:

  • Design First;
  • уважение к пользователю;
  • эстетическая целостность.

Следующий этап — публикация приложения в App Store

Вы отправляете приложение в App Store. Команда Apple его смотрит и даёт ответ: отрицательный или положительный. В случае положительного ответа приложение можно отправить в релиз.

Среднее время проверки приложения — 2 дня.

Хорошее преимущество для новых приложений — буст на некоторое время в поисковой выдаче.

Как устроена разработка под Android?

Android является открытой платформой от Google и работает на большинстве мобильных устройств.

Разработка под Android производится практически на любой операционной системе, где есть возможность установить Android Studio.

Основные языки программирования под Android

  • Java
  • Kotlin
  • C/C++

Статистика использования языков программирования в VK

Мобильная разработка: iOS vs Android, image #6

Особенности Android

  • Разнообразие девайсов.
  • Фрагментация брендов.
  • Фрагментация ОС.

Существует Material Design. Он состоит из простых гайдлайнов от Google, которые помогут сделать красивое приложение, даже если вы не являетесь дизайнером.

Как производится публикация приложений?

Опубликовать приложение в Google Play просто. Приложение модерируется примерно несколько часов, также есть возможность выбрать процент раскатки.

Как выглядит мобильная команда VK?

Мобильная разработка: iOS vs Android, image #7

Как выглядит процесс разработки в VK?

  • Проектирование.
  • Дизайн.
  • Разработка.
  • Код-ревью.
  • Локализация.
  • Тестирование.
  • Деплой.

Проектирование

  • Невозможно учесть всё.
  • Плохо недопроектировать.
  • Плохо перепроектировать.

Дизайн

  • 7 продуктовых дизайнеров.
  • Платформенные гайдлайны.
  • UI Kit — набор стандартных элементов на все случаи жизни.

Процесс разработки

  • Dev-ветка — сборка для сотрудников.
  • Feature-ветка.
  • Feature Toogle.

Код-ревью

  • Проводится для шаринга знаний, хорошая масштабируемая архитектура, снижение скорости разрастания тех. долга.
  • Внутри- и кросскомандное ревью.
  • GitLab.

Тестирование

  • Ручное тестирование QA.
  • UI-тесты.
  • Бета-тестирование.

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

Полное видео выступления:

Мобильная разработка: iOS vs Android, image #8

The Brown Room — независимое интернет-издание про социальные сети и современные технологии.

Автор: Артём Алексеевич
Корректор: Арсений Метелёв
Изображения и статистика: ВКонтакте

323 views·3 shares
323 views