はじめに
第1章 TabBar Animation & Layout
第2章 API Connection & Layout
第3章 Modify Transition & Layout
あとがき
まずは本書を手に取って頂きまして、本当にありがとうございます。筆者は現在、主にiOSアプリ開発(使用言語はSwift/Objective-C)を行っており、特にその中でもアプリのUI実装に関する部分のことに携わる機会が多くありました。
また業務以外の場所でも、僭越ながら皆様の前で登壇する機会を頂きその中でUI実装に関することをお話したり、TIPSを投稿する等の活動をこれまでも行ってきました。勉強会などでの同業のエンジニアの方々との交流の中で、「Web制作でUI実装に関する紹介書籍があるならば、もしかしたらiOSアプリ開発においてもUI実装に関する書籍の需要はあるのではないか?」と感じることがありました。さらには筆者のキャリアのはじめがデザイナーから始まり、そこからWebエンジニアを経てモバイルアプリエンジニアになった経緯もあったので、今でもUI実装に関する部分に一番関心が高い部分です。
本書は2018年10月8日に開催された技術書典5で頒布致しました、「iOSアプリ開発 UI実装であると嬉しいレシピブック」シリーズの続編にあたるものになります。お陰様で当日は数多くの来場者の方々に書籍を手に取って頂き本当に嬉しく思うと共に、改めて今後とも丁寧かつ有益な情報を提供できるようしていきたいと強く感じた次第でした。
前回の書籍は、基本的なUIKitの特性を利用した表現における工夫や、カスタマイズしにくい部分のポイントにUIライブラリを活用する方法についての解説を中心に行なってきました。シリーズ第2弾としては、さらにGithubで公開されているUI実装時に活用できそうなライブラリーを上手に盛り込んだレイアウト実装のサンプルを紹介していきます。
実際にiOSアプリを開発する際には、githubや情報サイト等で紹介されているUIライブラリーを導入したり、またはライブラリーの内部実装を参考にして機能の一部分を切り出して自前で実装したりライブラリーをForkして利用する場合もあるかと思います。しかしながらライブラリーを知ることはできても、いざ実際に導入してみると、実際のアプリで想定していた実現したい表現との齟齬が生じてしまったり、ライブラリの上手な組み合わせ方を見出すまでに苦労をした経験をしたことがあるかと思います。
本書ではUIライブラリーを導入したサンプル実装の解説を通じて、「このライブラリーを活用することで享受できるメリットはどの部分か?」「類似UIを自前で実装する際に押さえておくべきポイントとなりうるのはどの部分か?」という点についてもご紹介できればと考えております。本書には実際のアプリ開発におけるUI実装への布石になるような実践事例を3点収録しています。これまでに筆者が勉強会での発表してきた内容や、開発サンプルを元に調整を加えたものです。
基本的な理解ができるようになって、これからiOSアプリを本格的に開発していこうと考えている方や、UI実装や表現に関する部分にさらなる磨きをかけていきたい方にとって、本書が少しでもお役に立つことができれば幸いです。そして、筆者自身も現状に甘んじることなく、自分の開発技術や表現の幅を広げる努力を惜しまずに、歩み続けていこうと思う所存です。
本書の内容及び紹介しているサンプルのコードに使用したバージョンにつきましては、下記の通りになります。またXcodeやSwiftのバージョンが上がった際には、Githubリポジトリー等、何かしらの形でお伝えしていく予定です。
掲載しているサンプルに関しては、2019.12.01(Ver1.1改訂時)のものになります。
・macOS Catalina 10.15.1
・Xcode 11.1
・Swift 5.1
・CocoaPods 1.8.4
※ サンプルで利用しているライブラリーの中にはSwift4.2のまま利用しているものがあります。
【必要な前提知識】
・XcodeやSwiftに関する基本的な知識
・AutoLayoutやStoryboard・Xibに関する基本的な知識
・CocoaPodsの導入や活用に関する基本的な知識
・iOSアプリ開発においてサードパーティー製ライブラリーの導入や活用に関する基本的な知識
※ このサンプルの第2章ではnode.jsを利用した仮のAPIサーバーを準備していますが、あくまでツールとしての利用なので前述の前提知識としては特になくても大丈夫かと思います。(実際に手元でサンプルを実行する場合にはnode.jsのインストールが必要になるのでその点はご注意下さい)
本書に記載された内容は、情報の提供のみを目的としています。したがって、本書を用いた開発、製作、運用は、必ずご自身の責任と判断によって行ってください。これらの情報による開発、製作、運用の結果について、著者はいかなる責任も負いません。
本書に記載されている会社名、製品名などは、一般に各社の登録商標または商標、商品名です。会社名、製品名については、本文中では©、®、™マークなどは表示していません。
本書籍は、技術系同人誌即売会「技術書典」および「技術書同人誌博覧会」で頒布されたものを底本としています。
書籍で紹介しているサンプルのリポジトリーは下記になります。
・GitHub: https://github.com/fumiyasac/2nd_ios_ui_recipe_showcase
・写真素材: Pixabay様・写真AC様
本書で掲載している内容につきましては、誤りがないように細心の注意を払っておりますが、もし訂正等がございましたら下記のメールアドレスや、Githubのissue、Twitter等を通してでも構いませんので、ご一報頂けますと幸いです。
・Mail: just1factory@gmail.com
サンプル実装の難易度: ★★★★★★★☆☆☆
・サンプルプロジェクト名: TypicalAnimationContents
サンプル実装の難易度: ★★★★★★★★☆☆
・サンプルプロジェクト名: MediaStyleAnimationContents
サンプル実装の難易度: ★★★★★★★★★☆
・サンプルプロジェクト名: PurchasePresentContents