[更新5]40歳からのiPhoneアプリ開発奮闘記!?

# とにかく、iPhoneアプリを開発したいんじゃー

**一応** [プログラムを書いたりして、稼いでいるけど](http://h7i.jp/)、そろそろ新しいことがしたい! [PHPをガリガリ書くのも飽きた!](http://h7i.jp/f14s/)

## 「そうだ!iOSアプリを作ろう!」

と思って、[でも、某からMac OS X(Yosemite)環境に入って、Xcodeでプログラムを作りたいんだよ!](http://qiita.com/makoto1899/items/02664d7575d4b048123d) とかやって、なんとか某所でアプリ開発が出来ないかと画策。(ここには書けないこと)とかいろいろやっているウチに、本末転倒な話の展開になり...

**判ったよ(T.T)/ 俺が悪かった!**

と。で、自宅で本当に放置されていた[Mac mini 2010](https://support.apple.com/kb/SP585?locale=ja_JP&viewlocale=ja_JP) *ビックリなIntel Core 2 Duo 2.4GHz+8GBメモリ! を某所に持ち込み(おいおい)、Yosemiteをクリーンインストールして、USBキーボード&マウス切替機で、ザザーと環境を作ってみた!

[Mac mini 2010](https://support.apple.com/kb/SP585?locale=ja_JP&viewlocale=ja_JP)が遅くて、どうしようもなかったら、またまた自宅で眠っている[Mac mini 2012](https://support.apple.com/kb/SP659?locale=ja_JP&viewlocale=ja_JP) *4コアi7!16GBメモリ!Fusion Drive 1.5TB!(自作) を持ち込む準備は出来ているよ!大人を本気にさせると、コワイのだー(--;;

## で、何を作るの!?

実は、既に作りたいモノがある!パクリだけど:-P
ただ、そのアプリのレベルは高いので、少し軽いモノから作り出す予定～

## Swift or Objective-C?

[プログラミング超初心者の文系女子大生が1年でiOSアプリ開発を身につけるブログ](http://mayutaro210.hatenablog.com/entry/2015/05/07/192800)からパクってみた(笑)

まゆたろさんのブログでは、

>私の場合は、
>「AppleがObjective-Cを捨てたから、Swiftがおすすめだよ」
>という噂を聞き(捨てた、というのは開発の主流がSwiftってことだと解釈しました)

という事で、**Swift**を学習しているようだ。まあ、過去に3日で挫折したObjective-Cですが...なんでも、[はてなブログアプリもObjective-Cから、Swiftに全面的に書き換えた](https://itunes.apple.com/jp/app/id583299321)とかを読むと、流れ的には、iOS開発は Swift に移行するのかな～とか。

でも、Microsoft が[Visual StudioでObjective-Cがコンパイル可能に。iOSアプリからWindowsアプリへの移植をマイクロソフトがデモ。Build 2015](http://www.publickey1.jp/blog/15/visual_studio_objective-c.html)とか、やっているので、Objective-Cで開発しておくと、(ブレイクするかもしれない....!?) Windows 10上でもアプリが動かせる!!という事が起きるかも。
あと、まだ Swift ONLY では全ての機能実装は難しい!?とか、[CocoaPods](http://www.atmarkit.co.jp/ait/articles/1403/08/news008.html)の様なiOS開発ライブラリがない!とかいろいろある。まあ、Appleもその辺の事は百も承知なので、Xcode上でSwift<->Objective-Cの連携が容易に出来るらしい。

まあ、Objective-Cの挫折経験を考慮し、**Swift**でプログラムを書く事に決めてみた。(あとから、変える可能性もあるよ)

## Let's Xcode + Swift 学習

挫折した経験からいうと、XcodeはかなりインテリジェンスなIDE([統合開発環境](http://www.wikiwand.com/ja/%E7%B5%B1%E5%90%88%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83))である。iOSアプリのカッコいい[GUI](https://www.wikiwand.com/ja/%E3%82%B0%E3%83%A9%E3%83%95%E3%82%A3%E3%82%AB%E3%83%AB%E3%83%A6%E3%83%BC%E3%82%B6%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9)からも判るように、Appleは昔から見た目や操作性を重視している。当然、インターフェイス設計はマウス一つで行える。
ただ... 現役のPHP開発者としては、全てテキストベースである HTML/CSS/JavaScript/PHP という、閲覧->脳内イメージ->プログラム実装 という手順が使えず、「この機能を実現するには、どのアイコンを押すんだよー」とか困ることもしばしば。まあ、プログラム初心者や、デザイン系の方は、イメージしやすいんだと思うけど。むむむ。

**とりあえず、本を買う。それしかない!**

[プログラミング超初心者の文系女子大生が1年でiOSアプリ開発を身につけるブログ](http://mayutaro210.hatenablog.com/entry/2015/05/07/192800) のまゆたろさんのブログでは、<a href="http://www.amazon.co.jp/gp/product/4797381264/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=4797381264&linkCode=as2&tag=makotstoybox-22">絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】</a><img src="http://ir-jp.amazon-adsystem.com/e/ir?t=makotstoybox-22&l=as2&o=9&a=4797381264" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> を勧めている。そのブログのコメント欄では、<a href="http://www.amazon.co.jp/gp/product/4774172952/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=4774172952&linkCode=as2&tag=makotstoybox-22">No.1スクール講師陣による　世界一受けたいiPhoneアプリ開発の授業 ［iOS 8 & Xcode 6 & Swift対応］</a><img src="http://ir-jp.amazon-adsystem.com/e/ir?t=makotstoybox-22&l=as2&o=9&a=4774172952" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> についても書かれている。どちらが良いんだろうか!?

<a href="http://www.amazon.co.jp/gp/product/4797381264/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=4797381264&linkCode=as2&tag=makotstoybox-22">絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】</a><img src="http://ir-jp.amazon-adsystem.com/e/ir?t=makotstoybox-22&l=as2&o=9&a=4797381264" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> に説明に
>Swiftの文法は【iOS8】から【iOS8.1】へアップデートされた際に大きく変更されています。
>これからアプリ開発の勉強を開始される人は、ご利用のXcodeのバージョンが6.1以降(iOS 8.1以降)であることを確認してください。

とあったので、この本をかってみることにした。

**さあ、はじまるよー(2015/04/18)**
## [更新1]紙なのか!?電子データなのか!?
僕の大好きAmazonで、まあ買うわけだが、上記2冊はKindle版がある。当たり前だけど紙版より安い。持ち運びを考えるとKindle版!? まあ、Kindle本体か、PCが必要になるが。
幸い俺は、ドラクエ10を電車内で遊ぶために、フルスペックThinkPad 8(タブレットWin機)もあるし、3K表示可能な[ThinkPad X1 Carbon Japan Limited Edition 2015 Gen 3](http://qiita.com/makoto1899/items/4e166af9baaad7e282cc)も持っている。気合いの入った日は、両方持ち歩いている(--;; 重し。
まあ、某所ではX1Cで。電車内ではThinkPad 8で読む形かな。

それにしても、こんなのパソコンを持っているのに、Macbook ほにゃらら を持っていないのは...何故だろう!?(苦笑)

## [更新2]悩む... (早く開発をはじめろよ! >俺) ##
某所に持ち込んだ[Mac mini 2010](https://support.apple.com/kb/SP585?locale=ja_JP&viewlocale=ja_JP)ですが、試しに作ったアプリのエミュレータ実行が遅くて、[Mac mini 2012](https://support.apple.com/kb/SP659?locale=ja_JP&viewlocale=ja_JP)と交換しました。もうHDDの遅さには戻れないらしい。それにしても、[Mac mini 2012](https://support.apple.com/kb/SP659?locale=ja_JP&viewlocale=ja_JP)ってヤフオクで10万円ぐらいで売れるみたい。最新版が2コアなのが、気に入らない人が多いようだ。
で、とりあえず某所で開発が出来るようになったわけだが、某所無線LANの設定上、ポートが空けられず外部からアクセス出来ない。あまり自宅からアクセスする事は無いと思うが、やっぱりなー。
そこで、[Lenovo ThinkPad X1 Carbon Japan Limited Edition 2015 Gen 3](http://qiita.com/makoto1899/items/4e166af9baaad7e282cc)と、[Mac mini 2012](https://support.apple.com/kb/SP659?locale=ja_JP&viewlocale=ja_JP)を売り払い、Macbook Proか、新しいMacbook が買えないかと妄想しています。

ただ、X1Cで快適にドラクエ10を遊んでいる関係上、新しいMacbookではその実現は難しそう。また、メモリ上限8GBというのも気になる。以前、Macbook Pro 15インチを買って、「デカくて、重くて、無理だー」となった経験から、**Macbook Pro 13 Retinaディスプレイ** がベストバイっぽいな。
X1Cがいくらで売れるか、現在ソフマップで見積中だけど、[Mac mini 2012](https://support.apple.com/kb/SP659?locale=ja_JP&viewlocale=ja_JP)は少なく見積もって8万円で売れたとして、軍資金は20万円ぐらい? Bootcamp でWin8.1(のちにWin10)を入れる事を考えると、ストレージは最低512GBか。13インチ:2.7GHz Retinaディスプレイで、512GBが選べればベストだけどダメなので、13インチ:2.9GHz Retinaディスプレイしかないっぽい。少し予算オーバーだか仕方が無いかな。

よし、ソフマップの見積もり待ちだぜ! って、本当に早く開発をはじめろよ! >俺。でもなー俺って「なんでも形から入るタイプ」なので、何で開発するのか!?も重要なのだー(^^)/

<a href="http://www.amazon.co.jp/gp/product/4797381264/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=4797381264&linkCode=as2&tag=makotstoybox-22">絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】</a><img src="http://ir-jp.amazon-adsystem.com/e/ir?t=makotstoybox-22&l=as2&o=9&a=4797381264" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> を時間を見ては、読んでいるんだけどね:-P

## Macbook Pro 13インチ Retina を買いました! ##
買っちゃった!(^^)/ 

> 13インチMacBook Pro Retinaディスプレイモデル
> システム構成：
> 
> •2.9GHzデュアルコアIntel Core i5（Turbo Boost使用時最大3.3GHz）
> •16GB 1,866MHz LPDDR3 SDRAM
> •512GBフラッシュストレージ（PCIeベース）
> •Intel Iris Graphics 6100
> •感圧タッチトラックパッド
> •アクセサリキット
> •バックライトキーボード (JIS) + 製品マニュアル（日本語）	

しめて、￥251,424(税込み)ですー。Xcodeでプログラムも、Win10でドラクエ10も遊べるスペック!昨日、ビックカメラで実物を見てきたけど、結構軽かったので(X1Cの100gオーバー)

と、言うわけで、ヤフオクに出品したよ。是非是非～
* [★極上★ Mac mini 2012改 i7 4core 16GB FusionDrive(1.5TB)](http://page4.auctions.yahoo.co.jp/jp/auction/d168046827)
* [★オススメ★ Lenovo ThinkPad X1 Carbon Japan Limited Edition](http://page10.auctions.yahoo.co.jp/jp/auction/m138751573)

週末には、Macbook Pro 13インチ Retinaでプログラムできるかな!?

## Macbook Pro 13インチ Retina が届くらしい ##
メモリ16GB増設版だったから、中国で作られて航空便で届くようだ。クロネコさんが不在票メールをしてきたので、夜に受け取ります。Appleの宅配といえば、福通だったけど、クロネコさんにしたのね。

作りたいモノが、二転三転して、ドラクエ10のDB系アプリになりそう。いろいろ調べると、[Realm](http://qiita.com/okitsutakatomo/items/9134c5fa8bd4384a2acf)というDBがよさげ。Swift言語もサポートされているし。とりあえず、Realm のREST機能で、さくらのVPSにあるMySQL+FuelPHP(REST)を叩いて、Syncする機能を作ろう。FuelPHP実装部分と、MySQLにデータ積みだね。

## 続きを書くよ!

[40歳からのiPhoneアプリ開発奮闘記!?実践編](http://qiita.com/makoto1899/items/bb232780ee3dbb62c99a)へ、どうぞ!