びぃえるくぅと。

ガラケーは打楽器。

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から、AndroidiPhoneWindowsなどのたくさんのプラットフォームで動かせるアプリを HTML5で作れる「Cordova」というものがリリースされています。 最近のVisualStudio2013にはプロジェクト作成の際に、Cordovaを使ったプロジェクトが作れるようになってます。 自分はそこでCordovaの存在を知ったのですが、今回自分のCentOS環境にそれを整えてみようかなと思いました。

今回は導入方法は書かないので、英語でかかれてますが公式ドキュメントの方を参考に、 やりたい人はやってみてください。

結論

Chromeの--disable-web-secutiry使うのが一番サクサクだと思うよショボーン(AA略

ちなみにCordovaで使うシミュレーターは、FirefoxOSが一番快適だと思います。Androidエミュの遅さは 皆さんご存知だと思いますし、あとiPhoneアプリMacじゃないと、Win系アプリはWinじゃないと ビルドできません。

なんかいい環境ないんですかねぇ・・。

Copyright © 2015 Yadex205