WWDC 2015: Apple уменьшила приложения

Если бы пользователи iOS-устройств обращали внимание на “всякую ерунду”, они были бы шокированы: начиная с осени 2015 года приложения для iOS стали вдруг худеть. Как если бы в Apple появилось подразделение магов, не иначе.

Но пользователи, как правило, до цифровой прозы не опускаются. Особенно владельцы устройств с 128 или 256 Гигабайтами флэш-памяти. Apple именно этого и добивалась, в течение многих лет. Компанию (еще во времена первых Mac’ов) критиковали за глупое потакание пользователям, утверждая что пользование Mac’ами отупляет.

Но по-настоящему серьезные проблемы у Apple начались в 1995 году, когда Microsoft создала что-то очень похожее на систему Mac’ов и назвала это Windows 95. Mac’и все еще были лучшими, но неизбалованным отупляющим Mac’овским интерфейсом пользователям PC было все-равно.

Кстати, вам не кажется что пользователи и в самом деле отупели за последние годы? Уж не Mac’и ли виноваты в этом? Сегодня не это наша тема, увы. Как-нибудь?

Операционная система (любая) – это, по сути, огромное приложение, состоящее из кода и ресурсов, в особо крупных размерах. Это миллионы строк нетривиального исходного кода, и много всякой всячины разного назначения. Мода на похудение коснулась и iOS.

iOS 8 “весила” 4,6 Гигабайта. Это была совершенная ОС, отвечающая требованиям своего времени, в чем-то даже лучшая в мире, гигантский размер объясним и понятен.

iOS 9 не уступала предшественнице по части функциональных возможностей, наоборот – она умела работать с еще большим разнообразием устройств, при этом для её установки требовалось всего от 1,3 до 1,8 Гигабайта флэш-памяти.

Магия?

Продолжение мини-серии про WWDC 2015, предыдущие части здесь:

Первая часть: WWDC 2015: Никаких сенсаций;
Вторая часть: WWDC 2015: Назад, к Mac, iPhone и iPad.

Откуда “лишний вес”?

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

Разработчики графических форматов (таких как JPEG, PNG или TIFF) вложили немало сил в разработку алгоритмов сжатия изображений, но когда их сотни (а то и десятки тысяч), места в флэш-памяти устройства они занимают много. Чем “тяжелее” приложение, тем больше времени (и трафика) требуется на его загрузку.

С появлением Retina-дисплеев графические файлы в iOS-приложениях стали занимать в разы большие пространства памяти. Совместимость с Retina-дисплеями – это добавление в ресурсы приложения графических файлов с 2-кратной высотой и шириной. Естественно они намного тяжелее 1-кратных. В зависимости от разрешения устройства на котором запускалась программа, использовались либо 1-кратные, либо 2-кратные варианты.

Размер исполняемого кода тоже рос как на дрожжах: чтобы приложение работало на всех устройствах способных работать в заявленных при отправке в App Store версиях iOS, кода требовалось в несколько раз больше, чем прежде.

Код и графика были не единственными “пожирателями памяти”, были и другие: аудио, видео, все что угодно. Код для Open GL ES, код для Metal и тому подобное.

Надо было что-то делать, и к этому что-то уже готовились. В iOS 7 появились Image Assets (Asset переводится как “актив”), для графических файлов с определенными именами (в строках) для разной кратности разрешения (в столбцах). По запросу из приложения возвращались файлы нужного разрешения,

Скорее всего, предпринимались и другие меры по подготовке решительных перемен. Тем временем, для iPhone 6 Plus потребовались графические файлы 3-кратного размера. В том же, естественно, количестве что и 1- и 2-кратных. Только еще более тяжелых.

Проблема стала нестерпимой.

Как решать эту проблему?

Я видел (примерно в то же самое время) как подобная проблема решалась в одном из Store одного из ведущих производителей телефонов и планшетов для Android. Не скажу какого, мы работали с несколькими. Store, также как и “яблочный” App Store, тщательно проверял предлагаемые ему приложения, а среди требований было ограничение на размер сборки, в разы меньшее чем размер приложения которое уже не первый год размещалось в Google Play.

В документации нашелся и ответ, по сути “делайте что хотите”. Размещайте все ресурсы на своем сервере, и загружайте их оттуда, по мере необходимости, когда приложение будет установлено на устройстве. Так и поступили.

На сервере компании место было, без нервотрепки не обошлось, но его нам выделили.

Едва ли не самая типичная реакция на инновации Apple: “это уже делали до них, много раз, ничего нового они не придумали”. Но в том-то и дело что, как правило, главный вопрос не “что?” а “как?”.

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

Путь Apple – правильно делать правильные вещи (Гай Кавасаки)

Решение Apple было частью iOS 9. Решений было несколько, большую часть трудозатрат Apple брала на себя.

Разработчик, как и прежде, отправлял на проверку и размещение в App Store программу с полным набором всех ресурсов, необходимых ей для нормальной работы на всех типах iOS-устройств.

При установке приложения на устройство пользователя, автоматически, с участием LLVM, из приложения удалялось все что на целевом устройстве не понадобится.

Устанавливался только исполняемый код соответствующий целевому устройству, и только графические файлы требуемого размера. Из тех которые размещались в Image Assets. Все это делало программное обеспечение App Store.

К Image Assets в iOS 9 добавили Data Assets, для размещения любых ресурсов для разных типов устройств. С ними поступали точно также. Кроме разрешения экрана для выбора какие именно ресурсы устанавливать использовались самые разные критерии: объем оперативной памяти, тип графического процессора и другие.

В зависимости от технических возможностей устройства на которое устанавливалось приложение, App Store автоматически выбирал нужное.

В распоряжении разработчика было еще одно средство: установка приложения по частям, с последующей загрузкой (из App Store) других частей – по запросу приложения. А когда доступной памяти становилось слишком мало, части которые дольше не использовались удалялись (на устройстве). По запросу приложения удаленная часть возвращалась на её место.

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

На WWDC в качестве примера приводила игра с несколькими уровнями. Скорее всего, при установке приложения будет установлен первый уровень, когда возникнет потребность во втором уровне, по запросу приложения, будет загружен и установлен второй. При острой нехватке памяти первый уровень (поскольку его не использовали дольше) будет удален, но по первому же требованию App Store его восстановит.

Продолжение следует

Обсудить историю Apple вы можете в нашем Telegram-чате.

WWDC 2015: Назад, к Mac, iPhone и iPad

Когда-то давным-давно, 20 октября 2010 года, в кампусе Apple состоялось событие с почти сенсационным девизом “Back to Mac”, но вовсе не о том, о чём все подумали. В iOS к тому времени напридумывали много всего интересного, и пришло время делиться новшествами с системой-прародителем. В 2014-2015 история повторилась.

Правда теперь не было Стива, и представить Apple Watch в более выгодном свете никто не догадался. Посчитали все это ненужным (организация и проведение пресс-конференции – дело хлопотное и недешевое), излишним, или по какой-то другой причине. Заслуги юной платформы перед её большой семьёй остались неизвестными для большей части публики.

Но тратить время и силы на заигрывание с публикой (как 20.10.2010) никто не стал.

Часы – они и есть часы, пусть даже это часы от Apple. Пусть даже “прикольные”, со своей изюминкой, ставшие модным аксессуаром. От часов других производителей у Apple Watch было много отличий, не только положительных. Например, зависимость. От которой они, шаг за шагом, избавлялись в течение всей их недолгой жизни. На WWDC 2019 её, наконец, торжественно провозгласили.

По-моему, часы от Apple – больше чем часы, но есть и другие мнения.

Первый шаг к независимости был сделан в watchOS 2, объявленной на WWDC 2015. Но iPhone все еще был необходим, и впереди были годы побед и поражений.

Продажи Apple Watch стартовали 24 апреля 2015 года. Доброжелатели, затаив дыхание, ждали предсказанного ими же неминуемого фиаско. Которое не случилось. Но даже если бы история Apple Watch кончилась в мае-июне 2015, они оставили бы свой след в iOS и OS X.

Продолжение мини-серии про WWDC 2015, предыдущие части здесь:

Первая часть: WWDC 2015: Никаких сенсаций.

Сан-Франциско

Даже если забыть про многовековую историю часового дела, и вспомнить только носимые устройства начала десятых нового века, Apple Watch были далеко не первыми часами с ОС и с научно-фантастическими способностями. Некоторые из предшественников Apple Watch имели успех. Умеренный.

Чтобы выделиться на общем фоне, Apple нужно было сделать то что она умела лучше всех: придумать что-то совершенно уникальное, необычное, красивое и многофункциональное, в форм-факторе наручных часов. Заразное как неизлечимая инфекционная болезнь.

Как здорово было бы прочитать историю этого проекта, с момента его рождения до самой последней версии watchOS, в лицах и с диалогами. Триллер на производственную тему. Но увы – 99,999% этой истории покрыто мраком.

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

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

Шрифт назвали San Francisco. В ноябре 2014 года его впервые увидели в деле сторонние разработчики – он входил в состав первой публичной версии WatchKit. Это был именно тот шрифт, который требовался самому маленькому устройству от Apple – и не только ему. В операционных системах для “больших” устройств (iPhone теперь считался “большим”!) SF тоже был востребован.

SF – это сокращенное имя нового шрифта, извините если это уточнение для вас излишне.

Вместо “просто еще одного шрифта”, замечательного и легко читаемого, появилось целой семейство шрифтов. В июне 2015 года шрифт для Apple Watch назвали SF Compact.

А имя San Francisco перешло к варианту шрифта доработанному для применения в OS X и iOS. В OS X El Capitan и iOS 9 этот шрифт стал “системным”.

Технические подробности здесь. (продолжительность 00:32:25)

Трехмерное прикосновение, с усилием

Taptic Engine, изначально разработанный для Apple Watch, приглянулся инженерам Apple других направлений.

В результате на свет появился “тактильный” трекпад. Сначала в 13-дюймовом MacBook Pro, потом в почти игрушечном и убийственно престижном MacBook, потом и в большом MacBook Pro.

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

Поддержку “дополнительного измерения” добавили в OS X Yosemite 10.10.2, в январе 2015 года. Это был “Back to Mac”.

“Back to iPhone/iPad” состоялся позже, но скорее всего не из-за технических сложностей, в Apple делаются иногда абсолютно безумные вещи, но строго по плану. По плану, новые iOS-устройства должны были выйти осенью. К этому же сроку готовили новую версию iOS.

В iOS 9, объявленной 8 июня 2015 года, способность распознавать усилие прикосновения пользователя к экрану была встроена, её тщательно протестировали, и подготовили к дню Д. Во время пресс-конференции по поводу открытия WWDC об этой способности ничего не сказали. А зачем?

По традиции, новая версия iOS выходила за 2 дня до начала продаж очередного поколения iPhone. О новых iPhone мы скоро поговорим, отмечу только что совместными усилиями iOS 9 и этих новых моделей iPhone аналог Force Touch пришел и на iOS-устройства. В iOS его окрестили “3D-Touch”.

Продолжение следует

Предлагаем подписаться на наш канал в «Яндекс.Дзен». Там вы сможете найти эксклюзивные материалы, которых нет на сайте.

WWDC 2015: Никаких сенсаций

Разрыва шаблонов и крушения стереотипов на этот раз не было. Разумно и предсказуемо, почти скучно. Прилично до неприличия. Последняя часть мероприятия удивила. Она была неуклюжей и неинтересной, наверное это был худший “One More Thing” за всю их историю. То что презентовали, на самом деле, было неплохо: доступ ко всем богатствам iTunes за 9,99 долларов в месяц, 24 часа в сутки 7 дней в неделю. Семейный доступ – за 14,99. Это называлось Apple Music. Сервис. Подобные сервисы уже существовали, Apple Music даже если он (“сервис”, значит “он”) чем-то и превосходил их, презентация обошла этот момент молчанием. То есть, ничем?

Трюк OMT (One More Thing) использовался для выделения главного и невероятного, он был чем-то вроде сигнала для утомленных слушателей: “внимание, сейчас будет интересно!”, то есть, этот сервис следовало воспринимать как что-то прорывное и революционное.

Сам сервис был намного лучше чем его представили. Инженеры, как всегда, выполнили свою часть работы на высшем уровне. Но, почему-то, он так и не “взлетел”. Если бы о нём ничего не сказали в тот день, а просто выпустили бы сухой и бесстрастный пресс-релиз, с перечислением достоинств и важных подробностей, было бы лучше.

Но OMT закрывал пресс-конференцию по случаю открытия WWDC 2015 года, предыдущие её части, как минимум, были исполнены качественно и отторжения не вызывали.

Главные темы

Если забыть про Apple Music, главных тем было три. OS X El Capitan, iOS 9 (с функциями “только для iPad”, за 4 года до iPadOS) и watchOS 2. И с дюжину тем калибром поменьше.

Например, Metal пришел в OS X. В системных фреймворках он заменил OpenGL и OpenCL. У сторонних разработчиков был выбор, никто не заставлял их немедленно уходить из этих старых и медленных технологий – время еще не пришло.

“Металлисты” (группа разработчиков Metal) приручили графические процессоры от Intel, AMD и NVIDIA, это вообще-то был настоящий прорыв, которому уделили намного меньше времени чем Apple Music. Эксперты предсказывали этот прорыв, но года через 3, не раньше. Или через 5. Но не прошло и года: невыполнимая миссия блестяще выполнена. Во что это обошлось “металлистам”, не сообщали.

Сторонние разработчики использовавшие в своём коде OpenGL и/или OpenCL не спешили бросать привычные и хорошо им знакомые “устаревшие” API. Главным препятствием было даже не нежелание изучать что-то новое (необходимость постоянно учиться – особенность профессии программиста, такая же как постоянная готовность к смерти у самураев).

OpenGL и OpenCL были кросс-платформенными технологиями. Metal – нет. Более того, в отличие от прежних эпох Apple даже не пыталась сделать Metal общедоступным, считая его своим конкурентным преимуществом. Популярность “яблочных” платформ в 2015 была беспрецедентной, но недостаточной чтобы убедить разработчиков тратить время на две версии нетривиального кода вместо одной, общей для всех платформ.

Еще одна важная тема была затронута мимоходом. В начале презентации OS X 10.11 “El Capitan” Крейг Федериги сообщил что на 55% Mac’ов установлена OS X 10.10 “Yosemite”, вышедшая всего за 8 месяцев до этого. Для сравнения, Windows 8.1, вышедшую в октябре 2013, за год до OS X 10.10 “Yosemite”, использовали только 7% пользователей Windows.

В начале презентации iOS 9, Крейг сообщил что iOS 8 установлена на 83% iOS-устройств.

То есть, 55% пользователей Mac’ов и 83% пользователей iOS имели доступ к новейшим технологиям этих систем, разработчики могли со спокойной душой концентрировать свои усилия на максимальной совместимости с последними версиями систем. Насколько важна концентрация усилий при написании программы, надеюсь, догадаются даже те кто никогда не работал в софтверной индустрии.

Почему “яблочные” платформы год за годом распространяются на порядок быстрее чем их конкуренты? Причин несколько, но самая главная из них – простота апгрейда. И его цена. И модельные ряды в которых очень просто ориентироваться (а зачем больше?), и вообще тот самый “особый путь Apple”, за который её все критиковали и продолжают критиковать,

Среди новостей “второго уровня” было несколько новостей более важных чем “главные”. А про самую важную новость для разработчиков на пресс-конференции не упомянули.

О ней рассказали во второй половине первого дня WWDC.

Подозрительная забота о разработчиках

В 2014 году Apple, внезапно, перепроектировала iTunes Connect, облегчив жизнь всем кого нелегкая привела в ряды iOS-разработчиков, их менеджеров, маркетологов и всех прочих вовлеченных в создание iOS-приложений.

Это было настолько удивительно, что мы задавались вопросом “а в чём подвох?” – но его не было. Просто, наконец, сделали то что должны были сделать еще лет пять назад.

Но некоторые думали иначе. Была и такая версия: число желающих зарегистрироваться в качестве участника iOS Developer Program резко сократилось, а тех кто не продлевает подписку на эту программу (99 долларов в год, в США) наоборот стало больше. И вот вам результат: приобретение компании Burstly, наем её ключевых сотрудников, и разработка iTunesConnect “с нуля”.

Что сказал бы наш коллега, которого я назвал в предыдущем абзаце “некоторыми”, по этом поводу – могу только догадываться.

До июня 2015 года у Apple было три “программы для разработчиков”, каждая из которых обходилась в 99 долларов в год. Mac Developer Program, iOS Developer Program и Safari Developer Program. О первых двух я был неплохо осведомлен, программа разработчиков Safari, по-моему, касалась разработки расширений для Safari (могу ошибаться).

В 2015 году платформ стало больше, появилась watchOS. Связанная с iOS, но особенная. Решение которое приняли в Купертино было неожиданным. И приятным. Для всех, кроме тех кто только-что обновил свою подписку на все три Developer Program. Впрочем, о них позаботились: срок обновления подписки на единую программу был для них увеличен до двух лет.

Теперь, чтобы получить доступ к закрытым ресурсам и бета-версиям систем для всех платформ, достаточно было подписаться на Apple Developer Program, за те же 99 долларов в год.

Видео

Видеозапись пресс-конференции (продолжительность 02:20:09):

Продолжение следует

Предлагаем подписаться на наш канал в «Яндекс.Дзен». Там вы сможете найти эксклюзивные материалы, которых нет на сайте.

WWDC 2019: Между macOS и iOS

3 июня Apple удалось удивить публику. Несколько раз – но если про другие новшества все уже откуда-то знали, то это было громом среди ясного неба: iPadOS. Крейг попытался доказать очевидное: iOS это система для потребления информации, iPad с самых первых его моделей провоцировал на действия противоречащие смыслу системы. И даже, несмотря ни на что, с помощью приложений от сторонних разработчиков, в этом преуспевал.

В прошлом году мне пришлось в течение полутора месяцев писать свои дурацкие опусы на iPad. На iPad mini 2. В Pages. В iOS 11. Впечатления не передать печатными выражениями.

Главная задача любой операционной системы – не мешать пользователю самовыражаться. iOS 11 упорно вставала у меня на пути. Побеждал я, но в упорной и почти равной борьбе.

Использовать телефонную операционную систему для планшетов – неправильно. Это было временной и вынужденной мерой. Для того чтобы одна и та же ОС приемлемо заработала на обеих платформах, потребовалось очень много усилий и времени.

С апреля по ноябрь 2010 года у Apple, фактически, было две мобильных ОС, одна только для iPhone, другая только для iPad. Об этом читайте в разделе “дежавю”.

Продолжение серии про WWDC 2019, предыдущие части здесь:

Первая часть: WWDC 2019: Возвращение “тёрки для сыра”;
Вторая часть: WWDC 2019: Черный стриж.

В случае аварийной ситуации

Что тело (iPad) и его душа (iOS) не соответствуют друг другу, было понятно уже давно. На совещаниях высшего руководства, время от времени, как минимум в 2014 году, устраивали демонстрации специальной планшетной системы на основе iOS.

Впечатление эта система произвела благоприятное, но с уровнем взаимной интеграции между устройствами с разными ОС (iOS и OS X) было не очень, iOS на планшетах особых претензий не вызывала, а по сумме свойств планшетная версия iOS ничем существенным от обычной не отличалась.

А в каждом новшестве от Apple обязательно должна быть изюминка, что-то выдающееся хотя бы на фоне конкурентов. Чтобы слушатели прониклись, оценили и говорили что-то возвышенное.

Вот только превращать iPad в реального конкурента MacBook Air или MacBook 2015 года, по мнению руководства компании, было бы неразумно. А система с тач-интерфейсом, но с меньшим числом ограничений чем iOS, внушала такие опасения.

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

А при возникновении аварийной ситуации, угрожающей благополучию компании, систему для iPad можно было бы доработать, довести до финальной кондиции и использовать, для устранения или ослабления проблем. Система решала проблемы, на которые уже никто не жаловался – и превосходила Windows 8.1 почти по всем пунктам. Просто было не время.

К аварийной ситуации могла привести, например, оплошность разработчиков. В середине 10-х 21 века Apple успевала выпустить что-то безумно привлекательное до того как акулы вроде Xiaomi и Huawei начнут наносить Apple ощутимый ущерб продавая по демпинговым ценам скопированную почти один-в-один у Apple предыдущую разработку.

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

Видимо, несмотря на все заявления что “все хорошо, просто великолепно”, в конце 2018 и в начале 2019 ситуация приблизилась к аварийной. Планшетный вариант последней iOS доработали, провели тщательное тестирование, и… “знакомьтесь, iPadOS 13, выйдет этой осенью, бета-версия сегодня”.

Последствия

iPadOS выглядит очень достойно. Она сможет работать с мышью, задержки при работе со стилусом сокращены более чем в два раза, интерфейс стал многооконным, средневековая пытка под названием cut-copy-paste канула в лету, её заменили 3-пальцевые жесты. Я эти жесты пока не пробовал, в реальности все это может омрачиться какой-нибудь ерундой – но на первый взгляд все выглядит вполне.

Вроде бы теперь можно даже выбрать часть слова, и отредактировать только её. Доступ к внешним накопителям данных, вменяемый (похоже на то) интерфейс с файловой системой.

Про интервью издания C|Net с Крейгом Федериги, старшим вице-президентом Apple по iOS и macOS (которому скоро прийдется заказывать новые визитки из-за этой самой iPadOS) уже написал мой коллега, Иван Кузнецов.

По мнению Крейга, из-за iPadOS новые планшеты от Apple не съедят MacBook. Поживем – увидим. Но всплеск интереса к iPad, особенно к новым, которые выдут осенью и в которых потенциал новой системы сможет раскрыться в полную силу, просто гарантирован.

Хотя результат зависит еще и от того, сколько эти новые iPad будут стоить.

Дежавю

На всякий случай, “дежавю” происходит от французского словосочетания “déjà vu”, то есть “уже виденное”.

Самый первый iPad вышел в свет 3 апреля 2010 года, с iPhone OS 3.2. Эта версия системы работала только с iPad, название системы противоречило её предназначению, но иногда потны неуместны. Качественно приспособить одну и ту же операционную систему к двум очень разным устройствам было невозможно.

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

Инженеры отнеслись с пониманием к настойчивому требованию Стива создать общую для iPhone и iPad ОС, обеспечить 100-процентную совместимость iPad с приложениями для iPhone, не множить сущности сверх необходимого и сконцентрировать усилия на лучшей в мире, но все еще такой несовершенной системе.

Было ли это ошибкой Стива – не знаю. Все получилось, наверное это был правильный ход.

В июле 2010 года вышла новая версия системы, назвали её iOS 4. Это была система только для iPhone и iPod touch. На iPad устанавливалась все та же iPhone OS 3.2 (в июле она стала iPhone 3.2.1, в августе – iPhone 3.2.2), на iPhone – значительно более продвинутая iOS 4.

Еще раз, если вы не заметили: на iPad – iPhone OS 3.2.x, на iPhone – iPhone 4.0, потом 4.1…

Первой общей для iPhone и iPad версией системы должна была стать iOS 4, но из-за бага в подсистеме WiFi она не вышла вообще. 22 ноября 2010 год вышла iOS 4.2.1, одна на всех.

С того дня и до iOS 13 iPad и его маленькие собратья работали под управлением одной и той же операционной системы. Собственно, они это делают и сегодня, 7 июня 2019 года.

Продолжение следует

Обсудить историю Apple вы можете в нашем Telegram-чате.

WWDC 2019: Черный стриж

В “яблочной” экосистеме грядут перемены. Скорее всего, радикальные. Для пользователя программа – это её пользовательский интерфейс, UI. До SwiftUI, с 1988 и до наших дней, в NeXTSTEP и в её потомках процесс создания UI оставался, в основном, тем же. И вот… Swift, которому как раз в эти дни исполняется 5 лет, действительно превращается в “гражданина первого сорта” в его вселенной. Когда-нибудь это должно было произойти, на нем уже сейчас пишут бóльшую часть программного обеспечения для macOS и iOS, а в относительно новых системах (tvOS и watchOS), почти без вариантов используется он.

Язык вырвался за пределы “яблочной” экосистемы, взлетел на самые первые позиции в чартах и даже успел опуститься в них на несколько пунктов – то есть, состоялся.

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

Года через два или три UI подавляющего большинства программ для операционных систем Apple будет создаваться с помощью SwiftUI. Чтобы это предсказание не сбылось, я даже не знаю что должно произойти. Что-то вроде конца света, ядерного апокалипсиса, второго пришествия или возвращения в Apple Скотта Форстолла в 2021 году (как планировал Стив).

Катастрофы меньшего масштаба не смогут повлиять на его судьбу. Новорожденный SwiftUI фантастически хорош, продуктивен, гибок – это очевидно даже в самой первой его версии. Точнее, в первой публичной бета-версии (он жил тайной жизнью уже несколько лет).

Реальное его вторжение в мир случится осенью, после приземления (приводнения?) Каталины.

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

А теперь поговорим о том, что такое SwiftUI, придирчиво и беспристрастно…

Продолжение серии про WWDC 2019, предыдущие части здесь:

Первая часть: WWDC 2019: Возвращение “тёрки для сыра”.

Кто ты, Черный Стриж?

Это очень разноплановая сущность. Это и средство для создания и совершенствования пользовательских интерфейсов для всех “яблочных” платформ, и декларативный диалект Swift, и инфраструктура для поддержки всего этого встроенная в Xcode 11 и macOS 10.15, и долгожданная замена играм с запредельным энергопотреблением: теперь они не нужны.

Есть более увлекательный и экологически чистый способ получить кайф. Создавай. Миры. Сам.

В основе всего – фреймворк (разновидность библиотеки), и очень хорошо продуманные правила “игры”. В первой версии “под капотом” используются те самые сущности, которые принадлежат к “толстому слою иной природы”, но это лишь временный компромисс.

Специально для SwiftUI в списке редакторов Xcode 11 появился Editor and Canvas. В сети я уже видел слово “канвас”, в роли перевода второй части этого названия. Обычно я руками и ногами “за” появление новых терминов в русском языке, заимствования обогащают язык и позволяют выражать смыслы более точно. Но в данном случае “холст” лучше. Полезные ассоциации, подтекст – все это работает в нужном направлении.

Декларативный диалект Swift – иносказание. Это обычные Swift-файлы, во всех магических проявлениях в “редакторе-и-холсте” виновны фреймворк SwiftUI (на самом деле, комплекс из нескольких фреймворков, извините за анатомический реализм) и особенности Swift 5.1. И еще что-то, встроенное в Xcode 11. Подробности на это ресурсе, видимо, неуместны.

Традиционное приложение для, например, iOS – это исходные файлы на разных языках (C, C++, Objective-C, Objective-C++, JavaScript, Swift и т.п.) и nib-файлы, с расширениями “xib” или “storyboard”, где в “засушенном” виде хранятся объекты интерфейсных элементов.

SwiftUI – это нечто параллельное традиционным ценностям. В SwiftUI интерфейс – Swift-файл или файлы. Холст в Editor and Canvas отображает, в режиме реального времени, все изменения исходного кода в описании интерфейса. В статике, но реалистично, как все это и выглядело бы в реальной программе если бы её построили прямо сейчас.

Холст не только изображает написанное в swift-файле. Элементы нарисованного UI живые, их атрибуты и параметры (цвет, прозрачность, форму, шрифт и много чего еще) с тем же успехом можно редактировать на холсте, как если бы это был графический редактор. Как в Interface Builder. При этом, все эти изменения синхронно отображаются в коде. Отличный способ изучения возможностей декларативного диалекта (огромного набора структур из которых в SwiftUI собираются интерфейсы).

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

Подробнее про “что это” можно узнать на портале developer.apple.com.

SwiftUI превратит нынешние программы в бесполезный хлам?

Нет. Это было бы равносильно выстрелу себе в висок. Apple (и взаимно поглотившая её NeXT) не первый год в софтверном бизнесе, и отлично понимают что к чему.

Тем более что SwiftUI – технология новорожденная. Её подвергали всевозможным тестам, как космонавта, её пытали самыми немыслимыми пытками – но с чем он (UI – интерфейс, то есть “он”) встретится в реальной жизни можно узнать только попробовав.

В софтверном бизнесе в актуальной версии программ принято поддерживать, помимо актуальной мажорной версии системы, еще и версию N-1. Или N-1 и N-2. Например, если программа написана для macOS 10.15, она должна работать в macOS 10.14, без каких-то функций которые в X.14 недоступны, но корректно и предсказуемо. Это N-1. Поддержка N-2, то есть macOS 10.13, еще сложнее. Никто не запрещает программе работать в более старых системах (если для этого нет веских причин), её совместимость с ними просто не проверяют, ничего личного – это трудоемко и недешево.

В наше время мажорные версии операционных систем выходят каждый год. В ближайшие год или два нашествие SwiftUI маловероятно, он поддерживается только в macOS 10.15 и выше.

Первые птенцы черного стрижа появятся быстрее, но погоду им сделать не удастся.

Все герои сегодняшнего дня остаются на своих местах: Objective-C, Interface Builder и прочие хорошие ребята. Но дорога в будущее проходит мимо них. Они останутся здесь.

С чем-то расставаться грустно. Но едва ли кто-то пожалеет об утрате AutoLayout, или Cocoa Bindings. В SwiftUI то что они делали делается проще, гибче и элегантнее.

Дежавю

Вводная лекция про SwiftUI для разработчиков началась с примера его применения. Это было увлекательно, захотелось немедленно все это попробовать, пощупать пределы всей этой невероятной магии (моя техника не потянет, увы) – вместо подробного рассказа о том что это, зачем и почему.

Об основах была другая лекция.

А ведь все это уже было. В конце 80-х и в начале 90-х Стив, в смокинге с галстуком типа “бабочка” (не путать с клавиатурой этого типа, не к ночи будь она помянута) вызывал у слушателей бурный восторг и иллюзию бесконечной легкости разработки программ этими средствами.

NeXTSTEP и в самом деле был самым мощным инструментом того времени, его талантов хватило на тридцать с лишним лет (Cocoa, Cocoa Touch, и всякие tvOS и watchOS – его современные версии). Бад Трибл (один из ключевых разработчиков первого Mac’а и его ОС, программирующий руководитель проекта NeXTSTEP) и Стив Джобс – гении, если бы они создали только эту среду разработки и её библиотеки, они вошли бы в историю.

Но иллюзия бесконечной легкости нанесла NeXTSTEP огромный, почти фатальный, ущерб.

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

Ущерб оказался не фатальным, но речь не о том.

SwiftUI – это безумно интересно, увлекательно, революционно (да, это не первая в мире реализация подобных идей, но и Apple II не был первым персональным компьютером, ни Mac, ни даже Lisa не были первыми компьютерами с графическим пользовательским интерфейсом, iPhone был далеко не самым первым смартфоном – можно не продолжать?), но…

Впрочем, на это раз Apple подготовилась основательно. SwiftUI создавался не один год, а программирующая публика 2019 года на порядок порядков мудрее чем публика 1988-89 годов.

Как и в NeXTSTEP, по мере усложнения интерфейса работать с SwiftUI становится трудней, число ошибок и неудачных решений растет экспоненциально. Как и NeXTSTEP, ему надо учиться, пробовать и ошибаться. Принципы просты и понятны, но есть еще и конкретика.

Продолжение следует

Предлагаем подписаться на наш канал в «Яндекс.Дзен». Там вы сможете найти эксклюзивные материалы, которых нет на сайте.

WWDC 2019: Возвращение “тёрки для сыра”

Обожаю сражающуюся Apple. Во всех предыдущих случаях “фруктовая” компания бралась за ум когда вопрос о её существовании уже стоял ребром. На этот раз они меня удивили. Я надеюсь что это удивление не исчезнет даже когда станут известны подробности. Я не собирался писать про WWDC 2019. Во всяком случае, пока не развеется пыль. Но вот пишу. Apple взялась за застарелые привычные болячки, и от предположений до чего она может дойти на этом пути волосы встают дыбом. Фильм ужасов… Про ужасы чуть позже.

О том, что iTunes.app превратился в монстра, и его ждет судьба динозавров, говорили уже лет 12, как минимум. Приложение заменившее плеер классической Mac OS стремительно обрастало побочными функциональностями, в 2008 кто-то даже предположил (в шутку) что скоро даже Mac OS X (как её тогда называли) станет его частью.

Представляете? iTunes в Mac OS X, а она сама – в нём. Кольцо Мёбиуса. А Джонатан Айв, с его неодолимой тягой к прекрасному превратил бы этот парадокс в шедевр, смотреть на который можно было бы бесконечно, как на язычки пламени в камине.

3 июня 2019 года, в конференц-центре McEnery в Сан-Хосе, Калифорния, случилось то что должно было произойти лет 10-12 назад. iTunes.app размножилась делением. Её больше нет, но есть Music, Podcasts и TV.

Очевидно что собственная операционная система для iPad, “сшитая на заказ” гениальными кутюрье из Купертино, подходила бы для них намного лучше чем это случилось в реальной истории, начали говорить еще в 2010 году. Стив принял трудное, но единственно верное на тот момент решение: сделать систему для iPhone универсальной. Иначе успех iPad был бы на порядок скромнее.

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

И вот – iPadOS. На первый взгляд, это действительно здорово. Остается много вопросов, возникают апокалиптические подозрения. И надежды. Поживем – увидим.

iOS 13, macOS 10.15 “Catalina”, watchOS 6 (и Watch App Store), Swift UI и много чего еще – о них писать еще рано, у нас еще не было возможности заглянуть им “под капот”, а верить на слово нельзя даже самому себе.

Но про “тёрку для сыра” и гигантский дисплей в стиле “буратино” не написать уже сейчас нестерпимо. Потому что это…

Новое слово в дизайне

Новый Mac Pro и 32-дюймовый (это 81,28 см) Pro Display XDR – это устройства с другой планеты, где арифметическую формулу UI/UX (пользовательский интерфейс поделенный на его функциональные качества) принято записывать наоборот: UX/UI. Как оно и должно быть, по-моему.

Впервые увидев новый Mac Pro (на картинке) я испытал ужас. Кастинг на главного героя самого ужасного ужастика мира он прошел бы с гарантией. Преувеличиваю, но не сильно. Сотни тысяч профессионалов так громко мечтали о “терке для сыра” на передней панели, что их мечта сбылась.

Похожий ужас я испытал впервые увидев SAAB 95. Это быстро прошло. Чудо-машина.

Что случилось с Кавалером Ордена Британской Империи Сэром Джонатаном Айвом? Он заболел? Его мучили? Он сошел с ума?

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

К Mac Pro из ужастиков можно подключить до 6 Pro Display XDR из ужастиков. Это 120 миллионов пикселей. Это ужасно… здорово.

Сэр Джонатан не сошел с ума. Он все сделал правильно.

В устройствах для потребителей главное – красота. В устройствах для профессионалов важнее их профессиональные качества.

На всякий случай, чтобы не было недопонимания, в этом разделе мы обсуждали внешний вид Mac Pro 2019 и 32-дюймового Pro Display XDR, которых большинство из нас видели только на картинке. И сколько людей – столько вкусов.

Внешне они ужасны – именно из-за этого они мне нравятся.

Профессионален ли профессионал?

Intel Xeon с числом ядер до 28. Оперативная память до 1,5 Терабайт. SSD-накопители с объёмом до 4 Терабайт. MXP (Mac Pro Expansion Module), до двух штук.

Внутренности Mac Pro 2019 года доступны “на 360°” – для снятия корпуса инструменты не нужны. Достаточно разблокировать фиксатор, и потянуть корпус вверх. Он снимается с прочного металлического каркаса как перчатка. Как и у Mac Pro 2013 года.

Навевающие жуть отверстия “тёрки”, всего-навсего, оптимальны. Их задача – обеспечить нормальный температурный режим внутри корпуса при любой нагрузке. И возможно, эти отверстия, на самом деле, изумительно красивы. Просто мы еще не прониклись.

Окончательно ответить на вопрос о профессиональной состоятельности Mac Pro 2019 мы сможем только реально опробовав его в деле. Судя по тому что про него рассказали, он невероятно талантлив и способен на всё.

Вот только есть одно маленькое “но”, о котором нельзя не поговорить.

Сколько это будет стоить?

В самой скромной конфигурации (скромнее некуда): 8-ядерный Intel Xeon, 32 Гигабайта оперативной памяти (ECC, с коррекцией ошибок), SSD объёмом в 256 Гигабайт, с графической картой AMD WX 7100, новый Mac Pro будет стоить 5 999 долларов. Без налогов и сборов.

Даже в минимальной конфигурации это монстр, вполне работоспособный. Вроде бы, Mac Pro в минимальной конфигурации уступает не самы дешевым iMac Pro – мы пока не знаем насколько это умозаключение верно. По сумме качеств компонентов – возможно.

Дорого? Mac Pro 2012 года, в минимальной комплектации, стоил 2 999 долларов, но чтобы превратить его во что-то полезное, требовалось затратить еще тысячу или две зеленых, и 5 999 долларов 2019 года за готовый к употреблению компьютер – почти нормально. SSD можно было бы и побольше, но при наличии внешнего RAID Терабайт на 12 – терпимо. Если RAID уже есть.

Цену за минимальную конфигурацию назвали, 99 из 100 что такой она и будет. Вопрос в заголовке немного о другом.

Сколько будет стоить максимальная конфигурация Mac Pro, с оперативной памятью в 1,5 Терабайта, 28-ядерным Intel Xeon, самой дорогой графической картой, SSD объёмом в 4 Терабайта, и с двумя MXP (Mac Pro Expansion Module)?

И сколько будут стоить “средние” конфигурации, для разных областей применения. Узнаем через пару месяцев.

Добавим сюда два Pro Display XDR, каждый из которых обойдется в 4 999 долларов + 199 долларов за коннекторы + 999 долларов за стойку (если я правильно понял, очень надеюсь что ошибаюсь).

Если верить Филу Шиллеру, за дисплей с характеристиками Pro Display XDR просят 43 тысячи долларов. То есть, Pro Display XDR раз в 7 дешевле чем ближайший конкурент?

Продолжение следует

Обсудить историю Apple вы можете в нашем Telegram-чате.

Итоги WWDC 2019 за 7 минут (iOS 13, MacOS Catalina, iPadOS, Mac Pro)

Сегодня мы решили собрать воедино впечатления от вчерашнего мероприятия и подготовили видео, в котором мы подвели итоги насыщенной анонсами и новинками конференции WWDC 2019.

Приятного просмотра, делитесь этим видео и обсуждайте новинки в комментариях и в нашем Telegram-чате.

Apple запустила новую функцию «Войти с помощью Apple»

Apple объявила о появлении новой функции «Войти с помощью Apple» в рамках презентации iOS 13. Кнопка предлагает функцию единого входа с помощью Apple ID, аналогичную таковым в Twitter, Facebook или Google.

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

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

Предлагаем подписаться на наш канал в «Яндекс.Дзен». Там вы сможете найти эксклюзивные материалы, которых нет на сайте.

Apple обновила tvOS и добавила поддержку джойстиков от Xbox и PlayStation 4

В рамках конференции WWDC 2019 Apple представила новую версию операционной системы tvOS 13. Она получила полностью переделанный домашний экран, полноэкранные превью за иконками, а также поддержку джойстиков от PlayStation и Xbox.

В новой tvOS будет поддержка многопользовательского режима. Каждый член семьи получит собственный список персональных рекомендаций. Apple Music в tvOS также улучшится: например, теперь будет показывать текст песни синхронно с музыкой.

Но главной фишкой обновленной операционной системы станет поддержка джойстиков от PlayStation и Xbox. tvOS уже поддерживает контроллеры Bluetooth, но многие, очевидно, больше знакомы с геймпадами от двух самых популярных игровых консолей.

Что касается сервиса Apple TV Plus, его планируется запустить осенью. Скорее всего, мы услышим больше деталей, в том числе о цене, на сентябрьском мероприятии компании.

Бета tvOS 13 будет доступна уже скоро, официальный релиз — осенью. Кстати, в нашем Telegram-чате уже вовсю кипят обсуждения по этому поводу.

Где смотреть WWDC 2019? На AppleInsider.ru!

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

Смотреть WWDC 2019 онлайн

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

Но если по какой-то причине у вас нет возможности пользоваться этой трансляцией, у нас есть для вас еще один вариант — специальный канал в Telegram, в котором можно будет в реальном времени следить за сегодняшней презентацией. Спешите подписаться и наслаждаться последними новостями и прямыми трансляциями! Ну а обсуждать новости можно в нашем Telegram-чате: вдруг что-то очень крутое покажут?

Подписаться на канал

Ровно в 19:00 по московскому времени мы начнем вести прямой эфир, главная страница нашего сайта будет заменена на страницу трансляции, а на экране вы увидите все возможные варианты того, как можно следить за WWDC 2019 и обсуждать новинки от Apple вместе с нами. Сама трансляция начнется в 20:00. Присоединяйтесь!

Итак, до встречи сегодня, 3 июня, в 19:00 по Москве на live.appleinsider.ru!