Разработка
iOS 12: взгляд разработчика
Традиционно в начале июня Apple запускает тестирование своей новой мобильной платформы, а осенью — анонсирует ее выход в свет для всех. В этом году это — iOS 12. И чем раньше вы получите возможность оценить перспективность нововведений, тем большую пользу это принесет бизнесу, как в вопросе привлечения пользователей, так и в формировании конкурентного преимущества для вашего мобильного приложения. Magora Systems рассказала нам о главных нововведениях iOS 12, которая появится вместе с новыми смартфонами Apple.
Все лето наша команда разработчиков тестировала новые возможности iOS 12 и сегодня результаты наших исследований перед вами в кратком обзоре. Список основных фичей и фреймворков iOS 12 традиционно открывают новые фишки дизайна и оптимизация взаимодействия смартфонов, планшетов и прочих гаджетов с мобильной платформой, что делает Apple столь искренне любимой пользователями. Но сегодня я хочу сфокусироваться на новом функционале, который окажет ощутимое влияние на развитие мобильных приложений в ближайшие годы.
ARKit 2
Дополненная реальность (AR) — один из главных трендов года. Новый виток развития этому направлению, несомненно, задаст iOS 12. Многопользовательский режим дополненной реальности, распознавание объектов и улучшение работы, выраженное в новом режиме Persistent AR открывают двери новым идеям для игр и возможностям для бизнеса. Обновленный ARKit 2, по-моему, перешел из разряда игрушек в рабочий инструмент, которого не хватало как разработчикам, так и заказчикам мобильных приложений. Если раньше ограниченные возможности ARKit останавливали вас от внедрения в серьезные проекты, то самое время пересмотреть свое отношение к дополненной реальности и взять ее в оборот, будь это разработка виртуальных комнат для примерки в интернет-магазине или возможность планирования пользователем новой обстановки для элитного коттеджа в проекте по недвижимости. Анонсированный Apple в новой версии OS режим демонстрации дополненной реальности на нескольких мобильных устройствах, сохранение сцен для дальнейшего использования и привязка к расположению на карте — приятные дополнения функционала, которые не останутся незамеченными почитателями iPhone и iPad.
С ARKit программистам будет проще интегрировать элементы дополненной реальности в пространство. Отпала необходимость внедрения внешних маркеров и прочих костылей для связки виртуальных и реальных объектов, а значит, разработка будет проще, дешевле и стабильнее.
Быстрая интеграция с Siri
Возможность удобной интеграции голосового помощника Siri с мобильным приложением поможет точнее определять запросы пользователя в рамках контекста. На мой взгляд, многообещающее решение Apple об интеграции, все еще очень ограничено с точки зрения функционала, доступного разработчикам и несравнимо скромнее, чем большинство нативных приложений Яблока. Это не значит, что оно не достойно внимания. Постепенно, с ростом возможностей iOS, Siri становится неотъемлемой частью жизни пользователей, и мы уже интегрируем ее в работу многих приложений, разрабатываемых для наших клиентов.
Обновления для раздела Здоровье
Развитие запущенного сравнительно недавно Apple раздела Здоровье, которое позволяет сохранять сведения о хронических заболеваниях, перенесенных травмах, аллергических реакциях и прочих медицинских показателях пациентов, получило на новой платформе iOS 12 дополнительные возможности для считывания информации из базы медицинских данных. Эта информация более интересна для американского рынка, где происходят активные процессы по формированию общей базы медицинских сведений Fast Healthcare Interoperability Resources (FHIR). Но заложенные в платформе технические возможности можно использовать и в рамках разработки нативных российских медицинских мобильных приложений.
Контроль за Уведомлениями
И, наконец, важное изменение функционала, которое коснется каждого приложения на платформе iOS 12, использующего уведомления. Начиная с iOS 12 все уведомления перемещаются в раздел История, где пользователь получит больше возможностей для настройки уведомлений с помощью новой структуры группировки и будет избавлен от слишком большого количества уведомлений, от которых и я, на своем смартфоне, уже начинаю уставать. Исследования показывают, что слишком большое количество уведомлений является наиболее частым основанием для удаления мобильного приложения пользователем. Итак, расширение возможностей данного блока позволит вам сохранить лояльных пользователей, обеспечивая для каждого гибкий выбор настроек.
И еще одна фича iOS 12, которую я хочу отметить, из раздела уведомлений — возможность доставки приложением сообщений в беззвучном режиме. На обновленной платформе они будут загружены в папку История (ранее называвшуюся Центр Уведомлений) Чтобы отображать уведомления на экране система обязана будет запросить разрешение пользователя. Вне зависимости от выполненных настроек, критические, т.е. жизненно важные, уведомления будут присутствовать в приложении и отображаться даже в режиме “Не беспокоить”.
Новая опция, доступная пользователю, начиная с iOS 12, это возможность управления режимом «Экранное время» с возможностью его индивидуальной настройки пользователем. Мгновенная Настройка — это функция в разделе История, которая позволяет настроить для каждого приложения свой уровень ограничений на отправку уведомлений. Это облегчит жизнь пользователя, избавив от постоянного обращения к общим настройкам мобильно устройства.
Аутентификация (Auth Services)
В 12-ой версии iOS появился фреймворк аутентификации. Его задача — обеспечение распознавания подлинности пользователя, приходящего с разных устройств. Принцип единого окна SSO (Single Sign-On) позволяет юзеру сохранять и редактировать пароли, а также индивидуально настраивать режим автозаполнения, а приложению — запоминать и переиспользовать пользовательские сессии, не компрометируя пароли. В результате, пользователи мобильных телефонов и планшетов под управлением новой платформы iOS 12 получают удобную генерацию сложных паролей и освобождаются как от их запоминания, так и от ручного ввода. Заодно, добавлена функция интеграции отправки кода подтверждения через SMS в нативные мобильные приложения.
С вводом Auth Services, веб-сайты и мобильные приложения Apple смогут обмениваться кукиз и токенами для идентификации пользователя в защищенном, зашифрованном виде.
Функция CarPlay для Навигатора
Если вы разрабатываете навигационный сервис или приложение, то эта новость для вас: начиная с iOS 12 CarPlay (функция автоматической интеграции мобильных телефонов с информационно-развлекательными системами) легко внедряется в нативное iOS приложение из раздела Навигация. Для обычных пользователей это шаг к неисчерпаемому источнику музыки и другого развлекательного контента, доступного в один клик. По удобству использования его можно будет сравнить с Apple Watch.
Network Framework (Сетевой фреймворк)
Следующее нововведение от Эппл относится к технической стороне вопроса и не освещается так же широко, как остальные факты. И именно оно, с моей профессиональной точки зрения — одна из ключевых инноваций последнего релиза. Если задача стоит в разработке высоконагруженного сетевого приложения, обновляющего данные в режиме реального времени, как, например, онлайн чат или многопользовательская игра, этот фреймворк будет вам необходим.
С его появлением низкоуровневое сетевое программирование приобретает более простую, а главное — теперь стандартизированную, архитектуру и становится реализуемым на базе готовой (и выверенной самими разработчиками Apple) платформы. А значит, что решения в области многопользовательских игр можно начинать с непосредственной работы по программированию функционала, в то время как раньше необходимо было потратить несколько недель на подготовку, начиная от планирования архитектуры и заканчивая тестированием кастомного слоя передачи данных.
Естественный Язык
Если еще пару лет назад мы все смеялись над роликами из серии “Окей, Гугл”, a чтобы реализовать механизм понимания человека в мобильном приложении разработчикам надо было развивать собственные отделы машинного обучения и искусственного интеллекта, то сегодня естественный язык становится частью коммуникации в мире мобильной разработки. И, благодаря Apple, с iOS 12 внедрить в приложение возможности распознавания ключевых слов, мест, дат, и даже имен людей, для разработчика стало значительно проще. И чтобы у ваших пользователей появилась возможность общаться с приложением, как с человеком, не надо ждать месяцы, все это можно внедрить уже сейчас.
Прощай, OpenGL
Этот, на первый взгляд, узко технический вопрос затрагивает множество проектов. OpenGL ES долгое время был стандартом для разработки игр на мобильных устройствах, хотя исторически пришел из десктопной разработки. И как все несущее в себе шлейф излишних требований, связанных с другим железом, был тяжеловесен и неуклюж. Фактически, не только мобильные игры, но и любые проекты со сложной графикой, от научных чартов и визуализации биржевых котировок до сложной игровой анимации в качестве кроссплатформенного решения использовали OpenGL.
Если ваши мобильные приложения на iOS затрагивают любой из вышеперечисленных вариантов, то пора сменить технологию. В результате вы получите преимущества в скорости работы, плавности графики, снижении энергопотребления и удобстве разработки для iOS платформы.
CreateML
Новый фреймворк CreateML позволяет на MacOS создавать и обучать пользовательские модели, сохраняя их для дальнейшего использования. Применение интегрированного в iOS 12 механизма Maсhine Learning становится общедоступным для программистов средней квалификации, а экспертам дает больше времени на развитие и обучение моделей. Сама по себе технология машинного обучения становится прозрачнее для разработчиков, что в ближайшее время скажется и на расширенном функционале мобильных приложений.
Заметки для разработчиков про Swift 5 и Xcode 10
В 2018 круто эволюционируют и инструменты для разработчиков, что радует нашу команду iOS, и я готов делиться с вами самыми интригующими новостями о нативном языке программирования и редакторе кода.
Компилятор Xcode был “кошмаром на улице Вязов” начиная с первой версии Swift, норовя сбойнуть или слететь каждый раз, как только ты думал, что наконец обошлось…. Вечно неработающая подсветка синтаксиса, или повторяющаяся раз за разом ошибка компиляции, которая (о, магия!) не проявлялась в финальной версии при заливке готового проекта.
Поддержка большого проекта напоминала жестокие пытки, когда при минимальных изменениях в коде вынужден ежеминутно пересобирать всю программу и повторять эту операцию по 20 раз в день, чтобы полностью протестировать приложение. Ура, мы вынесли это.
На пятый год своего существования Swift, наконец, стал предсказуемым, удобным и популярным, превратившись в реальный инструмент для написания нативных мобильных приложений под iOS.
И в дополнение, редактор Xcode 10 анонсирован Apple как панацея для решения оставшихся вопросов к удобству и скорости написания кода. Справедливо сказать, что у вас всегда есть выбор: Swift или Objective-C.
Наш iOS отдел перешел на написание кода на Swift, когда была запущена третья версия, предназначенная для коммерческого использования. Мое мнение, что до Swift 3 работа программиста состояла в сплошной технической поддержке и устранении вновь обнаруженных багов, связанных с изменениями в обновляемом языке и библиотеках. Сейчас Свифт более стабилен и каждый переход к новой версии происходит значительно легче.
Поскольку Swift пока нацелен только на распространение продуктов с открытым кодом, то разработка собственной коммерческой закрытой библиотеки на Swift пока не рациональна
От Swift 5 мы ждем, наконец, стабильной работы ABI со стандартными библиотеками (Swift Dynamic Library). Это позволит сократить размер приложения, поскольку не потребует включения в пакет всех стандартных функций. И уже близок тот день, когда можно будет полноценно работать на Swift, обеспечивая разработку сложных B2B сервисов.
Что нового: поддержка регулярных выражений и первоклассное решение для параллельной обработки данных с асинхронным режимом обработки async/await.
Если все заявленные свойства войдут в Swift 5, то он станет одним из самых передовых и продвинутых языков программирования в своем классе.
Заключение
Вы нацелены на долгосрочное развитие своего мобильного приложения? Тогда осторожно внедрять технологии спустя два официальных релиза, когда они уже стали чем-то обыденным, не самое стратегически правильное решение.
Чтобы сохранить своих пользователей и уберечь их от желания подружиться с программой конкурента, ваше приложение должно стать не просто удобным, а незаменимым.
Интегрируйте возможности системы iOS, по-максимуму используя новые функции. Чтобы вашим продуктом пользователь делился на правах новатора со своими друзьями и коллегами, формируя заинтересованную референтную группу для развития вашего бизнеса.
А разработчики Магоры готовы прийти на помощь — пишите, звоните, приходите и давайте обсудим, какие функции необходимо добавить в ваше приложение уже сегодня.