MY.UAСтатьи
Что такое SwiftUI и зачем он нужен
Что такое SwiftUI и зачем он нужен

Что такое SwiftUI и зачем он нужен

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

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

Небольшое число фрагментов этого будущего проходят обкатку в macOS Catalina и в последних версиях всех операционных систем Apple.

И эти фрагменты впечатляют, похожи на магию, вызывают восхищение и немного глючат.

Эта статья об одном из этих фрагментов.

Для понимающих, но если вы хотите разобраться, тоже почитайте.

Что такое SwiftUI.

Слухам о том что Apple вот-вот, чуть ли не на днях, выпустит совершенно сказочный 16,5-дюймовый Mac.

Book Pro “без рамок вокруг экрана”, с какой-то особенной клавиатурой, не подверженной “эффекту бабочки”, скоро исполнится год.

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

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

Существует ли это Mac.

Book Pro вообще? Я думаю нет.

А вот о том, что в Apple работают над новой “начинкой” операционных систем компании, и кое-что из этих разработок уже доступно сторонним разработчикам в Xcode 11, и в этих кусочках будущего Apple впервые в своей истории использует старый добрый Swift иначе чем прежде – никто как-будто не слышал.

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

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

Нельзя сказать что про SwiftUI никто ничего не пишет.

Им восторгаются.

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

Его равняют с грязью (перечисляя функции которые есть в XAML, Flutter и в других аналогах, но нет в “новорожденном”).

Его называют заменой App.

Kit (в macOS) и UIKit (в iOS и iOS-подобных системах), но это неправда.

SwiftUI это отдельный фреймворк и составная часть Xcode 11, он берет на себя часть функций App.

Kit и UIKit, при этом используя функции App.

Kit и UIKit для, например, отображения интерфейсов и для их взаимодействия с пользователем.

По словам одного из инженеров группы SwiftUI, это временно: в будущем на месте App.

Kit или UIKit будет что-то другое.

А вот жизненный путь Interface Builder (IB) приближается к концу – SwiftUI делает то же что и IB, только интереснее и эффективнее.

В 1986 году доктор компьютерных наук Жан-Мари Юллó написал программу Interface.

Builder (на LISP) для компании Exper.

А LISP это, если вы не в курсе, “декларативный вариант Фортрана”.

Однажды, в 1987 или в 1988 году, Жана-Мари привезли в офис NeXT и познакомили с Джобсом.

В 1988 году в NeXTSTEP 0.8, в состав которой входил IB написанный на Objective-C.

IB использовался при написании первого в мире браузера World.

Web, и много чего еще – очень заслуженный старичок.

Последнее его обновление случилось 8 лет назад, в 2011 году.

На WWDC 2011 года много чего обещали в него добавить, то что показали в кулуарах смотрелось менее фантастично чем Canvas в SwiftUI, но для того времени это было бы здорово – увы.

Эти функции так и не пришли в IB, и уже не прийдут.

IB и до 2011 обновляли нечасто, а с 2008 года число пользователей Xcode стремительно росло, и почти 90% новых пользователей писали программы для i.

Phone OS (как тогда называлась iOS), а из них IB в своей работе использовал каждый третий.

Так сложилось.

Писать для i.

Phone OS начали задолго (за полгода) до первой бета-версии i.

Phone SDK, и в программах от Apple следов IB (файлов с расширением Xib) не было.

Стив обещал что в SDK обязательно будет IB, но заставить этот инструмент работать с мобильной ОС оказалось труднее, чем перенести его из LISP в Objective-C.

В первых бетах SDK его не было.

Вплоть до i.

Phone SDK 2.0 он отчаянно глючил, а именно тогда люди осваивались с новой для них системой, набирались опыта и обретали привычки.

IB для i.

Phone глючил еще очень долго, чуть ли не до 2011 года.

В macOS некоторые тоже пишут интерфейсы в коде, вручную – я знаю только одного такого чудака.

Там IB тоже не без глюков, но их немного.

Использование Interface Builder в Xcode.

В результате, пользовательские интерфейсы программисты iOS и iOS-подобных систем пишут либо с помощью IB, либо в исходном коде.

Как пользователь IB с почти 20-летним стажем, утверждаю: увы, SwiftUI действительно “круче” чем IB.

Это адекватная замена.

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

создать объект соответствующего типа;.

вычислить координаты задающие положение объекта на экране;.

разместить объект на экране;.

задать значение объекта;.

задать атрибуты текста (это несколько строк, как правило – шрифт, стиль, цвет и т.

Это один из самых простых объектов – создание таблицы (списка) вручную может занять не одну сотню нетривиальных строк.

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

При увеличении числа строк в N раз число ошибок увеличивается в N в квадрате раз.

В этой шутке есть доля шутки.

Кстати, если вы не знаете что такое императивное программирование, вы только что увидели его “в лицо”.

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

Результат магический – с нетерпением жду когда все это будет воплощено в окончательном варианте (через год или два).

Поделиться
Поделиться сюжетом
Источник материала
Победительница "Холостяка-13" Инна Белень сделала сразу две пластические операции
Gloss
2025-06-13T15:39:49Z
Виталий Козловский выплатил долг Кондратюку и громко вернулся на сцену
Gloss
2025-05-12T16:52:12Z
Надувная Ким Кардашьян появилась в центре Нью-Йорка на Таймс-сквер
Gloss
2025-03-05T16:12:56Z
Россияне украли песню Златы Огневич и используют ее на пропагандистских мероприятиях
Gloss
2025-02-27T15:25:00Z
Потап дал 3-часовое интервью Дудю: репер утверждает, что помог Украине на 100 миллионов гривен
Gloss
2025-02-10T15:03:53Z
20-летняя модель завоевала титул «Мисс Украина 2024»: она представит страну на конкурсе «Мисс Мира»
Gloss
2024-12-06T16:30:50Z
В сети рассекретили имя мужчины, который должен был стать героем шоу «Холостяк-13» вместо Терена
Gloss
2024-11-29T17:16:39Z
Украинский Щедрик стал частью новогодней рекламы Chanel
Gloss
2024-11-22T16:13:24Z
Украинка стала режиссером нового клипа Леди Гаги
Gloss
2024-10-30T15:28:08Z
Украинские архитекторы предложили превратить подземные переходы и остановки в укрытия
Gloss
2026-02-23T17:00:51Z
В Париже картину синего цвета продали за 18,4 миллионов евро
Gloss
2025-10-27T15:39:33Z
Самые смешные фото животных в этом году: объявлены финалисты Comedy Wildlife Photography Awards 2025
Gloss
2025-10-27T15:06:35Z
Бренд SKIMS Ким Кардашьян выпустили нижнее белье с имитацией волос разных оттенков
Gloss
2025-10-15T10:30:37Z
Adidas представил коллекцию брендовой одежды для домашних животных
Gloss
2025-10-13T14:39:37Z
Названы лучшие астрономические фото 2025 года по версии Королевской обсерватории Гринвича
Gloss
2025-07-16T12:28:30Z
Ким Кардашьян и ее 69-летняя мама снялись в рекламе купальников SKIMS x Roberto Cavalli
Gloss
2025-06-30T14:45:43Z
МастерШеф 15 сезон. Выпуск 8 от 19.04.2025
InfoHome
2025-04-27T07:06:58Z
МастерШеф 15 сезон. Выпуск 7 от 12.04.2025
InfoHome
2025-04-21T08:30:48Z
Второй украинский трейлер военного триллера «Давление» с Бренданом Фрейзером Эндрю Скоттом
KinoFilms
2026-04-28T16:12:16Z
HBO показал первый тизер сериала о Гарри Поттере: реакция пользователей сети
Gloss
2026-03-27T17:54:28Z
Второй украинский трейлер фэнтези «Тайные миры магического дерева»
KinoFilms
2026-03-16T15:00:21Z
Трейлер документального фильма «Братская четверка»
KinoFilms
2026-02-25T11:06:13Z
Украинский трейлер мультфильма «История игрушек 5»
KinoFilms
2026-02-24T20:54:13Z
Украинский трейлер фильма «Отец мать сестра брат»
KinoFilms
2026-01-29T08:48:13Z
Украинский трейлер нового фильма Паоло Соррентино – «Благодать»
KinoFilms
2026-01-08T23:09:11Z
Украинский трейлер сай-фай триллера «Снова, и снова»
KinoFilms
2026-01-08T22:39:11Z
Украинский трейлер драмы «Серфинг на память»
KinoFilms
2026-01-08T21:12:12Z
Сумской феномен. Как крафтовые сыроварни растут рядом с Lactalis
Лига
2026-04-17T02:30:14Z
В Египте открыли самый крупный археологический музей мира, который строился 20 лет
Gloss
2025-11-04T15:00:35Z
Польский альпинист совершил первый в мире лыжный спуск с Эвереста без кислорода
Gloss
2025-11-03T16:36:33Z
Празднование на природе: идеи для любого времени года
Gloss
2025-05-13T06:40:26Z
Вкусная и дешевая намазка к бутербродам на пасху. Не успевала подавать на стол
InfoHome
2025-04-09T16:54:38Z
5 альтернативных видов спорта
Men's Life
2025-03-31T07:33:45Z
16 удивительных мест, которые стоит увидеть своими глазами
Men's Life
2025-02-04T10:24:53Z
Гольф на снегу
Men's Life
2024-12-30T20:57:37Z
Стала известна судьба собаки, которую заметили на вершине 140-метровой пирамиды Египта
Gloss
2024-10-24T17:16:12Z
В Украину вернулась зима: в одной из областей выпал снег посреди апреля
Gloss
2026-04-21T15:17:53Z
Анатомия мышц рук
Men's Life
2026-04-20T13:33:27Z
Красный князь Украины. Отрывок из книги Тимоти Снайдера о Василии Вышиваном
Лига
2026-04-11T07:00:19Z
Бизнес-неделя: задержка международной помощи, польский банк в Украине и новые цены на топливо
Лига
2026-04-11T04:03:19Z
On the power of art: how the Art Without Borders initiative contributed to changes at the National Academy of Arts of Ukraine
Ukraine Art News
2026-04-10T09:45:19Z
Как убрать кухню так, чтобы дольше сохранялась чистота
Cineast
2026-04-07T12:57:39Z
Behind the camera: the art of capturing wedding frames with Santos Photo & Film
Elle
2026-04-03T10:06:17Z
Ученые выяснили, как можно выбрать пол ребенка, и какие факторы на это влияют
Men's Life
2026-04-02T15:45:26Z
Шоколад во время диеты помогает худеть
Men's Life
2026-04-02T15:45:26Z
McDonald's запускает новое мировое меню в Украине: бургеры, роллы, напитки и многое другое
Gloss
2026-04-14T14:54:23Z
Лучшие слоты Betsoft: Топовые игры от разработчика
Cineast
2026-04-03T04:03:37Z
A new vision of runway shows at the Palais Garnier
Elle
2026-03-25T16:15:27Z
Ученые загрузили мозг мухи в компьютер: как ведет себя цифровая копия насекомого
Gloss
2026-03-09T16:18:27Z
Billionaires, celebrities, and a grand piano: Omar Harfouch’s Concerto for Peace shakes Mar-a-Lago
Elle
2026-03-04T18:33:23Z
В Китае показали человекоподобного робота Moya: теплая кожа, зрительный контакт и другие функции
Gloss
2026-02-09T17:28:03Z
Правда о коэффициентах в мобильных казино и играх на компьютере
Cineast
2026-02-04T05:30:27Z
Смартфоны POCO: полезные рекомендации по выбору
Gloss
2026-01-28T14:18:39Z
Роутеры TP-Link с функцией Mesh: что это и зачем нужно?
Gloss
2026-01-27T12:09:32Z
С каким продуктами сочетать различные специи и приправы?
Men's Life
2026-01-06T15:51:17Z
Очень вкусный завтрак! Так яйца вы ещё не готовили. Простой и быстрый рецепт на завтрак. Рекомендую!
InfoHome
2025-05-09T13:09:51Z
Не отличить от мясных: Если рыбные котлеты то только так
InfoHome
2025-05-09T13:09:51Z
Мы съели сердечки быстрее, чем шашлык! Вот это да
InfoHome
2025-05-06T10:45:45Z
Самые вкусные сырники из творога без муки, манки, крахмала
InfoHome
2025-05-03T06:57:59Z
Эти фрикадельки тают во рту! Лучший рецепт Фрикаделек с овсяной кашей в мультиварке
InfoHome
2025-05-03T06:55:06Z
Невероятно вкусный ужин для всей семьи. Так готовлю макароны 3 раза в неделю! Очень вкусно и быстро!
InfoHome
2025-05-03T06:55:05Z
Куриные крылышки на сковороде без фритюра за 30 минут
InfoHome
2025-05-02T06:42:59Z
Пирог Яблочный взрыв вкуснее торта, еще один быстрый рецепт вам в копилочку
InfoHome
2025-05-02T06:42:58Z