これからiOSやる奴はここ読んどけ

#これからiOSアプリ開発をやりたい！という人へ
自分が実際にiOSアプリ開発をやって、便利だったと思う情報を残しておきます。
これからアプリ開発やりたいという人の参考になれば。


##iOSアプリ開発の第一歩
まずは間違いなくMacを買うこと。
Macを書いましょう。Windowsじゃ開発できません。
MacじゃないとiOSアプリの開発はできないので、
これがないとお話になりません。。。


##インストールしておくもの
基本的にXcodeさえインストールしておけばアプリの開発はできます。
`Mac App Store`からダウンロードできます。

実機インストールや`App Store`に公開したい場合は、
`iOS Developer Program`を購入する必要があります。

##まずはこれを読むべき
Appleのドキュメント集（日本語訳Version）
https://developer.apple.com/jp/devcenter/ios/library/japanese.html
日本語タイトルのリンクを開くと日本語PDFを開けます。

初心者向けの内容から各フレームワークにフォーカスしたドキュメントが置いてあります。
iOSのアーキテクチャについて触れているドキュメントも多いので、これを読んでおけば無敵です。

###まず読むべきモノ
意味がわからなくてもさらっと見ておくと良いと思います。

- iOS ヒューマンインターフェイス ガイドライン（←これ面白い）
- iOS View Controller プログラミングガイド
- iOS Table View プログラミングガイド
- iOS View Controllerカタログ（←これ面白い）

###初心者向け

- 初めての iOS アプリケーション
- 2つ目のiOSアプリケーション:ストーリーボード
- 3つ目のiOSアプリケーション:iCloud


##入門資料

- Mixiの研修資料
https://github.com/mixi-inc/iOSTraining

- ドットインストール
iOSプログラミング入門 (全24回)
http://dotinstall.com/lessons/basic_ios


##よくお世話になったサイト

iPhoneアプリ開発の虎の巻
http://iphone-tora.sakura.ne.jp/

Cocoaの日々
http://cocoadays.blogspot.jp/

強火で進め
http://d.hatena.ne.jp/nakamura001/

Over&Out その後
http://d.hatena.ne.jp/shu223/

iPhone ｜ Developers.IO
http://dev.classmethod.jp/category/iphone/


##便利系ツール

#####AppCode
http://www.jetbrains.com/objc/
jetbrains社が提供しているObjective-C用IDEです。
Storyboardなどを編集する際はXcodeを使わないと編集できませんが、
コードを書くときは圧倒的にこちらのほうが速いです。
補完が優秀であったりリファクタリングが優秀だったりと、
色々機能も豊富なのでストレスも少ないです。
気になる人はぐぐってみてください。
紹介記事も多いようです。

追記：Xcodeとの比較をしている記事があったのでご紹介。
http://developer.smartnews.be/blog/2013/07/16/appcode-increases-objective-c-productivity/

ショートカット集などなど
[AppCodeをInstallして最初にすること＆ショートカット](http://qiita.com/kouchi67/items/defaaba875546210fece)
[AppCodeで知っていると便利なショートカット12選](http://qiita.com/happy_ryo/items/8cf569990eb8f7aa582f)
[AppCodeショートカットメモ（コード補完周り）](http://qiita.com/kouchi67/items/9bff6cd9be2d7070fbdf)

#####Xcodeチートシート
http://www.dotapon.sakura.ne.jp/blog/?p=305
http://devcheatsheet.com/tag/xcode/
効率は正義。
ショートカットを駆使して爆速コーディング！

#####github
https://github.com/
iOSのオープンソースがたくさんあります。
開発者として登録もしておくと良いでしょう。

#####Cocoa Controls
https://www.cocoacontrols.com/
MacやiOSのオープンソース紹介サイト。
スクリーンショット付きで紹介されているので、
目的のモノを探すときに便利です。

#####Cocoapods
http://cocoapods.org/
Objective-Cで書かれたオープンソースのパッケージ管理ソフトです。
基本的にコマンドラインです。
yumとかgemとかに馴染みがある人はとっつきやすいと思います。


----


ひとまず以上です。
個人的にですが、学習する上で大事だと思う事をいくつか紹介。

- ドキュメントを探す／読む
実装したい機能について、Appleからドキュメントが提供されているかどうかくらいは確認しましょう。
あれば読み込みましょう。
下手なブログ読むよりよっぽど確実で詳しいです。

- ショートカットを覚える
効率的に作業するというのは想像以上に大事です。
効率良く開発をすることは、快適でかつストレスが少ないです。
楽しく効率的に開発を続けていくために是非習得しましょう。

頑張って自分のアプリを作れるようになりましょう！


----

#おまけ - 書籍

独断と偏見で良書だと思ってる書籍を紹介。
個人的には初心者向けな書籍とか必要ない気もします。
最近はブログ等も多く、何よりAppleのドキュメントが豊富なので、
基本的にそちらを見て勉強するのが良い気がします。

##[iPhone SDK 3 プログラミング大全 実践プログラミング](http://www.amazon.co.jp/exec/obidos/ASIN/4048679910/22301-22/ref=nosim/)
初めて手にとって読んだ本。
iOSの仕組みについて詳しく解説されていた印象がある。
バージョンは古いけど入門資料としてはまだまだ役立つ書籍かもしれない。

##[iPhoneアプリ開発エキスパートガイド iOS 6対応](http://www.amazon.co.jp/iPhone%E3%82%A2%E3%83%97%E3%83%AA%E9%96%8B%E7%99%BA%E3%82%A8%E3%82%AD%E3%82%B9%E3%83%91%E3%83%BC%E3%83%88%E3%82%AC%E3%82%A4%E3%83%89-iOS-6%E5%AF%BE%E5%BF%9C-%E5%8A%A0%E8%97%A4-%E5%AF%9B%E4%BA%BA/dp/4844333852/ref=pd_sim_b_2)
iOS6から追加された機能を丁寧に紹介している。良書。

##[iOS5プログラミングブック](http://www.amazon.co.jp/iOS5%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%83%96%E3%83%83%E3%82%AF-%E5%8A%A0%E8%97%A4-%E5%AF%9B%E4%BA%BA/dp/4844332228)
iOS5から追加された機能を丁寧に紹介している。良書。

##[iOS4プログラミングブック](http://www.amazon.co.jp/iOS4%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%83%96%E3%83%83%E3%82%AF-%E7%95%91-%E5%9C%AD%E8%BC%94/dp/4844329766/ref=pd_bxgy_b_img_y)
iOS4から（略

##[iOSアプリ開発達人のレシピ100](http://www.amazon.co.jp/iOS%E3%82%A2%E3%83%97%E3%83%AA%E9%96%8B%E7%99%BA%E9%81%94%E4%BA%BA%E3%81%AE%E3%83%AC%E3%82%B7%E3%83%94100%E2%80%95%E9%96%8B%E7%99%BA%E7%8F%BE%E5%A0%B4%E3%81%A7%E5%AE%9F%E8%A8%BC%E3%81%95%E3%82%8C%E3%81%9F%E5%AE%9F%E7%94%A8%E3%82%B3%E3%83%BC%E3%83%89%E9%9B%86-%E5%A0%A4-%E4%BF%AE%E4%B8%80/dp/4798038180/ref=pd_sim_b_1)
ちょっと手の込んだ役に立ちそうな処理がたくさん紹介されててオススメ。
上で紹介した「Over&Out その後」の中の人の書籍。

##[詳解 Objective-C 2.0 第3版](http://www.amazon.co.jp/%E8%A9%B3%E8%A7%A3-Objective-C-2-0-%E7%AC%AC3%E7%89%88-%E8%8D%BB%E5%8E%9F/dp/4797368276/ref=pd_sim_b_44)
Objective-Cについて学びたいならこれ。
ちょっと難しいかも。

##[エキスパートObjective-Cプログラミング -iOS/OS Xのメモリ管理とマルチスレッド](http://www.amazon.co.jp/%E3%82%A8%E3%82%AD%E3%82%B9%E3%83%91%E3%83%BC%E3%83%88Objective-C%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%EF%BC%8DiOS-OS-X%E3%81%AE%E3%83%A1%E3%83%A2%E3%83%AA%E7%AE%A1%E7%90%86%E3%81%A8%E3%83%9E%E3%83%AB%E3%83%81%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89%EF%BC%8D-%E5%9D%82%E6%9C%AC/dp/4844331094/ref=pd_sim_b_12)
Objective-Cでのマルチスレッドやメモリ管理といった少し複雑な処理について詳しく解説。
これが読めたら脱初心者。
一度は読んでおきたい。

##[iOS開発におけるパターンによるオートマティズム](http://www.amazon.co.jp/iOS%E9%96%8B%E7%99%BA%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E3%81%AB%E3%82%88%E3%82%8B%E3%82%AA%E3%83%BC%E3%83%88%E3%83%9E%E3%83%86%E3%82%A3%E3%82%BA%E3%83%A0-%E6%9C%A8%E4%B8%8B-%E8%AA%A0/dp/4861007348/ref=pd_sim_b_3)
RSSリーダーを作成する事を題材にクラス設計などについても紹介されている。
簡単なコードは書けるようになってきたけど、次どうすればいいかわからない・・・
そんな人にオススメ。
自分もこれを読んで勉強しました。

##[iOS Core Frameworks テクニカルガイド](http://www.amazon.co.jp/iOS-Core-Frameworks%E3%83%86%E3%82%AF%E3%83%8B%E3%82%AB%E3%83%AB%E3%82%AC%E3%82%A4%E3%83%89-Shawn-Welch/dp/4844332724)
CoreFrameworkに焦点を当てている。
CoreData、位置情報、グラフィック、音声周りと色々紹介されていてとてもありがたい書籍。
こういった機能に焦点を当てて紹介している書籍は割と少ないので貴重。


----


良書があれば随時追加していく予定。