Развлекательный порталРазвлекательный портал


Общее
Игры
Apple
Android
Развлечения
Прохождение
Карта сайта

Конец ретроградного Меркурия: знаки зодиака, которые окажутся неуязвимыми перед проблемами с 25 апреля
Геймеры просят убрать из Kingdom Come 2 раздражающую механику
Разработчик Fallout Тодд Говард назвал свой любимый момент в сериале по игре

WWDC 2019: Черный стриж
🕑 11.06.2019 Общее 👀 80 просмотров

В “яблочной” экосистеме грядут перемены. Скорее всего, радикальные. Для пользователя программа – это её пользовательский интерфейс, 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, ему надо учиться, пробовать и ошибаться. Принципы просты и понятны, но есть еще и конкретика.

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

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

👍 0 👎 0

>>>Ссылка для отзывов и предложений<<<


Ещё новости с тэгом Общее






















Популярное 2 недели


День матери: поздравления и подаркиДень матери: поздравления и подарки
🕑 20.04.2024 Развлечения Мой Дом Семья 👀 149 просмотров

Новая «Миссис Смит»: уставшая от разборок с Питтом Джоли удивила переменамиНовая «Миссис Смит»: уставшая от разборок с Питтом Джоли удивила переменами
🕑 20.04.2024 Развлечения Звезды Новости 👀 145 просмотров

Звезда *Игры престолов* присоединяется к актерскому составу *Ведьмака*Звезда *Игры престолов* присоединяется к актерскому составу *Ведьмака*
🕑 20.04.2024 Игры 👀 104 просмотров

День учителя: поздравленияДень учителя: поздравления
🕑 20.04.2024 Развлечения Мой Дом Семья 👀 196 просмотров

Инсайдер намекает на скорый анонс Far Cry 7; антагониста в игре может сыграть Киллиан МерфиИнсайдер намекает на скорый анонс Far Cry 7; антагониста в игре может сыграть Киллиан Мерфи
🕑 20.04.2024 Игры 👀 153 просмотров

День города Москва 2024День города Москва 2024
🕑 20.04.2024 Развлечения Мой Дом Семья 👀 118 просмотров

В GTA 6 может появиться трассировка лучей. Rockstar Games ищет разработчиков с опытом работы с современными API RTВ GTA 6 может появиться трассировка лучей. Rockstar Games ищет разработчиков с опытом работы с современными API RT
🕑 20.04.2024 Игры 👀 94 просмотров

Климова в платье с декольте и бантами покорила гостей ММКФКлимова в платье с декольте и бантами покорила гостей ММКФ
🕑 19.04.2024 Развлечения Звезды Новости 👀 170 просмотров

Сандра И Сенсиндивер возглавит корпорацию *Вейланд-Ютани* в сериале *Чужой*Сандра И Сенсиндивер возглавит корпорацию *Вейланд-Ютани* в сериале *Чужой*
🕑 19.04.2024 Игры 👀 182 просмотров

Intel подтверждает поддержку памяти DDR5-8800 для поколения Xeon 6Intel подтверждает поддержку памяти DDR5-8800 для поколения Xeon 6
🕑 19.04.2024 Игры 👀 170 просмотров

Личную переписку братьев Меладзе слили в Сеть — вот почему продюсер развелся с БрежневойЛичную переписку братьев Меладзе слили в Сеть — вот почему продюсер развелся с Брежневой
🕑 19.04.2024 Развлечения Звезды Новости 👀 162 просмотров

Игроки сравнили локации из трейлера Kingdom Come 2 с реальными местамиИгроки сравнили локации из трейлера Kingdom Come 2 с реальными местами
🕑 19.04.2024 Игры 👀 247 просмотров

Винни Пух выходит на охоту в дублированном тизере *Крови и мёда 2*Винни Пух выходит на охоту в дублированном тизере *Крови и мёда 2*
🕑 19.04.2024 Игры 👀 201 просмотров

Обновление для PUBG на консолях принесло ряд значительных изменений, которые ранее были добавлены на ПКОбновление для PUBG на консолях принесло ряд значительных изменений, которые ранее были добавлены на ПК
🕑 19.04.2024 Игры 👀 185 просмотров

>>>Ссылка для отзывов и предложений<<<

Новости в картинках


Конец ретроградного Меркурия: знаки зодиака, которые окажутся неуязвимыми перед проблемами с 25 апреля
Геймеры просят убрать из Kingdom Come 2 раздражающую механику
Разработчик Fallout Тодд Говард назвал свой любимый момент в сериале по игре
Сбежала из Голливуда: стало известно, где Эмбер Херд начала новую жизнь
*10 тысяч кораблей* - подробности отменённого спин-оффа *Игры престолов*
Крис Пратт пытается найти кошачью сущность в новом ролике *Гарфилда*
«Моя любовь»: Билан вывел на сцену и нежно обнял особенную девушку
Вышел крупный патч для сборника переизданий Star Wars: Battlefront Classic Collection
В эту пятницу разработчики WoW: Cataclysm Classic приглашают игроков протестировать рейтинговые поля боя вместе с ними
Актёр проговорился, что Gears 6 покажут в июне
Сравнительное видео Unreal Engine 5.4 демонстрирует различия в отражениях с трассировкой лучей
Стало известно точное время выхода Manor Lords
Gran Turismo 7 отдаст дань уважения легендарному автомобилю; новое обновление появится 25 апреля
Battlestate Games поделилась обновленной дорожной картой Escape from Tarkov: Arena
Bandai Namco поделилась трогательным заявлением Акиры Ториямы в преддверии релиза Sand Land
25 апреля: какой сегодня праздник?
Бузову готовят к операции — что скрывает ведущая от фанатов
5 лучших функций iOS 17, ради которых стоит наконец обновить свой Айфон
Хорошо устроилась: суррогатная мать детей Пугачевой снова родила
*Человек-Паук* Сэма Рэйми достойно показывает себя в повторном кинопрокате
Не удалось отправить SMS на указанный вами номер. Что делать, если не получается зайти в Ватсап
Как дозвониться ребенку, если его телефон в беззвучном режиме. Хитрый лайфхак от родителя
Новые режимы и событие: тактический шутер *Калибр* получил обновление
Готовящийся к выходу Snapdragon X Plus может оказаться быстрее Apple M3
В Line War добавят однопользовательский и кооперативный режимы
В League of Legends рассказали, как будут выглядеть сезонные обновления
В Stellar Blade нашли расистское оскорбление - его сразу убрали
Китайский 8-ядерный процессор Zhaoxin KX-7000 по производительности догнал Intel Skylake
Состоялся выход приключенческой VR-головоломки Doctor Who: The Edge of Time для PS VR2
Denuvo не помогла: Tales of Kenzera ZAU оказалась в день релиза на торрент-трекерах благодаря эмулятору Ryujinx
У физической версии Stellar Blade будет реверсивная обложка
Шестилетний Galaxy Note 9 теперь может использовать функции Galaxy AI
«Это охота на ведьм»: Пригожин взорвался из-за обвинений в адрес Валерии
*Кин-дза-дза* оставила свой след в Мире Кораблей
Разработчики Albion Online объявили об успешном запуске нового сервера *Европа*
Как создать PWA из любого сайта на компьютерах Apple с macOS Sonoma
Дизайнер мультиплеера StarCraft 2 работает над новой игрой, которая сменит парадигму RTS
Разработчики Path of Exile рассказали о создании сюжета для лиги *Некрополь*
«Видит Бог, я не хотела»: молодая жена Петросяна раскрыла свой диагноз
Assassin*s Creed Mirage - полноценная игра, но у Ubisoft есть другие идеи для Басима
В раннем доступе вышел Rotwood - экшен-рогалик от авторов Don*t Starve
В Индии киберспортсмены получили государственные премии наравне с обычными спортсменами за участие в Азиатских Играх
Ролевая игра Sand Land получила релизный трейлер и неплохие оценки от прессы
Варнава рассказала, зачем купила квартиру в Грузии — рядом живет Еприкян
Для EVE Online анонсировано крупное обновление под названием *Equinox*
5 очень важных характеристик камеры смартфона, на которые редко обращают внимание
Патч первого дня добавляет в Stellar Blade Новую игру+
Flaming Fowl Studios уволила большинство сотрудников и заморозила разработку только что анонсированной игры
Авторы сурвайвала на дирижабле Forever Skies получили инвестиции от KRAFTON
Manor Lords: Ситибилдер с подвохом
Apple и Epic Games снова встретятся в суде
Orcs Must Die! 3 станет новой игрой в бесплатной раздаче Epic Games Store 2 мая
Латентная диффузия в действии: знакомьтесь с обновлённой нейросетью YandexART 1.3
Продажи Frostpunk превысили пять миллионов копий
*Крайне отполированная игра*: Digital Foundry провели технических анализ Stellar Blade
Муж девальвировался, а она и не заметила: о беде Пугачевой заговорили в открытую
В World of Warcraft появится отдельный режим для арахнофобов
Названа дата альфа-теста Marvel Rivals
Вышло новое обновление для Windows 11 - теперь пользователям показывают рекламу в меню *Пуск*
Скоро в ЗАГС? Басков приоткрыл завесу тайны личной жизни

ePN © 2023 Все права защищены.