ビジネスパーソンの業務効率化を応援するシゴトLOVERS。
今回のテーマは、スマホ利用者の増加によってますます需要が高まるiOSアプリ開発の効率化について。
というのも、シゴトLOVERSを運営するクウハッカーでは現在iOSアプリ開発の真っ最中だが、実はこれまでiOSアプリを作成した経験の無かったクウハッカーの開発者が、ごく短期間でアプリ開発の手法をマスターすることができたのだ。
そこで今回、いったいどのような方法で習得したのかを、以下に共有させて頂くことにした。
iOSアプリ開発の方法を短期間で覚えるコツ
はじめまして、クウハッカーの開発を担当している粟島です。代表の秋貞からはなぜか「粟島先生」と呼ばれています。この際、教授を目指して頑張ります。
さて、今回お伝えするのは、私が実践した
です。
実務で活用できる部分のみにフォーカスして無駄な部分を排除することにより、わずか5日でのキャッチアップを実現しました。特にこんな方にはおすすめです。
- web開発はやったことあるけどObjective-Cはちょっと腰が重い。。
- 本は一通り読んでみたが、自分の作りたいものが作れるようにならなかった。。
参考までに、私自身の開発言語の経験は以下の通りです。
- Java:2年
- JavaScript:2年
- Ruby:8ヶ月
それでは、さっそく始めていきましょう!
【1日目】セットアップ
・XCodeのインストール
XCodeとは、Mac OS X向けの統合開発環境です。iOSのソフトウェア開発を行う際に必要です。
最新版のXCode5をインストールしましょう。
・CocoaPodのインストール
CocoaPodはMac アプリや iOS アプリ開発者向けに作られたライブラリを管理するためのツールで、ターミナルからコマンドを打ってiOSやOS Xのライブラリを導入することができます。
Rubyで言うところのBundlerみたいなもので、バージョン等の面倒な依存関係の管理を行ってくれます。
CocoaPod.org
なお、cocoacontrolというサイトにiOSライブラリが豊富に載っているので、こちらで使いたいライブラリを探して、CocoaPodでインストールするというのがおすすめです。
https://www.cocoacontrols.com/
【2日目】Objective-Cの文法とUIViewControllerについて理解する
インストールが完了したら、iOSアプリ開発言語であるObjective-Cの文法を学んでいきます。
・Objective-Cを学ぶ
mixi社のiOStraining資料が非常に分かりやすいです。
iOSに関する資料が色々と乗っているのですが、最短での習得を目指すためにこちらの資料をを活用しましょう。
・NSString,NSArray,NSDictionaryの型になれる
文字列、配列、ハッシュ等の宣言の仕方が通常の言語とは少し異なるので、始めのうちに慣れておきましょう。
内容はこちらを確認してみてください。
・UIViewControllerのカスタマイズ
UIViewControllerはコンテンツを表示する役割を担っています。
どのようなアプリを作るにしても必要になる重要な部分なのでしっかり仕組みを理解しましょう。
こちらに詳しく記載されているので確認してみてください。
・ModalViewControllerの表示方法と削除方法
ModalViewControllerは一時的にユーザの操作の中に割り込んで表示させるものです。
iOS純正アプリで例を出すと、カレンダーの新規予定作成や、メールの新規メッセージ作成時の画面遷移はModalViewControllerで実装することが出来ます。
内容についてはこちらから確認しましょう。
【3日目】UIView,UITabelViewについて理解する
・UIViewについて理解する
UIViewは独自のコンテンツを描画したり、各Viewを管理するコンテナの役割をします。
htmlで言う所のdivのようなものだと思って問題ないと思います。
内容はこちらで確認しましょう。
・Viewのアニメーションについて理解する
これはJqueryで言う所のanimate関数みたいなもので、こちらを理解すると要素をふわっと表示するとか、動きのある実装が出来るようになります。
(https://github.com/mixi-inc/iOSTraining/wiki/3.3-UIView-Animation)
・tableViewについて理解する
tableViewはiOSアプリの肝なのでしっかり理解しましょう。
twitter,Instagramといったフィードのような構造はtableViewを理解すると作れるようになります。
・参考資料1
・参考資料2
【4日目】アプリのインターフェースの実装
ここまででインターフェースの組み方が分かってくると思うので、実際にアプリを作り始めます。
2日目に勉強したUIViewControllerを使って、画面を作成し、必要なButtonやLabel等を配置していきましょう。
ちなみに、StoryBoardという各画面の設計や関係を管理する仕組みがあるのですが、こちらを使うと、アニメーション関連の細かい調整やこだわりが実現しづらくなります。
StoryBoardを使わずに開発を進める方法はこちらを参考にしてください。
各コンポーネントと画面遷移のアクションを結びつけていきましょう。
【5日目】ネットワーク処理
例えばFaceBookの友達一覧を取得して表示するといった実装をする場合に、APIを叩くためにhttpリクエストを送る必要があります。
AFNetworkingはiOSからの通信処理をラップしてくれているライブラリでJqueryのajax関数のように通信処理を簡単に実装することができます。
https://github.com/AFNetworking/AFNetworking
これでAPIから取得したJSONデータをtableViewに展開するといったことが出来るようになります。
最後に
ここまで習得すればかなり自由にアプリの作成が行えるようになっているかと思います。
みなさんぜひチャレンジしてみてください!
ジェネストリームでは現在クウハッカーのiOSアプリを一緒に作ってくれるエンジニアを募集中です!
興味のある方はこちらから気軽にメッセージしてください。
https://www.facebook.com/awashima81109
(編集・執筆:サムライト)