-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
質問を受けたが、FAQだと思うし、開発することにした重要なモチベーションの一つでもあるので、ドキュメントにすると良いだろう
メモ
TokamakはSwiftUIをユニバーサルにするというプロジェクトという認識なので、APIや設計の考え方が結構違いますね
TokamakにもHTML Nodeを書く機能はちょっとついてるけど
・SwiftUIはセマンティックなコンポーネントがあって、それがプラットフォームごとに具象化される。ReactはHTMLタグをそのまま抽象化しているので、具象化されるHTMLツリーが透過的。
・SwiftUIは構造によるView Identityでノード同一性を判定して更新をする。Reactは構造はダイナミックで、兄弟間の同一性は key アトリビュートで管理する。
・SwiftUIは modifier によって View を型付きでラップすることで副作用を導入したりする。ReactはHookに寄せている。ただしSwift ReactのHookは Property Wrapper にしている。
・SwiftUIはレイアウトが独自システム。ReactはレイアウトはHTML/CSSの仕組みが自由に使える。
(本家Reactは厳密にはWebと分離されてるけど、ここでは React for Web (DOM) だけ考えている)
・SwiftUIは挙動が暗黙で説明が少ない。Reactはドキュメントでしっかり説明されてる。(ただしSwift Reactが頑張って寄せる必要はある)
SwiftUIが好きでそれでWebを書きたい人はTokamakをそのまま使うのが良いですね。
iOSとmacとLinux(GTK)とWeb(HTML)で動くGUIがワンソースで実装できます。
Swiftを知ってるiOSエンジニアがWebに手を広げる or
TypeScriptに疲れたWebウェブエンジニアがSwiftに手を伸ばす
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels