2012年10月13日土曜日

PhoneGap, Titanium, iOS(Xcode)で開発、比較してみて

プログラミングをほとんど知らない自分がiphoneアプリを開発してみて、
これからその道で生きていこうと思っている人に読んでほしい。

最初にどのフレームワークで開発しようか考えている人にもぜひ。

まわりに指導者がいるなら別ね。

自分がここ最近辿ってきた軌跡です。

1にも2にもまずはリリースすること。これを念頭に置くこと。
クオリティ云々はこなしていくうちに考えればいいと思うねん。
===軌跡の概略===
1本目phoneGap→Titaniumで開発中断、2本目objective-C
===============


リリース1本目 PhoneGap(製作日数:デザイン含め3週間)
1本目にPhoneGapで作ったのは正解だった。
なにより、javascriptで結構なところまではいけることが判明。
ローカル変数もグローバル関数も、なにこれおいしいの?状態の自分にとっては
すごい勉強になった。
ただ、ライブラリや使えるもの、動きなどに一定の理解が必要だ。
例えば、音楽を入れるときに2重にすると片方がプツンと切れる。
そう、1つの音源しか鳴らせないのだ。
やっぱりネイティブ(objective-C)には勝てないよね感が否めない。



リリース2本目 2週間かけて、Titanium mobileでの作成にかかった。
たしかにPhoneGapに比べて、動きもネイティブに近い。
というかネイティブだ。
javascriptでこれがかけるのは、正直神だと思った。
というか神だ。

さらにキッチンシンクというライブラリが非常に充実していて、
PhoneGapでjavascriptを(ちょっとは)理解した自分にとってとっかかりやすい。
こいつと心中しようかとも思った。

しかし、

モジュール云々でいくらネイティブで使えるものを増強させたところで
やっぱりライブラリが完全じゃない。。

一番の決定打は、Map系を使うときにピンドロップできないという点だった
(今ではできるようになったのかもしれないが、おそらくライブラリがまだまだ少ないだろう)。

それからデバッグ。1回デバッグするのに、ネイティブだと3回はデバッグできるほど時間がかかる。

ていう流れで、2週間で打ち切り。

モジュールの追加方法ではobjective-Cを結局触れるよーってこともあり、
ネイティブに突入することを覚悟した。

ネイティブは「触れるな危険」な気がしたが、完璧に欲求にかられた。
エデンの園のように、りんごを食べてしまったようだ。(エデンの園はあまり知らない)

2週間触れてみてダメだったら、Titaniumに戻る決意で取り組んだ。



3週間で完成させ、近日リリースする。(appleに申請はした)

結局目的な達成されるなら手段はどうでもいい。

そのフレームワークでできることだったらそれですればいい。
ただ結局万能なのはXcodeであり、iOSなのだ。(iphoneアプリの開発に限ればの話ね)

今後iphoneアプリを作りたいと思っているみんなに捧ぐ。

プログラミング触れたことがないなら、最初はPhoneGapでjavascriptを使うことで、
関数やメソッド、変数の使い方を少し覚えなはれ。
どっかのホームページの内容を丸パクリじゃなくて、しっかり関数を理解してね。


その先に、ネイティブ(objective-C)という、若干くせはあるが、
万能な道具を手に入れられるのだから。

どれも言語。表現の仕方は違えど、伝えたいことはみな一緒だ。
C言語もobjective-Cもjavascriptも結局は人が考えだした言語に違いない。

あせりは禁物。

着実に、そしてスピードをあげて進もう。

====javascript参考サイト=====
javascriptに関しては、特に充実している。
まずはドットインストールで基礎を勉強
作りたいもののイメージに沿ったtipsをいくつか勉強しよう。
========================

====objective-C参考サイト===
もとまかさんのこのまとめ記事はどこでも紹介されているが、参考になる
じゃんけんゲームをつくるところとobjective-Cの基礎はここで。

ドットインストールのobjective-Cも。
========================


====追記2012/11/27=====
objective-Cでつくったアプリは、合計で5000回以上遊んでもらえた。
(収入に直すとイマイチだが、小さい子供さんでも使えるように、いかがわしい広告を出ないiAdにしたからそれでいいのだ(決して負け惜しみではないからねっ!))
加えて、Railsに戻ったら、objective-Cを触る前に比べてはるかに理解力があがっていた。
まさに、精神と時の部屋にいたかのように。
まさに、悟飯のまわりをポタラをつけたじいさんが周っていたかのように。
で今度webサービスリリースしました。近日リンク貼りますねw
=================


Qiitaの誰かがいいこと言ってる
http://qiita.com/items/fc362e810ae183743f46
まずは小さいプロジェクトから始めろと。