HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <p>Теги: разработка на ios, swiftui, skill-cет, tool-сет, интерфейс приложения</p>
1 <p>Теги: разработка на ios, swiftui, skill-cет, tool-сет, интерфейс приложения</p>
2 <p>В этой статье мы расскажем о том, как быстро и качественно сделать интерфейс приложения с помощью SwiftUI. А также зачем компании Apple новый UI-фреймворк.</p>
2 <p>В этой статье мы расскажем о том, как быстро и качественно сделать интерфейс приложения с помощью SwiftUI. А также зачем компании Apple новый UI-фреймворк.</p>
3 <p>UIKit очевидно устарел, уже несколько лет корпорацию тыкают носом, что смотрите, на Android есть более удобные компоненты. И Apple сделал SwiftUI обёртку над UIKit, чтобы можно было изменить или заменить UIKit/AppKit/TVUIKit компонентами, написанными на Swift, не задев этим большинство разработчиков.</p>
3 <p>UIKit очевидно устарел, уже несколько лет корпорацию тыкают носом, что смотрите, на Android есть более удобные компоненты. И Apple сделал SwiftUI обёртку над UIKit, чтобы можно было изменить или заменить UIKit/AppKit/TVUIKit компонентами, написанными на Swift, не задев этим большинство разработчиков.</p>
4 <h2>Learn once, apply anywhere</h2>
4 <h2>Learn once, apply anywhere</h2>
5 <p>Apple преподносит нам SwiftUI как единый skill-cет и tool-сет, которым можно практически копипастой декларативного кода создавать интерфейсы на все операционные системы Apple:</p>
5 <p>Apple преподносит нам SwiftUI как единый skill-cет и tool-сет, которым можно практически копипастой декларативного кода создавать интерфейсы на все операционные системы Apple:</p>
6 <h2>Interface Builder больше не нужен?</h2>
6 <h2>Interface Builder больше не нужен?</h2>
7 <p>В Xcode теперь есть тесно связанный с кодом SwiftUI Canvas, похожий на Life View в Playground. Тем не менее у вас есть ещё возможность через<strong>File &gt; New</strong>создать Storyboard или xib.</p>
7 <p>В Xcode теперь есть тесно связанный с кодом SwiftUI Canvas, похожий на Life View в Playground. Тем не менее у вас есть ещё возможность через<strong>File &gt; New</strong>создать Storyboard или xib.</p>
8 <p>Вероятно и в Xcode 12 у вас останется эта возможность, т. к. SwiftUI - это всего лишь библиотека, и вы можете писать смешанный код, где будут и storyboards, и SwiftUI Views. Как SwiftUI встроен в lifecycle приложения, мы разберём ниже.</p>
8 <p>Вероятно и в Xcode 12 у вас останется эта возможность, т. к. SwiftUI - это всего лишь библиотека, и вы можете писать смешанный код, где будут и storyboards, и SwiftUI Views. Как SwiftUI встроен в lifecycle приложения, мы разберём ниже.</p>
9 <h2>Чтобы начать, достаточно создать новый Single App</h2>
9 <h2>Чтобы начать, достаточно создать новый Single App</h2>
10 <p>И поставить галочку "использовать SwiftUI". У вас сразу сгенерится проект с файлом ContentView.swift:</p>
10 <p>И поставить галочку "использовать SwiftUI". У вас сразу сгенерится проект с файлом ContentView.swift:</p>
11 <p><strong>SceneDelegate</strong>теперь является основным делегатом, который инициализирует ContentView как root view:</p>
11 <p><strong>SceneDelegate</strong>теперь является основным делегатом, который инициализирует ContentView как root view:</p>
12 <p>А в<strong>AppDelegate</strong>теперь инициализируется UISceneSession Lifecycle:</p>
12 <p>А в<strong>AppDelegate</strong>теперь инициализируется UISceneSession Lifecycle:</p>
13 <p>Как меняется LifeCycle при переходе с UIApplication на UIScene представлено ниже:</p>
13 <p>Как меняется LifeCycle при переходе с UIApplication на UIScene представлено ниже:</p>
14  
14