Лого vc.ru

WWDC глазами очевидца: новые тренды развития технологий

WWDC глазами очевидца: новые тренды развития технологий

Технический директор компании-разработчика мобильных приложений Redmadrobot Артур Сахаров всю прошедшую неделю следил за WWDC с места событий в Сан-Франциско. Специально для ЦП он подготовил отчет о конференции, которая стала центральным событием технологического мира этого года.

Поделиться

Вот уже на протяжении 31 года в  Сан-Франциско проходит WWDC — международная конференция разработчиков, создающих программные продукты на платформах Apple. На нынешнем мероприятии было представлено много серьезных новинок, но никакой быстрой радости обычным пользователям (как это было с кардинальной сменой стиля iOS7 в прошлом году) они не принесли. Доступ к новым системным API, простые в построении и интеграции BaaS-сервисы и многое другое — всё это радости для разработчиков, которые в перспективе изменят модель взаимодействия человека с данными.

В этом году конференция оправдала свое название Apple Worldwide Developers Conference. Все здесь было построено именно вокруг разработчиков, и Apple подготовила все свои решения именно для них. Никакого нового железа и тому подобных обновлений, но из существующих устройств был выжат максимум. Тот же самый TouchID появился вновь, и его сделали доступным для приложений. Это огромный скачок. 

Кто он — посетитель WWDC?

На конференции сразу же ломается представление о разработчике ПО. Основной контингент — технически грамотные молодые люди 25–35 лет, которые делают продукты, с помощью которых хотят изменить мир. Причем выглядят они не как «мужики в свитерах»… Целеустремленные, уверенны в себе — о своих планах они не постесняются рассказать. Посетителей конференции точнее всего можно охарактеризовать словом «сообщество». Это сообщество людей, которые ставят себе амбициозные цели и действительно способны их выполнить. Все разработчики, которые приехали на конференцию, были искренне заинтересованы и заинтригованы новыми технологиями и возможностями, которые они открывают.

Тут очень хорошо ощущалось, что для всех разработка — это нечто большее, чем написание кода для зарабатывания денег.

Во-первых, всех интересует производство чего-то, что поможет людям в их повседневных заботах и делах, облегчит жизнь или позволит сэкономить время за рутиной. Во-вторых, нужно сделать это так, насколько максимально позволяет платформа, и в соответствии со стандартами, которые задают в индустрии другие разработчики и сама Apple. А эти стандарты — чрезвычайно высоки. 

На сессиях видно, что ребята в Apple искренне и со всей душой шлифуют умопомрачительные детали, придумывают новые концепты и создают для всего этого API, чтобы разработчики не отставали.

Разработчики в восторге

Первый день окончился, разработчики прямо сейчас говорят: They write on Twitter that developers are disappointed. Bullshit, developers are super excited, gadget freaks are the only ones who are disappointed!

Корпорация Apple уже давно занимается не столько производством устройств, сколько выстраиванием экосистемы вокруг собственных продуктов. Это ей удается невообразимо хорошо — сейчас уже сложно найти компанию, которая не была бы озабочена мобилизацией. С анонсами текущей конференции политика развития экосистемы набирает еще большие обороты.

Новая политика Apple — все устройства должны быть интегрированы в единую систему. В первый день со сцены много раз звучало слово continuity — это когда ты можешь одновременно использовать Mac, планшет, телефон, начинать процесс на одном устройстве, заканчивать на другом. Это круто — разработчики могут создать целые агломерации из приложений. Google движется в том же направлении: контролирует Chrome на десктопе и Android-телефоны, но у него, похоже, так никогда не будет нормальной интеграции с десктопом (опустим Chrome OS). А Apple делает все устройства под своим брендом, и они синхронно обновляются (с чем у Google проблемы) и работают вместе. Тем не менее, никогда прежде Mac OS X так сильно не интегрировалась с мобильной платформой.

Теперь же десктоп плавно перетекает в мобильную платформу и наоборот — сложилась единая экосистема.  Подтверждается мое видение, которое заключается в том, что умные часы и прочие носимые устройства — это никакая не новая функциональность, а просто новые фичи, возможности, которые добавляются к тому, что уже есть. Ещё больше фич, которые разделяются между устройствами. Это отличное направление дальнейшего технологического прогресса — объединить всё в единую экосистему. Мы идем к воплощению представления о будущем, которыое существовало лет пять-десять: после рождение сильного и быстрого веба, появится единый портал в облаке — с любого устройства туда зашел и получил доступ к виртуальным своим данным. Веб ещё не настолько сильный, но платформы друг в друга проникают всецело.

Агрегация устройств в мета-сервисы

Еще на Keynote — первой установочной сессии, на которой Apple обычно презентует все свои достижения, — было объявлено о новых сервисах, которые будут представлены приложениями в iOS 8: HealthKit и HomeKit. На последующих сессиях также много говорилось о подключении внешних устройств и аксессуаров

Очень много народу ночевало перед Keynote у Moscone Center на матрасах, чтобы пройти в зал первыми. В очереди на вход я видел парня, который так нервничал в предвкушении шоу, что у него аж руки тряслись — он кексом в рот не попадал. Те, кто приезжает на WWDC в десятый раз, говорят, что неизменно ангажированы каждый год. Все разработчики между собой общаются, это настоящее комьюнити. И этот драйв отлично мотивирует на разработку.

Как только начинает прослеживаться какой-то тренд — будь то носимые браслеты-шагомеры или целые системы управления умным домом — Apple старается оперативно реагировать и сразу привлекать разработчиков для построения новых сервисов вокруг своей экосистемы.

Так уже произошло с мобильными музыкальными инструментами и микшерами — вовремя предоставив API для работы со звуком с низкой задержкой, корпорация фактически целиком собрала весь бизнес по производству такой периферии вокруг себя. На Android или Win8 такого нет и в помине и, похоже, уже не будет.

Тенденции

Сейчас на рынке быстро набирают вес стартапы, построенные вокруг мониторинга активности и фитнес-трекинга. FitBit, Jawbone, Nike+, MiCoach, Shine — на полках американских магазинов лежат просто горы разнообразных браслетов, клипс и брелоков. У каждого из них, конечно, есть приложение, и часто на Android тоже. Этот рынок растет, и Apple сейчас делает шаги в сторону перетягивания его на свою сторону.

Второе направление, которое только зарождается — умные дома и автоматизация быта. Какие-то подвижки в нем определенно наблюдаются: Samsung запускает подразделение по единообразному управлению всеми домашними устройствами, SmartThings собирает вокруг себя все больше и больше производителей устройств, Nest продается компании Google за несколько миллиардов. Однако какого-то тренда или взрыва на рынке подобных устройств пока нет. Анонс HomeKit — первый серьезный шаг большой компании в сторону агрегации всех устройств вокруг какого-то одного сервиса, который идет бок-о-бок с развитием iOS.

Набрали обороты лаборатории по фреймворкам и фичам — они проводятся в формате беседы со специалистами Apple. Самый аврал был отмечен на UI Design Lab. Чтобы записаться на прием, нужно было занимать очередь на улице в 7 утра. Все хотят разрабатывать красивые приложения, и это вполне показательно — критерий того, что производители приложений больше заинтересованы в качественном UI, чем в чем-нибудь еще.

Оба примера показывают, что за последние несколько лет корпорация сменила курс — вместо того, чтобы выпускать все более и более универсальные устройства и самостоятельно занимать нишу, Apple предоставляет питательную среду для  других компаний, которые могут строить свои продукты вокруг готовой экосистемы. Возможно, поэтому уже довольно долго ничего не слышно про iWatch — вместо того, чтобы выпускать устройство, которое по сути своей послужит вторым экраном для смартфона, и здесь корпорация придерживается политики построения мощной интеграционной платформы. Опыт Pebble показывает, что интеграция сторонних устройств в экосистему не только возможна, но и предоставляет полный спектр возможностей.

Обновления iOS и Mac OS X, continuity

Две платформы все плотнее и плотнее интегрируются друг с другом. Начиная с обновления дизайна и заканчивая сессиями про написание кроссплатформенного кода, Apple делает все, чтобы развивать их синхронно. Неважно, какое устройство попало к вам в руки первым — айфон, айпад или Mac — вскоре вы узнаете всё про то, зачем бы вам пригодились все остальные продукты корпорации.

iOS 8 и OS X Yosemite приближают тот момент, когда пользователю при смене устройства не нужно будет переучиваться, когда пользоваться всеми своими любимыми приложениями станет одинаково удобно на телефоне в метро, на компьютере дома или планшете в кафе. Уже сейчас презентация этих функция с Keynote выглядит как магия.

Новые API для синхронизации приложений на разных устройствах и даже платформах, встроенная поддержка AirDrop, обновления iCloud и анонс CloudKit — вот неполный перечень анонсов, которые позволят разработчикам соединять свои приложения на OS X и iOS, а пользователям не замечать разницы между устройствами.

Важно понимать, что потенциально сейчас ни у кого, кроме Apple, нет такой мощной экосистемы и такого костяка верных бренду пользователей. Все это позволит довольно серьезно оторваться от конкурентов, а они есть и не дремлют — это Google с ChromeOS и Android, это Samsung с Gear и Tizen, это Amazon со своими планшетами, читалками Kindle и облачными сервисами.

Очень порадовали доклады формата Lunchtime — неформальные выступления во время обеда. Одним из самых запоминающихся стало выступление под названием Designing for the sensitive mind — девушка-разработчик Наталья Бердыс (Natalya Berdys) с синдромом Аспергера (слабая форма аутизма) рассказывала, как она воспринимает интерфейсы, что мешает ей ими пользоваться и что ей нравится. Вся соль по мнению Натальи в том, что в слабой форме этот синдром есть у очень многих, и поэтому внимательно изучая, что в интерфейсах вводит в заблуждение больных этим синдромом и аутистов вообще, можно делать более простые и понятные интерфейсы для всех пользователей. Довольно увлекательно. Выводы совпадают с мнением дизайнеров Apple, которое они высказывают относительно упрощения интерфейсов на сессиях.

Расширения, виджеты, сторонние клавиатуры 

Сначалав iOS была одна клавиатура и один системный способ поделиться чем-либо, затем добавилась интеграция с Twitter и Facebook. Теперь любой разработчик может выставить для других приложений сервис своего приложения — будь то обработка фотографии, шаринг в соц.сеть или бэкап документа.

Политикой Apple всегда было стимулировать создание небольших приложений, а не массивных комбайнов. Сервис по обработке фото, читалка документов или диктофон — хорошо. Мультикомбайн Facebook — плохо. Теперь это еще больше стимулируется — одно приложение должно выполнять одну четкую функцию, а результат работы оно может передать в любое другое приложение или систему. Общий уровень качества повышается, количество разработчиков на платформе увеличивается, удовлетворенность пользователей растет — продумано всё.

Виджеты. Теперь можно вытащить виджеты наверх приложения и всей системы. Это был огромный вопрос, например, в банковской сфере — как же нам сделать нотификацию? Вот у человека списались деньги, и мы можем прислать ему соответствующий текст сообщения — и, по большому счету, это всё. А теперь можно брать любую информацию — баланс счета, интерактив какой-то, счетчики, jawbone — и все это выводить. Это поможет пользователю коммуницировать с приложением вообще всегда. Плюс то, что можно из статус-бара отвечать на сообщения — все идет к тому, что человек телефон будет доставать из кармана все реже и реже. Если Apple сделает часы, то там скорее всего будет похожий интерфейс, все те же уведомления, виджеты. Это более крутой аналог Google Now — туда, в отличие от сервиса Google, можно будет выводить интерактив.

Еще один Lunchtime-доклад представил исполнительный продюсер Lucasfilm Дэйв Филони. Он рассказывал про себя и свое увлечение «Звездными войнами». Он работал над анимационным Star Wars: The Clone Wars и сейчас над Episode VII. Пришел в сопровождении четырех штурмовиков в оригинальных костюмах из киностудии.

iTunes Connect, TestFlight, CloudKit, system APIs, Xcode 6

В руки разработчиков Apple вкладывает все больше и больше современных инструментов. Некоторые пришли из других компаний, как, например, TestFlight, часть разработала сама корпорация. Неудивительно, что всю вторую половину Keynote-сессии разработчики провели в гробовой тишине и периодических овациях — такого количества разнообразных инструментов, улучшений и нововведений давно нигде не было представлено.

На сессии What's New in Xcode 6 показали, как в новом дизайне все работает со Swift и новые возможности, которые он дает.

  • Документация на лету транслируется с ObjectiveC на Swift с сохранением комментариев и структуры заголовков, часть документации оформлена в виде интерактивных гайдов, с которыми можно играть в Playground Mode. 
  • Также полностью была переработана локализация Xcode. Теперь нет никаких .strings файлов, есть xliff, который автоматически парсится, мерджится и обрабатывается Xcode при добавлении и изменении ресурсов. 
  • @IBInspectable. Модификаторы, которые в одну строчку позволяют рендерить в IB кастомные компоненты UIView. Переменные в классах тоже можно пометить и прямо в IB редактировать их (например, подставлять из ресурсов картинки). 
  • Sleek Extension Debugging — все новые extensions можно удобно дебажить. Если в Debug Mode вытащить Notification Bar, Xcode автоматически приаттачится к процессу виджета — и можно пошагово все отлаживать. 
  • Performance Tests with Regression Display — теперь если в XCtest обернуть все в блок measure, тест автоматически будет измерять время исполнения. Можно ставить ожидаемые планы на это время, тесты гоняются несколько раз и считают среднее время. В ботах все это собирается и логируется — удобно онлайн смотреть производительность. 
  • Modules and Across-project Visibility. В Swift все построено на модулях (типа namespace в C#). Во всем проекте видно весь код, если он в рамках одного модуля. Забываем про тонны импортов в каждом файле. 
  • Storyboard Live Preview. Все кастомные компоненты рендерятся и все одновременно рендерится на устройства в разной ориентации, и все это еще потом можно дебажить в reveal-стиле в 3D. Вообще IB очень радует. Много удобных мелочей.

Добавить в этому анонс нового языка Swift — и Twitter не замолкает уже неделю. Ни один другой язык не собирал вокруг себя столько шума и ажиотажа. Это при том, что исчерпывающей документации так и нет, а доступ к среде разработки есть вообще не у всех (только у подписчиков программы Apple Developer).

Да, он пока сыроват, и все еще не имеет некоторых фич других современных языков, но прогресс огромный. За один день у программистов появился новый готовый инструмент, и инструмент довольно современный.

Сессия Integrating Swift with Objective-C

Swift очень классно интегрируется в текущие objC-проекты. Видно, что Apple этот вопрос очень серьезно прорабатывала — все для того, чтобы разработчики скорее переходили на Swift. В частности:

  • Проект может быть одновременно написан на двух языках. Когда в objC-проект добавляется первый .swift-файл, Xcode создает так называемый Bridging Header — это то, что будет видно из кастомных objC-классов в Swift-коде. Очень похоже на precompiled header в objC-проекте. Все фреймворки видно и без него. Ну и из objC-кода видно весь Swift. Довольно просто и понятно, и всем легко управлять. 
  • Когда в Swift вызываем собственный метод класса, не нужно писать self. То есть self.view превращается в просто view. Ну наконец-то. Весь синтаксис objC-классов транслируется в Swift на лету. Писали файл с классом MyClass на objC, переключились в другое окно со Swift-кодом, и подсказка по классу MyClass будет тут же выглядеть так, как будто он написан на Swift. Без перекомпиляции, все на лету. 
  • Доходит до того, что трансляция на лету вытворяет такие вещи автоматически: InitWithData:(NSData*)data type:(NSString*)type ⟷ init(data: NSData, type: String), то есть автоматически убирается/подставляется With в init-конструкциях. 
  • Напоследок общее правило — из objC-кода весь Swift-код выглядит как objC. Из Swift-кода весь objC-код выглядит как Swift. Документация, комментарии, синтаксис — все переводится автоматически.

Как анонсы с WWDC воспринимает рынок

Несомненно, WWDC — это не только конференция, но и мощное маркетинговое мероприятие. Apple выступает не с пустыми руками, но и сам процесс подготовлен чрезвычайно профессионально.

Lunchtime Talk. Во время обеда выступал Leland Melvin — астронавт NASA, который попутно занимается продвижением космических программ среди школьников и студентов. Показывал, какие приложения используют астронавты на МКС — в частности, мониторинг нормы приема пищи и расхода калорий. Эти приложения прямо на айпаде в невесомости крутятся. У NASA есть всякие конкурсы и хакатоны для разработчиков, которые в open source готовы помогать NASA разрабатывать ПО для мобильных платформ.

С уверенностью могу сказать, что по уровню визуальной организации WWDC — на первом месте. Профессиональные рекламные ролики про разработчиков, конференц-центр посреди Сан-Франциско, аккуратные баннеры на улицах и потрясающие презентации с интерактивными демонстрациями, которые выкладываются в онлайн-доступ в течение нескольких часов. Keynote вообще смотрели миллионы человек в прямом эфире.

Рейтинг корпорации как конвейера, производящего качественный продукт, стабильно поддерживается именно вниманием к деталям. Когда в такой обертке преподносят такие новости — все становятся чуть больше заинтересованными в платформе, системе и устройствах. Несомненно, Apple и дальше будет собирать вокруг себя молодые бизнесы, стартапы и все трендовые технологии.

Конечно, Android лидирует по количеству устройств или установок. Однако как платформы, находящиеся в авангарде по громкостям анонсов, уровню ожиданий и качеству, iOS и Mac OS X не имеют себе равных. OS X — вообще первый пример, когда непрофессиональное сообщество следит за операционной системой для настольных компьютеров.

Статьи по теме
Реакция разработчиков и ИТ-экспертов на презентацию Apple на WWDC 201403 июня 2014, 03:09
Обзор главных новостей с Apple WWDC 201403 июня 2014, 01:48
Популярные статьи
Показать еще
Комментарии отсортированы
как обычно по времени по популярности

"Это при том, что исчерпывающей документации так и нет, а доступ к среде разработки есть вообще не у всех (только у подписчиков программы Apple Developer)"- торрент всем в руки

Технически - да, можно. А вот нафига не-девелоперу новый XCode? Если для себя побаловаться - можно и со старым посидеть до осени.

0

Отличная статья, спасибо!

0

Сильный респект за статью

0

Возможность комментирования статьи доступна только в первые две недели после публикации.

Сейчас обсуждают
Shtadler Anton

Наконец-то кто-то вспомнил про Сведбанк. В Швеции он просто божественен, не знаю как в Латвии.

Жизнь в Риге глазами издателя «Медузы»: банки, услуги, жильё, язык и транспорт
0
Сергей Подорожный

Сорян, что под первым.

Минимальный функционал также имеет и мейстертаск. Он как раз это и сделал, взял все основные плюшки, разукрасил поинтереснее и на тебе - простенький и стильный трекер. Но на больших проектах и при особо сильном задротстве по скраму чувствуешь, что мейстера не хватает. И вот тогда переходишь на джиру.

Подумайте лучше над теми функциями, которые приходится подключать плагинами в той же джире или трелло. Хотя бы плэнинг покер, к примеру. Ведь упростить - не значит срезать кучу функций вместе с важными. Упростить - значит оставить только важное. Но что для одних мусор, для других может быть маст хэв.

Вот поэтому важно подумать над тем, чтобы сделать трекер, в котором можно, например, выбрать функционал трекера в зависимости от бизнеса. Например, команда из 7 человек занимается разработкой мобильных приложений. Ага, ок, держите вот такой функционал, потому что, скорее всего, вам понадобится вот и это.

А вы пилите говно-лендосы? Хорошо, держите вот такой функционал, здесь есть кнопка "сменить профессию". А у вас половина команды состоит из фрилансеров на удаленке? Держите вот такой трекер. А вы продаете китайские товары? Держите вот такой трекер, - здесь ничего нет, потому что и вас быть не должно. Горели бы в аду ваши часы и барсетки.

В общем, несмотря на то, что трекеров дофига. Судя по своим ощущениям и по многочисленным комментариям, командам очень сложно адаптировать свои методологии и бизнес-процессы под трекеры. Можно было бы выделить хотя бы 5 основных видов команд и заточить функционалы под них.

Ты заходишь и говоришь, я продаю жопы тараканов, мне куда? А сервис говорит, окей, тебе вот сюда. Удобно же? Я это говорю потому, что трекеров много, но та же джира, например, реально напрягает чутка своим интерфейсом с миллионом функций, среди которых иногда путаешься.

Интерфейс там, мягко скажем, не дружелюбный. Заходишь как на рынок. И помидироы, и зелень, и пряники, и мясо, и молоко - вроде все вкусно и нужно, а по факту не всё. Либо нужен трекер, где можно настроить самому свой функционал. Даешь гору всего и говоришь - тебе вот эта хрень не нужна, да? Просто возьми и удали. А вот это нужно? Ок, добавь сюда, на видное место. Оставь самое важное. Составь сам свой трекер. Вот это было бы кайфово. Без подключений плагинов, без костылей, без мусора в интерфейсе.

Тут до сих пор есть куда развиваться, надо только брать и делать круто. Импортозамещение - это прикольно. Только вы подумайте над тем, для кого вы делаете продукт. Для IT? А IT команды наоборот чаще всего стремятся работать на международные рынки. Да и английский для них преграды не вызывает. Так что скрамить в русском сервисе для них вряд ли звучит значимо. Для меня, например, не звучит. Мне главное, чтобы комп был мощным, а где он был собран - плевать вообще.

В общем, судя по тому, что вы написали "после прочтения книги захотелось....", вы, кажется, сами особо по скраму не работали. Если нет возможности поработать с командой хотя бы человек 10-15, побеседуйте с теми, кто работал в больших проектах, а лучше напроситесь в гости на пару дней. Посмотрите, что происходит и какие возникают проблемы. Много нового узнаете и заметите.

P.S. И это еще далеко не все идеи. Есть у меня еще одна великолепная концепция трекера, которую до сих пор никто не воплотил, вот только времени нет, чтобы поднимать такой проект с нуля.

Если нужна помощь стратегического плана, с аналитикой или со сборкой бэклога, пишите. Я продукт оунер, уже занятый, но по вечерам в течение какого-то времени с удовольствием бы помог развиться проекту в нечто большее, чем просто аналог, если, конечно, у вас есть большие амбиции и хоть какие-то возможности.

Scrum Time — система управления проектами по методологии Scrum
0
Johnny Vorony

Ладно американское и британское правительство ломаем! Трамп - российский ставленник, но вот серию шерлока украсть - это уже чересчур!

«Первый канал» через суд потребовал заблокировать попавшую в интернет до премьеры серию «Шерлока»
0
Иван Иванов
ITEC B2B

я завтра же с утра уточню про иероглифы. если ошибся, то напишу, что ошибся. но я точно помню, когда я спрашивал как выучить китайский, так как все иероглифы разные, мне сказали, что базовых иероглифов 2000.

дешевле есть и в Москве.

мне нужно, что бы они работали, когда мне нужно, а не когда им удобно. целевая команда занималась подписанием контрактов. что с этого, что они там присутствуют? они мне чем то могли помочь?
они нас даже по мелочным сливали, мол не наше дело.

это зависит от бизнеса. где то разработка не связана с операционной деятельностью и можно заниматься когда угодно. где-то связана и нужны люди в нужное время в нужном месте.

на Амазоне зависли товары и мы не могли продавать через FBA. Амазон всегда считался продвинутым в плане складов и работой с товарами.

из Москвы загружали

я знаю, что в ГК специалисты на порядок выше. но они и дороже.

не принимайте близко к сердцу, это всего лишь мой личный опыт.

Письмо в редакцию: Почему мы отказались от сотрудничества с китайскими разработчиками
0
Ron Bullet

не то, чтобы я поддакивал - но я пишу вот это все, потому что у меня такое же ощущение. Ну мало ли - может мне жестко кажется, может все кругом правы, а я сильно ошибаюсь.
Выходит, что это не только моме мнение.

Вы натолкнули на интересную мысль. Вообще-то русские (именно русские, не россияне) - очень сочувствующие, как и все славяне, но только действительно не на людях, не в обществе. Но действительно боятся проявлять толерантность, эмпатию - на людях. Наверное это пополам как защитный механизм, так и комплекс (ну типа как у японцев, которые тоже не проявляют свою натуру на людях - только японцы прячутся за культурой поведения, а не за хамством).
Интересно было бы теперь понять, откуда происходит вся эта инфантильность.

Жизнь в Риге глазами издателя «Медузы»: банки, услуги, жильё, язык и транспорт
0
Показать еще