algonote

There's More Than One Way To Do It

AKIBA.swift × エウレカ コードレイアウト勉強会まとめ&感想 #akibaswift

AKIBA.swift × エウレカ コードレイアウト勉強会に参加しました。

f:id:hiromichinomata:20180409014832p:plain

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

IBとUIの適度な階層化の提案

所感

レイアウトライブラリー自作した発表者が多数いた。ただ、ReactNative等の採用が増えてきていることもかんがみると、Swift onlyでAndroidでは使えないレイアウト言語を個人的にはあまり使いたくない。iOSとAndroidが違うのは重々承知ですが。

コードレビュー用にレイアウトの絵面をコメントにAscii Artで書いてしまうのはいい考えだと思った。WebだとAscii ArtからCSSを生成するライブラリがあった気がする。iOSで動的な部分が多いとHTMLのようにはいかないんだろうか...