WWDC 2019で個人的に一番驚いたのがSwiftUIの登場です。これまで噂はあったものの、今年の目玉はUIKit for Macだと思っていたのでびっくりしました。 SwiftUIがiOS開発にどのような影響を与えるのか考えてみました。 SwiftUIの仕組み SwiftUIは宣言型の構文(declarative syntax)で、Swift 5.1のEmbedded DSLsの機能を使って実装されています。具体的にはOpaque Result Type, Implicit ReturnやProperty Delegates, Function Builderといった機能が使われています。 従来のUIKitやAppKitを使ったプログラミングは大きな問題がありました。それはUIの状態(ステート)と、その状態を表す変数を同期するのが難しかった事です。特に別スレッドによる処理(ネットワーク