世界的にモバイルデバイスのOSとしてシェアを二分するiOSとAndroid。
iOSは直観的に使えるデザインで、サクサク動くOSとして人気で、今では多くのアプリケーションが存在します。いま私たちがAppleのデバイスを様々な用途で活用できるのは、開発者たちの日々の努力があるからです。
今回は、そんなiOSアプリケーション開発者Jordan Morganさんが語る裏話を紹介したいと思います。
Core Dataを活用しない場合もある
ご存知の方も多いかもしれませんが、Core DataはAppleによるデータ管理のための開発フレームワークです。特に複雑で大量なデータを扱うようなケースには、このCore Dataは開発者たちの教科書的な立ち位置にあり、アプリケーションにこれを実装することが進められています。
しかし、多くのアプリケーション開発にたずさわったある開発者によれば必ずしもそうでないということがわかります。
実際、Jordanさんが手掛けたアプリケーションはCore Dataをあまり必要としなかったとのことで、代わりにNSUserDefaultsがその役割を果たしたそう。一方で、フェッチは主にNSPredicate呼び出しによって実行されました。
このようにCore Data一辺倒ではなく、同じような問題に対していくつかのソリューションが存在することがわかります。
UICollectionViewLayoutのカスタマイズ
あなたはUICollectionViewLayoutをご存知でしょうか?
このレイアウトクラスは単純に要素を中心に寄せるデザインを構成するときに活用します。たとえば、Flowレイアウトは均等にセルをライン上に可能なだけ配置するのに便利。さらに簡単な設定でスペース、方向、コンテンツサイズを変更できますし、グリッドを作成するのにも非常に便利で適しています。
実は多くの開発者はほとんどのアプリケーションデザインをこの機能を利用して開発しており、Jordanさん自身も今後もUICollectionViewLayoutによる開発を継続していきたいと述べています。
この背景には、Pinterestが火付け役となったグリッドスタイルレイアウトの流行があります。
ASDKと呼ばれる非常に複雑なiOSアプリケーション開発のフレームワークを使っているにも関わらず、Pinterestのようなギミックを持ったアプリケーションが数多くリリースされています。
最後に
今回、iOSアプリケーションの経験から2点あげたように、プログラミングには制限はありません。実現したいことに対して、いくつかのソリューションがあり、技術の進歩により最適な方法は日々変わっていきます。
一人前のプログラマーとそうでないプログラマーを隔てるのは“継続して学ぶ”姿勢が出来ているかどうかです。もしあなたが、本当にプログラマーという職業を愛しているなら、なにより楽しんで仕事に取り組むことが成功につながるでしょう。
この記事は「iOS True Confessions」を翻訳・参考にしています。