WWDC как Рождество для разработчиков какао, и это, безусловно, верно для издания этого года из-за дефицита утечек и слухов, приведших к конференции. Несмотря на то, что нам всем любопытно услышать, что Apple приготовила для всех, кто любит Apple, основной доклад будет гораздо веселее, когда вы не представляете, что будет объявлено, как в этом году.
Если вы видели лейтмотив Тима Кука, то я уверен, что вы согласны с тем, что Apple превзошла все ожидания. Давайте подведем несколько минут, чтобы подвести итог тому, что Apple объявила, что это значит для разработчиков, и что вы можете ожидать в конце этого года.
Уверенный и жестокий
Независимо от того, что было написано об Apple в последние месяцы, Apple жива и здорова. Похоже, Apple действительно удвоила секретность, потому что некоторые, если не большинство, из того, что было объявлено во время выступления в понедельник, стали неожиданностью, даже для людей, знакомых с линейкой продуктов и планами Apple.
Во время основного выступления меня удивил тон основных докладчиков, Тима Кука и Крейга Федериги. Компания вернула себе уверенность, которая, казалось, покинула компанию в 2011 году, когда Стив Джобс скончался.
Компания гордится своими продуктами, сообществом разработчиков и не боится случайных насмешек над Android. Здоровые отношения с Microsoft также присутствовали на протяжении всего выступления.
OS X Йосемити
С точки зрения разработчика iOS, объявление о OS X Yosemite может показаться не таким уж важным, но это не совсем точно. Хотя Apple неоднократно заявляла, что iOS и OS X остаются отдельными операционными системами, очевидно, что компания улучшает их интеграцию с каждым выпуском.
Не случайно цикл разработки OS X изменился с 18-24 месяцев до 12 месяцев, так же, как и в iOS. Несмотря на то, что iOS в течение первых нескольких лет многое унаследовала от OS X, похоже, iOS в настоящее время приносит ей пользу. С OS X Yosemite внешний вид OS X больше похож на iOS. OS X не только стала более плоской, как и ее младший брат, новая функция Continuity — это еще один шаг к лучшей интеграции и связи между обеими операционными системами.
Такие функции, как AirDrop, Handoff и iCloud Drive, делают переключение между iOS и OS X проще, практически без трений. Эти функции являются частью ответа компании на просьбу потребителей сделать интеграцию между iOS и OS X более удобной и менее громоздкой.
Но Apple на этом не остановилась. Компания сделала еще один шаг вперед, применив зондирование близости, что означает, что ваш Mac знает, когда ваше устройство iOS находится рядом. Это позволяет делать несколько вещей, например принимать входящие звонки на ваш iPhone с вашего Mac. Ваш iPhone также автоматически настроит личную точку доступа, как только узнает, что один из ваших компьютеров Mac находится поблизости. Как это круто?
iOS 8
Переход с iOS 6 на iOS 7 был более чем эволюционным, и я уверен, что вы согласны, что поездка была не такой гладкой, как утверждает Apple. iOS 7 представила так много новых функций, визуальных изменений и смен парадигмы, что средний пользователь и большинство разработчиков, мы немного колеблемся, чтобы принять новое направление, которое Apple пошла с iOS.
Анонс iOS 8, однако, отличается. Большинство изменений, представленных в iOS 8, — это изменения, которые улучшают операционную систему, интегрируют ее с OS X и улучшают общую стабильность и удобство использования операционной системы.
Фотографии
Приложение Photos подверглось капитальному ремонту, теперь оно более мощное, чем когда-либо. Apple кратко показала версию для OS X, которая выйдет в начале следующего года. Там не было упоминаний об iPhoto или Aperture, и неясно, заменят ли их фотографии для OS X.
С помощью приложения «Фотографии для iOS» теперь можно искать все фотографии и фильмы, снятые на любом устройстве iOS. Это идея, и iCloud, которая теперь может хранить все фотографии и фильмы, снятые вами на устройстве iOS, должна сделать это возможным.
С этим изменением Apple вошла на территорию Dropbox. Даже если каждая фотография и фильм, снятый вами на устройстве iOS, хранятся в iCloud, имейте в виду, что это не будет бесплатным для всех. Однако цена Apple кажется более чем разумной.
расширения
Начиная с iOS 8, приложение может иметь одно или несколько расширений, которые расширяют функциональность приложения для других приложений, включая операционную систему. Расширения являются ответом Apple на очень распространенный запрос как разработчиков, так и конечных пользователей.
Расширения бывают разных форм. Расширением может быть простой виджет для Центра уведомлений, который отображает данные о погоде, но это также может быть пользовательская клавиатура, еще одно большое изменение для iOS. Например, во время выступления Федериги показал, как стороннее приложение использовалось для редактирования фотографий в Фото для iOS. Стороннее приложение предоставляет пользовательский интерфейс, и интеграция казалась довольно простой.
Touch ID
По словам Apple, Touch ID пользуется большим успехом, так как его поддерживают более 80% потребителей. В iOS 8 Apple открывает API Touch ID сторонним разработчикам. Безопасность остается ключевым фактором, что означает, что фактическая информация об отпечатках пальцев не доступна и даже не предоставляется разработчикам.
iCloud и CloudKit
iCloud по-прежнему является очень важным аспектом экосистемы iOS и OS X для Apple. Фактически, роль iCloud становится все более важной с каждой итерацией iOS и OS X.
Облачное решение Apple значительно улучшилось как с точки зрения конечного пользователя, так и разработчика. Я уже упоминал, как iCloud теперь может хранить все фотографии и фильмы, которые вы делаете на своих устройствах iOS, но Apple также предоставляет доступ к данным, хранящимся в iCloud, путем введения iCloud Drive. Это делает обмен данными между приложениями iOS и OS X более простым и прозрачным.
Отправка электронных писем с большими вложениями больше не является проблемой для iCloud Drive. Как я уже упоминал ранее, iCloud бесплатен до 5 ГБ. Дополнительное место стоит $ 0,99 за 20 ГБ в месяц или 3,99 $ в месяц за 200 ГБ. Верхний предел составляет 1 ТБ.
iCloud Drive — не единственное изменение, внесенное Apple на стороне сервера, компания также представила Cloud Kit. Обладая Cloud Kit, Apple заботится о серверном аспекте разработки приложений для iOS, позволяя разработчику сосредоточиться на приложении для iOS. Обладая Cloud Kit, Apple вышла на рынок BaaS или PaaS.
HealthKit
Apple также анонсировала HealthKit и Health для iOS. HealthKit — это платформа для управления данными о вашем здоровье и фитнесе. Приложение Health визуализирует эти данные в стиле Apple. Конечно, данные, которые Health Health для iOS показывает, зависят от ввода, который он получает от других приложений, которые собирают данные.
Например, такое приложение, как Nike +, может делиться данными о своей пригодности через HealthKit и запрашивать данные о питании, которые собирает другое приложение. Apple подчеркнула, что конфиденциальность является важной проблемой. Сторонние приложения не могут получить доступ к вашим медицинским данным без вашего разрешения.
HomeKit
Впечатляет, сколько новых функций, фреймворков и API было представлено в этом году. HomeKit — еще одно удивительное дополнение к iOS. Инфраструктура HomeKit представляет собой интеграцию между устройствами iOS и устройствами, которые соответствуют протоколу домашней автоматизации Apple.
Идея заключается в том, чтобы придать здравый смысл растущему рынку домашней автоматизации, на котором у каждого производителя есть свои стандарты и приложения. Не похоже, что Apple просто тестирует воды с HomeKit, поскольку компания перечислила внушительный список крупных брендов, которые утверждают, что поддерживают HomeKit. Будем надеяться, что HomeKit делает домашнюю автоматизацию менее болезненной и более последовательной для пользователей iOS.
Игра началась
Еще одним большим сюрпризом стало введение Metal, низкоуровневого API для выполнения сложной графики на устройствах iOS. Как было продемонстрировано во время основного выступления, Metal стремится минимизировать накладные расходы, которые несет OpenGL, заменив его API, который не только снижает эти накладные расходы, но и повышает производительность на устройствах iOS.
SpriteKit, представленный в iOS 7, получил значительное обновление с физикой на пиксель, обратной кинематикой и силами поля. Кроме того, SceneKit, доступный на OS X в течение нескольких лет, теперь также доступен на iOS.
TestFlight
Количество важных объявлений было ошеломляющим. Мы уже знали, что Apple приобрела Burstly , компанию, которая стоит за TestFlight, но я не ожидал, что они так скоро предложат ее в качестве собственной услуги. Но они сделали.
TestFlight, название которого не изменилось, позволит распространять бета-приложения через приложение Apple TestFlight. Единственным недостатком является то, что для этого потребуется iOS 8. Однако приобретение Burstly, похоже, не имеет ничего, кроме плюсов. Например, каждое приложение, а не учетная запись разработчика, может иметь до 1000 тестеров. Нет ограничений на количество устройств на тестер. Это действительно потрясающая новость, и она сделает процесс разработки на iOS намного менее громоздким. Подготовка приложений также намного проще благодаря TestFlight. Если вы думали, что бета-распространение было легко с TestFlight, то стало еще проще благодаря, ну, в общем, TestFlight.
Apple не была бы Apple, если бы не контролировала раздачу сборок тестерам. В соответствии с обновленным лицензионным соглашением для разработчиков iOS, приложение должно быть рассмотрено Apple, прежде чем оно может быть распространено среди тестировщиков. Как это произойдет, и сколько времени потребуется Apple для проверки десятков тысяч тестовых сборок, неясно, но, как указывает Уле Бегеманн , кажется, что Apple более снисходительна, когда дело доходит до проверки тестовых сборок. Придется дождаться осени, чтобы выяснить, как все пойдет.
стриж
Самым важным объявлением основного доклада WWDC в этом году было, без сомнения, введение Swift, нового языка программирования для разработки приложений для iOS и OS X. Цель Swift — сделать разработку проще, менее болезненной и более современной. На первый взгляд, Swift — это динамический язык программирования, который невероятно выразителен благодаря своему интуитивному, привлекательному и синтаксису.
У Swift нет заголовков, точек с запятой, и он поддерживает замыкания и дженерики. Функции могут иметь несколько возвращаемых значений и необязательные аргументы. Еще одним направлением языка является безопасность. Например, ваше приложение не будет зависать при доступе к элементу массива, который находится за пределами массива.
Начиная с нуля
Означает ли это, что каждый разработчик Какао должен начинать с нуля с точки зрения изучения разработки Какао? Нет. Прелесть Swift в том, что он прекрасно сочетается с Cocoa и Cocoa Touch.
Если вы изучите некоторые примеры кода Apple, вы быстро заметите две вещи. Во-первых, синтаксис очень прост в изучении. Это менее многословно по сравнению с C и Objective-C, и более интуитивно понятно. Во-вторых, Swift использует существующие API и фреймворки, а это значит, что ваши знания по созданию приложений для iOS и OS X помогут вам начать работу, если вы решите использовать Swift в своих проектах.
Хотя есть много особенностей языка Swift, которые заслуживают нашего внимания, я хотел бы выделить несколько, к которым придется привыкнуть, если вы разработчик Objective-C.
Вывод типа
В Swift типы выводятся, что означает, что вам больше не нужно объявлять переменную как NSString
или NSDictionary
. Компилятор достаточно умен, чтобы вывести тип, и он даже оптимизирует ваш код за кулисами.
организация
Попрощайтесь с заголовками и файлами реализации. Swift полностью избавляется от заголовочных файлов, и я уверен, что вы не против.
Запомни точку с запятой
Как и в Ruby и CoffeeScript, нет необходимости заканчивать строку кода точкой с запятой, если строка не содержит несколько операторов.
Объектив-С и С
Swift прекрасно работает с Objective-C и C. На самом деле Swift использует те же самые возможности Objective-C, что и во время выполнения. Вы можете использовать Swift и Objective-C в одном проекте без проблем. Это сделает миграцию из Objective-C в Swift немного менее сложной задачей.
Xcode 6
Несмотря на то, что Xcode 6 все еще находится в бета-версии, Apple также запланировала большой выпуск своей интегрированной среды разработки. В Xcode 6 добавлена поддержка Swift, отладка представлений, улучшенная поддержка локализации проектов, рендеринг в реальном времени в Interface Builder, пользовательские шрифты iOS и поддержка расширений.
Это лишь небольшая подборка новых функций и улучшений Xcode 6. Если вам интересно, над чем работает Apple последние несколько лет, то не удивляйтесь.
Вывод
Я согласен с Джошуа Топольски и Крейгом Хокенберри , тон выступления был невероятно оптимистичным. Apple готова принять участие в конкурсе и снова обрела уверенность. Тим Кук не упустил ни одной возможности высмеять Android от Google и показать людям, что Apple по-прежнему является лидером мобильного пространства.
Google I / O не за горами, и я не могу дождаться, чтобы увидеть, что Google приготовил для нас. Это никогда не было лучшим временем, чтобы быть или стать разработчиком мобильных приложений.