はじめに
新卒で入社してから1年半、Xamarin.NativeとReact.jsを触っていました。
その後、部署異動をきっかけにiOS/Swiftのエンジニアに転向しました。
今はベテランのiOSエンジニアの方の元でがっつり勉強をしています。
アーキテクチャの設計やプロトコル、デリゲートといったプログラミングの基本的な部分はそこまでつまづかなかったのですが、UIKitの仕様がわかっていないせいでつまずくことが多いと最近気づきました。
そこで、重い腰を上げてUIKitのドキュメントを読むことにしました。
自分と同じ入門者の目線で感想などを載せていくので、今後同じ境遇の方にとって参考になればと思います。
UIKit Framework
まずAppleのドキュメントなんですが、読む気にならないのはなぜなのでしょうか。。
ドキュメントを見てぱっと理解できたことがないということと、あとは玄人しか受け付けなさそうなデザインがそうさせているような気がしますね。。代わってVue.jsなんかは初心者が親近感を持って読みたくなるようなデザインをしているなあと思います。
余談はおいておいて、
Technologiesのページをまず見てみました。UIKitのページのパンくずリストから戻るとこのページに誘導されます。かなり大量にありますね。。。
逆に言えばAppleの経済圏の中で技術的な問題解決をしようと思ったら意外と楽にできるのかもしれないということが見て取れます。
さて、UIKitのページをざっと眺めてみます。
Overviewでさっそくでていますが、Window&Viewアーキテクチャーという概念があるようですね。
抽象度を高くするとWindowとViewだけで構成できるということが言いたいのでしょうか。
下記を提供しているようです。特筆することはなさそうです。
- マルチタッチなどの多様な入力方法
- ユーザーとシステムとアプリ間の相互作用を管理するためのメイン実行ループ
- アニメーション
- ドキュメント
- 描画と表示
- デバイス情報
- テキストの管理と表示
- 検索
- アクセシビリティ
- 拡張
- リソース管理
また、UIKitのクラスはメインスレッドで使うか、メインディスパッチキューで使う必要があります。
これのことですね。たびたび怒られるなあと思ったらドキュメントでは最初に警告してくれていました(笑)
DispatchQueue.main.async {
}
こうしてドキュメントを丁寧に読んでみると、意外と親切かもしれないと気づけました。
Google検索結果で出てくるドキュメントのページよりも、しっかりフレームワークのトップページから追っていくのがAppleのドキュメントの流れなのかもしれないですね。
次回は About App Development with UIKitを読みます。それではお楽しみに。