AKIBA.swift × エウレカ コードレイアウト勉強会に参加しました。
Auto Layout 以外の選択肢(仮)
Pairsのグローバル版での事例。レイアウト以外のロジックはなかなか高速化できない。
- AutoLayoutは制約の数が増えると遅くなっていく
=> UIスレッドがブロックされる時間が長くなる - AutoLayoutがボトルネックのケース
=> 画面遷移の時など
Yoga: C++で3000行。Yoga by ReactNativeの方がAuto Layoutより速い可能性がある
コードレイアウトを綺麗に書く(仮)
Pairs JP版の事例。Interface Builderを使っていない、Auto Layoutは使う
Storyboard/xibのreviewつらい。Reveal: ランタイムViewデバッグツールで可視化できる。
レイアウトを、もっと Swifty に(総集編)
NotAutoLayoutを使うとレイアウトをSwiftyにかける。 同人誌も書いた。 ¥1000
:thinking_face: with IB
フォントをコードで管理している。差分がわかりづらかったのでコメントで画面をAscii Artで書いてしまっている。
カジュアルにはじめるVFL
VFLはVisual Format Languageの略でマイナーだがApple公式のレイアウト言語。 NorthLayoutはVFLの薄いラッパーでVFLはSafe Areaに対応していないので拡張した
AKIBA枠
アイドルマスター Side Mをベースに開発手法を学ぶ話だった。
LT
所感
レイアウトライブラリー自作した発表者が多数いた。ただ、ReactNative等の採用が増えてきていることもかんがみると、Swift onlyでAndroidでは使えないレイアウト言語を個人的にはあまり使いたくない。iOSとAndroidが違うのは重々承知ですが。
コードレビュー用にレイアウトの絵面をコメントにAscii Artで書いてしまうのはいい考えだと思った。WebだとAscii ArtからCSSを生成するライブラリがあった気がする。iOSで動的な部分が多いとHTMLのようにはいかないんだろうか...