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


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

Dragon*s Dogma 2 - самый крупный британский релиз 2024 года
Уделала Бузову по всем фронтам: Погребняк огорошила подругу известием о свадьбе
Появились первые отзывы о *Мегалополисе* Копполы

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

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


Малоизвестный китайский бренд уделал Xiaomi и Samsung: самые крутые технологии в смартфонах InfinixМалоизвестный китайский бренд уделал Xiaomi и Samsung: самые крутые технологии в смартфонах Infinix
🕑 26.03.2024 Android Это Интересно Мобильные Технологии Новичкам Смартфоны Infinix 👀 78 просмотров

Стала совсем неузнаваемой: Брежнева перестала скрывать дефект на лицеСтала совсем неузнаваемой: Брежнева перестала скрывать дефект на лице
🕑 25.03.2024 Развлечения Звезды Новости 👀 82 просмотров

Сливочный гратен из цветной капусты и лука: рецепт классическийСливочный гратен из цветной капусты и лука: рецепт классический
🕑 23.03.2024 Развлечения Мой Дом Готовим Вместе 👀 80 просмотров

В обновление 1.50 для Euro Truck Simulator 2 получит обновление Wielton Trailer PackВ обновление 1.50 для Euro Truck Simulator 2 получит обновление Wielton Trailer Pack
🕑 22.03.2024 Игры 👀 87 просмотров

Состоялся релиз фильма *Дом у дороги* с Джейком Джилленхолом и Конором Макгрегором - фильм уже доступен в сетиСостоялся релиз фильма *Дом у дороги* с Джейком Джилленхолом и Конором Макгрегором - фильм уже доступен в сети
🕑 22.03.2024 Игры 👀 112 просмотров

Четвёртый закулисный ролик Rise of the Ronin расскажет о создании игрыЧетвёртый закулисный ролик Rise of the Ronin расскажет о создании игры
🕑 19.03.2024 Игры 👀 340 просмотров

Обзор очень тихой беспроводной клавиатуры Ugreen. Подключил ее ко всем гаджетам в доме и не жалеюОбзор очень тихой беспроводной клавиатуры Ugreen. Подключил ее ко всем гаджетам в доме и не жалею
🕑 17.03.2024 Apple Обзоры Гаджетов Лучшее АлиЭкспресс Техники Скидки 👀 83 просмотров

Как искать промокоды на скидку и сканировать чеки в Едадил, чтобы получать кэшбэк за покупкиКак искать промокоды на скидку и сканировать чеки в Едадил, чтобы получать кэшбэк за покупки
🕑 16.03.2024 Apple Советы Трюки Скидки АлиЭкспресс Работе Цены 👀 63 просмотров

Игра «Найди и посчитай фигуры»Игра «Найди и посчитай фигуры»
🕑 16.03.2024 Развлечения Яркое Детство Игры Творчество 👀 175 просмотров

Рецепт шоколадных блинчиков Рецепт шоколадных блинчиков
🕑 16.03.2024 Развлечения Яркое Детство Рецепты 👀 157 просмотров

В *Битлджус 2* раскроют прошлое героя; Майкл Китон увидел часть отснятого материала и остался в полном восторгеВ *Битлджус 2* раскроют прошлое героя; Майкл Китон увидел часть отснятого материала и остался в полном восторге
🕑 16.03.2024 Игры 👀 108 просмотров

Рыбы по гороскопу: сильные и слабые стороны, характеристика и главное качество знака зодиакаРыбы по гороскопу: сильные и слабые стороны, характеристика и главное качество знака зодиака
🕑 16.03.2024 Развлечения Гороскопы Гороскоп 👀 93 просмотров

Названа причина смерти Ширвиндта — близкие не хотят верить новостямНазвана причина смерти Ширвиндта — близкие не хотят верить новостям
🕑 15.03.2024 Развлечения Звезды Новости 👀 73 просмотров

Вот так брутал! Расторгуев удивил своим видом после слухов о пластикеВот так брутал! Расторгуев удивил своим видом после слухов о пластике
🕑 15.03.2024 Развлечения Звезды Новости 👀 132 просмотров

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

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


Dragon*s Dogma 2 - самый крупный британский релиз 2024 года
Уделала Бузову по всем фронтам: Погребняк огорошила подругу известием о свадьбе
Появились первые отзывы о *Мегалополисе* Копполы
Журналист Джейсон Шрайера призвал не верить в слухи о переносе сроков релиза Grand Theft Auto 6
Сын Дубцовой с избранницей не скрывают чувств в Дубае — ей 17 лет
Полное прохождение демоверсии экшена Stellar Blade
Объявлен актёрский состав *Пункта назначения: Кровные узы*
Electronic Arts анонсировала обновление 7.0.1 для Battlefield 2042
Мотра возрождается в китайском трейлере *Годзиллы и Конга*
В Москве состоится театральная премьера со звездным актерским составом
Рецепт шоколадного мусса
Анимационная компания «ЯРКО» проводит кастинг в клип мультсериала «Живой гараж»
Слух: Returnal и Assassin Creed: Valhalla станут главными играми апрельского набора Humble Choice
«Посмотрите на мои ноги»: располневшая Боня показала целлюлит и дряблую кожу
Полина Гагарина без макияжа в тизере спин-оффа сериала «Бывшие»
Как бесплатно рисовать по словам с помощью нейросети DALL-E 3 на iPhone
Лучшие сервисы для бесконтактной оплаты вместо Мир Пэй, которые доступны в России в 2024 году
CDPR изучает вопрос о выдаче лицензий на The Witcher и Cyberpunk сторонним разработчикам мобильных игр
Forza Horizon 5 привлекает в 30 раз больше игроков, чем новая Forza Motorsport
Игра «Соедини по точкам»
Barotrauma. Финальный финал!
«Пинок под зад»: Светлаков был унижен перед уходом из «Уральских пельменей»
Гранд-финал Московской студенческой киберспортивной лиги перенесен на 31 марта
Космо-забег корги, морские обитатели, музыка при свечах и под звездным небом - куда пойти в Москве
JRPG Reynatis, от сценариста Final Fantasy 7 Rebirth, получила 45 минут геймплея
«Пусть поскорее родится доченька»: Диброва с мужем принимают поздравления
Новый геймплейный трейлер Tekken 8 раскрывает дату появления Эдди Горду в файтинге
Игра для детей «Сложи картинку»
Дальнейшая судьба франшизы Shadows of the Damned зависит от продаж ремастера
Датамайнер ранней сборки The Sims 5 обнаружил полную карту мира
Побег из Саратова, карантин в Новосибирске и свадьба в Осетии: новые трейлеры недели
СМИ сообщили, какой «подарок» власти готовят Пугачевой на юбилей
Бывший боксер начинает новую жизнь и тренирует мальчишек в спортивной драме «Панчер»
Для хоррора Alone in the Dark вышел патч с многочисленными улучшениями и исправлениями
Кристен Стюарт заявила, что участие в MCU *звучит как гребаный кошмар*
Истории о любви, лёгкость ритма регтайма и сила чувств и эмоций по-русски
Embracer завершила процесс реструктуризации и пока не готова к новым слияниям и поглощениям
Теплые весенние концерты в Киноконцертном зале «Эльдар»
Для атмосферного платформера Rain World анонсировано дополнение The Watcher
Стало известно, кто из детей Брэда Питта встал на его сторону в бракоразводном конфликте с Джоли
На Microsoft, Rockstar и другие игровые компании подали в суд за создание *слишком увлекательных* игр
Степаненко получила чужое наследство — вошла во вкус и не может остановиться
Состоялся анонс карточного рогалика As We Descend
Студия поддержки Certain Affinity сообщила о сокращении рабочих мест
В Gearbox прошли сокращения после анонса сделки с Take-Two
«Мне сейчас нужно время»: Дубцова ответила на слухи об уходе со сцены
Для Dragon*s Dogma 2 вышло первое крупное обновление
Инди-создатели соберутся вместе для участия в игровой презентации Triple I Initiative в апреле этого года
Стали известны дата выхода и платформы хоррора Corpse Party 2: Darkness Distortion
Техническое сравнение графических режимов в демоверсии Stellar Blade
Princess Peach: Showtime! обошла Dragon*s Dogma 2 и Rise of the Ronin и возглавила еженедельные японские чарты
Рядом бойфренд и будущая невестка: Гагарина показала свою новую семью
The Texas Chain Saw Massacre получила бесплатные выходные в Steam и скидки
Прогноз на апрель 2024 года по дате рождения
Перенос Earthblade, новые хозяева Gearbox, опасные снежки в Helldivers 2, Twitch запрещает…
Гороскоп на выходные 30 и 31 марта для всех знаков зодиака
Босс Baldur*s Gate 3 назвал дураками тех, кто увольняет критически важных разработчиков
*Золотая лихорадка закончилась*: инди-разработчики рассказали о снижении эксклюзивных сделок Game Pass и EGS
Предали забвению: Вайкуле получила по заслугам за свои высказывания
29 марта: какой сегодня праздник?

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