Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SwiftUIの紹介/2019-11-06-llt12

 SwiftUIの紹介/2019-11-06-llt12

社内のLTイベント「えるLT Vol.12」で発表した資料です

Satoshi SAKAO

November 06, 2019
Tweet

More Decks by Satoshi SAKAO

Other Decks in Programming

Transcript

  1. 話すひと 2 インフォコム株式会社 品質マネジメント推進室 " ソフトウェアエンジニア JS (ES6) / Node.js

    / GCP / IoT / iOS (Swift) 猫,自作キーボード,シュタゲ Satoshi SAKAO @ottijp
  2. SwiftUIってなんぞ • WWDC2019で発表されたAppleプラットフォーム向けの
 新しいUIフレームワーク • Xcodeの機能の一部 • iOS, iPadOS, macOS,

    watchOS, tvOS • Storyboardやリアクティブフレームワークを置き換える存在 • 宣言的シンタックスとデータ駆動が肝 ☝ 4
  3. データの同期機構 • View間で同一データの参照 • データ駆動のリアクティブなUI定義 • 方法 • @Stateと@Binding •

    Observableプロトコルと@ObservedObject • environmentObject()と@EnvironmentObject • environment()と@Environment 9 View @State var hoge = 42 View @Binding var hoge: Int bind
  4. Single Source of Truth (SSOT) • SwiftUIはSingle Source of Truthを実現する

    • 正となる単一の情報源(ソースコード,データ)を持つ • 重複しない,コピーしない,同期処理が必要ない • SwiftUIにおいては • ソースコードが正(UIデザインツールとソースが一致している) • データが正(リアクティブなView更新) • イベント駆動実装に存在していた複雑性を大きく軽減できる 19
  5. 参考 • Xcode - SwiftUI - Apple Developer
 https://developer.apple.com/jp/xcode/swiftui/ •

    SwiftUI Tutorials — Tutorials | Apple Developer Documentation
 https://developer.apple.com/tutorials/swiftui/tutorials • Data in SwiftUI, Part 1: Data | Sarun
 https://sarunw.com/posts/data-in-swiftui-1/ 20