どこで発表すればいいのかわからない技術LT会 第1回 で発表したスライドです。
結論から申しますと、HTMLとSwiftUIはとてもよく似ています。きちんとHTMLを書けるならば、SwiftUIもすぐに書けることでしょう。
でも、いきなりそんなことを言われてもピンと来ませんよね。試しにシンプルなTODOアプリを作って見比べてみましょう。
ああ……、なんということでしょう。index.html と ContentView.swift は、ほとんど同じではありませんか。
例えばHTMLでいうdiv要素は、SwiftUIでは、内包するビューを水平方向に並べて表示するHStackというビューを使って表現することができます。HStackは display: flex; 付きのdiv要素のようなものです。
さらに、データの一覧は、HTMLではul要素で実装しますが、SwiftUIでは同じようにListビューを使います。
そういうわけでHTMLコーダーはSwiftUIをすぐに理解できます!ぜひやりましょう!
……でも、疑問ですよね。なぜ似ているから簡単にできるなどというのでしょう。それから、なぜこれほどラフなイメージから、HTMLでもSwiftUIでも作ってみることができたのでしょう。
そもそも、なぜコーダーはカンプから実装できるのでしょう。なぜデザイナーは意味不明な案件でデザインできるのでしょう。なぜユーザーは初めて見たアプリケーションを操作できるのでしょう。
それは、ユーザーインターフェイスにも型があるからだと考えられます。UIの型とは、ひとびとがUIを認識する共通の仕方のことです。例えばデザインならば利用のコンテキストや想定するユーザーのコンテキスト、コーディングであれば一覧の表示やスタイルの付与、操作であれば入力や検索など、現代のひとびはUIについて共通した認識の仕方や、感じ取り方を持っています。
上手いコーダーは、デザイナーが提示したカンプを見て、UIの型、すなわち「これはユーザーにとって何として認識されるのか」を考えて実装することができます。
そういうわけで、UIの型を知り、きちんとHTMLを書けるならば、SwiftUIでも問題なくコードを書くことができます。ぜひやりましょう!