Инструменты для разработчиков для OS X El Capitan и iOS 9 – новый уровень приложений и услуг

16 июня 2015 |

Как гласит один из лозунгов минувшей конференции WWDC-2015, «Никогда не было более подходящего момента, чтобы начать разрабатывать продукты для платформ Apple». И вот почему.

Разработчики Apple

HomeKit

В минувшем году Apple представила то, что условно можно назвать «Интернетом домашних вещей» – возможности HomeKit выходят за рамки концепции «умного дома». Проявляется это, например, в отказе от обособленного центра управления или какого-то выделенного приложения, система контроля привязана к голосовым командам для Siri. То есть, не человек приходит в интеллектуальное жилье, но своим появлением в апартаментах с соответствующим оборудованием превращает их в «умную квартиру».

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

Как заявил вице-президент Apple по ПО Крейг Федериги, принципиальных ограничений для интеграции в HomeKit отдельных гаджетов практически нет, но на данный момент готовых решений раз два и обчелся. Insteon, Lutron, iHome, Philips Hue и еще несколько брендов – конкуренция пока еще минимальна, а в сфере разработки приложений ее не наблюдается и вовсе. И те, кто включаются в работу сейчас, фактически оккупируют самые лакомые области, закрепляя за собой право на успех. При условии, что кроме амбиций есть еще и весомое желание потрудиться.

Metal

В ходе доработки в течение целого года, анонсированный в 2014-ом фреймворк дорос до уровня, когда его грамотное применение обеспечивает до 50% прироста производительности при решении графических задач. Metal в обязательном порядке придет на платформу Mac, причем его поддержка появится уже в OS X 10.11 El Capitan.

metal для os xВ качестве конкретного примера того, что это даст, в официальном докладе назвали игру Epic’s Fortnite. Если запустить ее на Mac с Metal, скорость рендеринга картинки окажется не намного меньше той, что наблюдается для версии игры под iOS.

Как инструмент, Metal открыто называют самым мощным и гибким из того, что есть у Apple, это сплав OpenCL и OpenGL в одном пакете API. Многопоточность, распределение нагрузки между базовым процессором и графическим модулем, минимальное количество надстроек и драйверов, эффективный интерфейс. Образно говоря, программист командует самим «железом», отсюда и названием фреймворка – Metal. А так как он только-только официально принимается на вооружение, то кто успел, тот и съел вишенку с пирожного. Хотя объем работы однозначно предстоит немалый.

Поисковые системы

В новой версии «Search» API для iOS 9 присутствует так называемый механизм «глубокой связи», объединяющий работу Spotlight, Siri и web-приложений.

siri в ios 9По своей функциональности он очень схож с работой системы Google «Now on Tap», которая ведет поиск по всем активным приложениям и сервисам, корректируя результаты выдачи с текущими действиями пользователя. Все это довольно сложно устроено изнутри, но на выходе – комплект готовых модулей, оперировать которыми может и некто без конкретного опыта проектирования поисковых систем. В теории. Преподносится как приглашение для разработчиков попытать свои силы в создании надстроек для различных приложений, выполняющих функции поиска полезных блоков данных.

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

swift appleОдин из приятных сюрпризов WWDC-2015 – следующая версия Swift будет распространяться в качестве языка программирования с открытым кодом.

apple swift

А для того, что обрадованные программисты сходу не устроили веселый бардак, их старшие коллеги из Apple предусмотрительно снабдили Swift 2.0 несколькими полезными новшествами:

  • Быстрый компилятор
  • Оптимизированная система обработки ошибок
  • Поддержка упрощенного языка разметки Markdown
  • Обновленные операторы контроля и фиксации нарушений
  • Расширения протоколов

iOS 9

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

Свободное место для установки iOS 9Все делается с прямой заботой о пользователя и косвенной – о программистах, первые смогут установить больше понравившихся приложений, у вторых появляется стимул трудиться. Параллельно Apple отчиталась в оптимизации процессов загрузки, хранения и представления приложений в системе. За это отвечает система под названием App Thinning (прореживание, разбавление), базирующаяся на использовании трех технологий: App Slicing, On Demand Resources и Bitcode.

apple developerВ текущей модификации iOS эффективная работа некоего приложения возможна только в том случае, если весь обширной диапазон активов находится в единой связке. Из-за этого при установке нового софта копируется набор дополнительных файлов – про запас, на всякий случай. Пережиток прошлого, от которого в iOS 9 принудительно отказываются, вставляя App Slicing, подобие фильтра, отсекающего избыточные массивы данных. Процесс происходит перед загрузкой приложения из App Store – система определяет конфигурацию пользовательского гаджета и допускает к закачке лишь те активы, которые действительно потребуются для работы в ней.

Технология ODR (On Demand Resources) предназначена для разделения сопутствующих ресурсов на «необходимые» и «второстепенные». Например, инструкции и файлы справки целесообразно хранить на серверах Apple до непосредственного востребования со стороны приложения. Происходит это куда реже, чем считали ранее, поэтому ни замедления работы, ни дискомфорта иного рода при взаимодействии с ПО наблюдаться не должно. Равно как и перерасхода объема памяти.

Последний инструмент, Bitcode, использует в самом App Store для анализа состава бинарного кода свежедобавленных приложений. Цель проста – выявить несоответствия данного программного продукта с текущей версией iOS, плюс отсутствие возможности для оптимизации и обновления. «Мертворожденные» программки, не идущие в ногу со временем, которые их авторы не собираются развивать и совершенствовать, суть цифровая ересь, которой на серверах Apple и в гаджетах пользователей не место. На данном этапе проверка Bitcode обязательна для всех новых приложений под WatchOS и iOS 9, в будущем это станет нормой для вообще всех приложений на платформах Apple.

Смотрите также: