【ハイブリッドアプリ】Monacaを利用してみてはじめに疑問に思ったこと一覧

Monacaでハイブリッドアプリを作りたいと思って利用してみてやってみたことや不明だったことをメモも兼ねてまとめてみます。
個人的な感想なのであくまで参考程度に。

# どこで勉強したらいい？
* サイト
    * [Monaca入門：Onsen UI＋AngularJSで作るハイブリッドモバイルアプリ](http://www.buildinsider.net/mobile/monaca/)
        * Monacaを最初から使ってみてAngularJSの基本やAPIのコールなどから勉強できる。
    * [超速アプリ開発！ニフティクラウド mobile backend 入門](http://dotinstall.com/lessons/basic_ncmb)
        * ドットインストール：Monacaを利用してPUSH通知まで簡単にできる。サーバ側もmobile backendで簡単に構築できるのでお薦め。
    * [Monacaでチェックインアプリを作成する](http://mb.cloud.nifty.com/doc/current/tutorial/monaca_checkIn.html)
        * ハンズオンの資料。同様にmobile backendを使ってアプリを作れます。
    * [アシアルブログ](http://blog.asial.co.jp/)
        * 本家ブログなので情報が新しい。慣れてきたら見るとよい。
    * [Qiita Monacaタグ](http://qiita.com/tags/monaca/stocks)
        * 初めて作る情報もあり。
            * 自分の記事をステマ[【初めてのハイブリッドアプリ】Monacaを使ってiOS・Andorid両対応の2015CALENDARアプリを作ってみた](http://qiita.com/hironaito/items/1dc7755e8d9336797cca)
    * [OnsenUI情報](http://ja.onsen.io/docs.html)
        * 公式情報で情報満載。日本語なので海外製のものより分かりやすい。
        * UIはほぼこちらを見ることになる。JavaScriptはよく見る
        * Onsen Theme Roller でデザイン変更が簡単にできる
    * AngularJS情報
        * OnsenUIやionicを使っているとAngularJSが出てきますが、はじめてだと少しむずかしい。上記のMonaca学習サイトで何となく分かりますが言葉とかの意味を再度見るようによさそうなのをメモ。
        * [AngularJS入門 – シリーズ –](http://dev.classmethod.jp/series/angularjs%E5%85%A5%E9%96%80/)
        * [すぐできる AngularJS:用語](http://8th713.github.io/LearnAngularJS/#/guide/terminology)
        * [ドットインストール：AngularJS](http://dotinstall.com/lessons/basic_angularjs)
        * [AngularJS本家](https://angularjs.org/)
        * [AngularJS(日本語翻訳版)](http://js.studio-kingdom.com/angularjs)
* 本
    * [クラウドでできるHTML5ハイブリッドアプリ開発](http://www.amazon.co.jp/dp/4798140287)
        * 公式の本なのでとても参考になります。ただ半分以上がOnsenUIの話になるのでOnsenUIに詳しい方は後半を。

# Monacaアカウントの差
* 無料アカウントと有料アカウントの違い
    * 無料のBasicはプロジェクト３つ。有料は１０〜無限。
    * 無料は指定以外のcordova Pluginが利用不可。Gold以上でcordova Plugin利用可。
    * なので実験中は無料ですみますがちゃんとやろうとすると有料版になると思います。
* どのアカウントがよい？
    * 4種類あるが最初に選ぶのは無料のBasicか有料のGoldになると思います。
    * 個人ではじめてみるや勉強中がbasic。業務だとGold。業務で規模が多きくなるとPlatinum。
    * Personalは10プロジェクトのみなので個人でかつ結構ビルドして推奨以外のCordovaとか使わない人向け。
    * なのではじめに有料版にするのならGold。（個人的な感想です）
        * オフィシャルには以下の説明書きが。たしかにそうですね。
            * Personal プラン は、個人でのアプリ開発に最適です。
            * Gold プラン は、商用アプリの開発に最適です。
            * Platinum プラン は、アプリの受託開発 ( OEM ) に最適です。
            * Enterprise プラン は、大規模な開発に最適です。
    * 当たり前ですが一人しかログインできません。

# 開発環境について
* ビルドはどうするの？
    * クラウドで行う。ボタンポチ！簡単。
* Cloud IDEの使い勝手はどう？
    * 想像以上によい。普通に使える。ブラウザでここまでできるのは楽ちん。
* GitやSASSなど使いたいのだけど
    * LocalKit必須。なので有料プランへ。
* Localkitはどう？
    * ブラウザの代わりにLocalKitアプリみたいなのがあってそこからビルドする形。
    * ソースはローカルのをいじれるので問題なし。
    * LocalKitのソースコードはCloudにアップされない。
    * Cloudのソースコードはダウンロードできるが同期はされない。
    * なので基本的には別管理になる。はじめにどちらでやるかを決める。
* 自作cordovaPluginを利用したい
    * 有料アカウントになる必要がある
* DBなどのサーバと連携させたいけど何かある？
    * Monacaが用意しているMBaaS有り。
    * ただ公式で連携しているNiftyのMobile backendもありAPIコール数やPUSH配信数などを見るとmobile backendでよいと思う。
    * [Monacaバックエンド](http://docs.monaca.mobi/cur/ja/manual/backend/)
    * [Nifty Mobile backend](http://mb.cloud.nifty.com/)
    * もちろん自分で立ててもOK

# 他環境について
* ionicとonsenUIどっちがいい？
    * ionicの方がUIのレスポンスがよい印象
    * OnsenUIはjQueryで記述できる感じでAngularを目立たなくしている。とっつきやすい。
    * ionicはAngular必須な印象
    * なので、慣れていない間やデザイナー寄りの方はOnsenUIでバリバリのブログラマーな方や詳しい人がいる場合はionicでもよいかも？（個人的な感想
* React Nativeとの違いは？
    * React NativeはReact.jsを使ってネイティブのUIを使えるという点が利点なため仕組みが違う
        * UIはReact NativeはネイティブでMonacaやionicはHTML+CSS
    * そのためReact Nativeの場合は各OS毎の知識が必要でソースも分ける必要がある。
        * ネイティブUIのためHTMLベースなハイブリッドアプリより動作がよいのが利点
    * React NativeはJSおよび両OSのネイティブ知識が必要なため全部やろうとするとハードルが高そう。ソースも別れるのでクロスプラットフォームというわけではない。
* React.JSは？
    * まだあまり調べれていませんが React.JSを使ってハイブリッドアプリ作ることはありかも。
* React.JSとReact Native
    * [Gunosy React Meetup行った](http://pirosikick.hateblo.jp/entry/2015/03/31/004532)
        * Reactの情報がすごくわかりやすかったのでメモ
 
# Monacaの事例について
* オフィシャルサイト
    * [事例](http://monaca.mobi/ja/showcase)
    * 個人的なピックアップ
        * [Eight:名詞管理アプリ](https://itunes.apple.com/jp/app/eight-ming-ci-ren-shi-guan-li/id444423637?mt=8)

<!--
        * [レシポ！:レシートを撮影するアプリ](https://itunes.apple.com/jp/app/reshipo!/id1004938586?l=en&mt=8)
        * [残高確認:銀行の残高確認](https://itunes.apple.com/jp/app/can-gao-que-ren-japannetto/id935061691?mt=8)
        * [タニタの無料健康管理アプリ ヘルスプラネット：体重計と連動](https://itunes.apple.com/jp/app/tanitano-wu-liao-jian-kang/id692700901?mt=8)
-->


# ぶっちゃけ使える？
* 使えると思う
    * ChromeAppも作れるのでそちらを作ってみるのも面白そう。
* 開発環境とかを用意しなくてもすぐ使えるのがよい
    * さっとはじめられるのが大きい利点
    * 日本語での情報があるので他のものと比べると楽。他のは英語ばかり。
* 逆にしっかり準備できるのであればionicなどを自分で構築してみると良いと思う。
    * ガチガチの技術者はこちらかな。
* ということで、初心者などまずやってみるという感じの方にピッタリと思います。