JavaScriptだけでアプリ作る環境を作るのに苦労した話
こんにちは、Yadex205です。 自分のツイッターのプロファイル文に「ツイッタークライアント作ってます」的な事を 書いてるんですが(リリースすらしてないけど)、いままでそのベストな開発環境を 見つけられないままズルズル引きずってました。(純JSなアプリ)
今まで試したこと
初めはWindows Store App向けのつもりで作ってたのでVisualStudioでJSアプリを 作っていましたが、VisualStudioの導入が必須になり、Emacsキーバインドは 導入できないしgitとの連携も面倒臭そうなので、直接ブラウザ上での開発に 以降しようと思いました。
ところがTwitterとの通信で、CORS(Cross-Origin Resource Sharing)の壁に遮られます。 Ajaxを使った別ドメインのリソースへのアクセスをもうちょっと安全にしたもの(ちょっと違う) なんですが、TwitterはこのCORSに対応してない、つまり
純粋なJavaScriptと現状のブラウザだけでTwitterアプリは開発できない
んですよ。困った。なのでブラウザのCORSを無効化してしまえばいい話だと気づいたので、 いろいろ探してみました。
結果分かった事として、Chrome系(Blink)のブラウザは起動時に
$ chrome --disable-web-secutiry
というオプションをつけると、ウェブセキュリティーの機能の一つとみなされてる為でしょうか、 CORSが無効化されるので、VisualStudioで開発していた時のように通信に支障がでなくなります。
ただ自分は体質上の理由でGoogle製のものに触ると爆発してしまうので、なんとかFirefoxでもできないかと いろいろ探して見たところ、最近のバージョンのFirefoxではCORSを無効化するオプションが無効化(?)。
終わった。
Cordova の導入
Apacheから、Android、iPhone、Windowsなどのたくさんのプラットフォームで動かせるアプリを HTML5で作れる「Cordova」というものがリリースされています。 最近のVisualStudio2013にはプロジェクト作成の際に、Cordovaを使ったプロジェクトが作れるようになってます。 自分はそこでCordovaの存在を知ったのですが、今回自分のCentOS環境にそれを整えてみようかなと思いました。
今回は導入方法は書かないので、英語でかかれてますが公式ドキュメントの方を参考に、 やりたい人はやってみてください。
結論
Chromeの--disable-web-secutiry使うのが一番サクサクだと思うよショボーン(AA略
ちなみにCordovaで使うシミュレーターは、FirefoxOSが一番快適だと思います。Androidエミュの遅さは 皆さんご存知だと思いますし、あとiPhoneアプリはMacじゃないと、Win系アプリはWinじゃないと ビルドできません。
なんかいい環境ないんですかねぇ・・。
— グッフォーのHELLO61のペンキ (@yadex205) 2015, 5月 13