Что нового получили разработчики на WWDC 2014

К разочарованию многих, вчера в ходе презентации на WWDC Apple не представила ни одного нового устройства. WWDC и раньше ориентировалась в первую очередь на разработчиков, но обычно в ходе презентации находилось место для обновленных MacBook или MacMini, но в этот раз все было сконцентрировано на чисто программных продуктах и разработке. Думаю, это было сделано специально, чтобы не смещать фокус с основного. Про iOS8 и OS X 10.10 напишут и без меня, я же остановлюсь подробней на последней части презентации, посвященной нововведениям для разработчиков.

ios-simulator-screen-shot-2-jun-2014-19-23-27-650x487

Главное, что сразу бросается в глаза, это отличие подхода Apple к разработчикам. Типичный подход, который часто исповедуют другие компании (начиная с Samsung и заканчивая Blackberry): вот вам «стотыщьпиццот» денег, напишите нам программы для нашей платформы. У Apple совершенно иная постановка вопроса: вот вам инструменты, SDK и магазин приложений, зарабатывайте деньги! Никаких конкурсов с денежными призами, никаких программ поддержки разработчиков финансово, даже билеты на WWDC отличаются конским ценником (что, собственно, не мешает им пользоваться все большим спросом год от года).

Публика, собравшаяся в Moscone West — как раз те самые разработчики, предсказуемо оживившиеся на последних 40 минутах доклада. Что же такого им предложили в Apple?

Обновленный магазин приложений ждали давно. Улучшения поиска, видеопревью для программ, «связанный поиск», популярные тренды — все это лишний шанс быть замеченным со своей программой, главное, чтоб она была интересной, а для этого Apple приложили все усилия.

1overview

Самая заметная тенденция этого WWDC — уменьшение закрытости iOS. Примеры того, как одни приложения могут расширять другие, в том числе и системные, не особо удивят пользователей других платформ, но для iOS являются весьма долгожданной новинкой (но, стоит отметить, что, традиционно, в Apple реализовали это лучше и удобней для пользователя). Виджеты в центре уведомлений, расширения в Safari, фоторедакторы, встроенные в галерею — впечатляющие, хотя, думаю, и не все возможные примеры. Особняком стоит возможность использования сторонних клавиатур во всей системе. Раньше Apple не позволяли этого из соображений безопасности, но сейчас решили, что если запретить по умолчанию клавиатурам доступ в интернет, то это даст необходимую защиту пользовательских данных.
screenshot-2014-06-02-14-33-38

Некоторые разработчики уже высказались о том, как новые возможности взаимодействия помогут им. Интересный пример — AgileBits со своим флагманским продуктом 1Password. Согласитесь, возможность вызвать его в любом приложении (начиная с того же Safari) невероятно упростит использование.

Следующий шаг в «открытии» iOS — разумеется, выпуск CloudKit. «Китами» в Apple принято называть наборы функций, призванных помочь разработчику в выполнении каких-то общих для системы действий (я намеренно упрощаю сейчас). CloudKit сделан с оглядкой на превращение iCloud в полноценный облачный диск, такой же как у DropBox и остальных. Думаю, именно DropBox стал катализатором данного изменения в Apple. В закрытой iOS именно этот облачный диск для многих приложений стал возможностью хоть как-то взаимодействовать и обмениваться документами. Последний год DropBox учитывают это и предлагают разработчикам продвинутые возможности для интеграции своих приложений с сервисом. Apple, в свое время планировавшая купить DropBox, разумеется, не могла пассивно смотреть на утрату инициативы и сделала свой ход.

screenshot-2014-06-02-14-38-01

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

Еще один пример того, как Apple двигается на шаг впереди конкурентов — появление HomeKit. Разнообразную умную электронику мы наблюдаем уже не первый год. Со смартфонов можно управлять чем угодно, начиная с освещения, и заканчивая кошачьим лотком. Раньше все устройства работали со своими собственными приложениями, и межпрограммное взаимодействие было затруднено. С HomeKit разработчики получают возможность централизованного управления всем, что есть в умном доме: лампочки, web-камеры, замки, термостаты и многое другое, что придумают инженеры. Уже сейчас о поддержке HomeKit заявил целый ряд крупных производителей электроники, и, думаю, в будущем нас ждет всплеск проектов на KickStarter и IndieGoGo. Кстати, не удивлюсь, если на ближайшем Google I/O будет показано альтернативное решение от Google, слишком уж лакомый сегмент рынка Apple застолбила себе.

screen-shot-2014-06-02-at-11-36-26-am

В ногу со временем идет и выпуск Health Kit с приложением Health. Как несложно догадаться, это приложение объединит в себе те данные, которые передают разные датчики на теле и фитнес-браслеты. Давление, температура тела, режимы сна, и многое другое — будут собраны и сохранены. Сам Health Kit упростит разработку новых устройств и приложений, поэтому в будущем нас ждут более сложные датчики. Также iPhone способен теперь сам связываться с вашим лечащим врачом и сообщать ему нужные данные. Как и в случае с HomeKit, о поддержке нововведения уже сообщили ведущие клиники и институты США. Понятно, что нам это пока не грозит, у нас главным нововведением в области здравоохранения остается возможность записаться на прием к врачу через интернет, но развитие технологий в других странах не может не радовать.

В рамках большей открытости iOS, разработчикам дали доступ к сканеру отпечатков пальцев. Ход, опять же, ожидаемый. Touch ID стал одним из самых популярных нововведений iPhone 5s, пользователям понравилось входить в систему простым сканированием пальца, теперь же «пальцевую» защиту могут использовать и другие приложения. Разумеется, доступа к самим отпечаткам приложения не получат. Вопреки расхожему мнению параноиков и просто «недалеких» людей, отпечатки пальцев в iPhone обрабатываются на уровне «железа» и «софт» доступа к ним не имеет, поэтому «слить отпечатки в АНБ, ЦРУ или Моссад» — не очень реально.

screen-shot-2014-06-02-at-2-34-56-pm

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

Не забыли и разработчиков игр. Новый SDK, получивший название Metal, позволяет работать с графическим железом на более низком уровне, чем это позволяет OpenGL. Разумеется, в первую очередь это нацелено на устройства с чипом A7. О поддержке объявили ведущие игроки: Unity, EA Games, Crytek и EpicGames. Последние тут же продемонстрировали возможности технологии с помощью совершенно «крышесносящей» демки ZenGarden, которая будет доступна позже в AppStore (как ранее Epic Citadel). Именно Metal, кстати, помог EA Games перенести свой движок Frostbite на iOS. Ранее он применялся только на консольных проектах класса А. Несложно догадаться, что Metal, оптимизированный под железо Apple, наверняка станет одним из главных стимулов для разработчиков игр связать свое будущее именно с iOS.

zen

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

Самое же вкусное было припасено напоследок (кто потом скажет, что Apple не умеет удивлять?). При всех своих достоинствах, Objective-C, используемый для разработки под iOS, несет на себе тяжелый отпечаток десятилетий. Поэтому Apple представила новый, разработанный с нуля язык программирования Swift. В нем реализовано большинство современных «фишек», начиная с ленивых свойств, и заканчивая поддержкой Generic-ов и замыканий. Синтаксис выглядит достаточно взвешенным, а полная поддержка Swift в XCode — упрощает его изучение. Objective-C будет продолжать поддерживаться, в том числе с возможностью создания смешанных проектов на разных языках.

ios-simulator-screen-shot-2-jun-2014-19-46-26

Цель нововведения понятна — снизить порог вхождения для новых разработчиков и упростить обучение. Новое приложение Playground позволяет сразу писать код на Swift и видеть результат его выполнения — явно создано с прицелом на обучение программированию в школах и институтах.
9439-1113-Screen-Shot-2014-06-02-at-24811-PM-l

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

Сложно конкурировать в AppStore, где уже имеются миллионы приложений. Поэтому каждый новый WWDC — это огромный шанс для разработчиков, поскольку именно после WWDC шанс вклиниться в новооткрытую нишу как никогда велик.

Разработка приложений для iOS