この記事はあすとろなんとか@astronaughts さん主催のTitanium Mobile Advent Calendar 2012 向けに書いています。
あすとろなんとか@astronaughts さんが3日目に書いた記事で
正直 “early” をやってしまったために、みんなのネタを切らしてしまったのではないかと若干後悔しております。
と書いてましたが、ネタを振り絞って2つ目書くことにしました。
ちなみに、Titanium Mobileでアプリをどう書くか - マルチコンテキストからクラス設計まで - を読んでて、ふとこのネタを思いつきました。
初期の開発(2010年12月頃〜)
2年前に、Titanium Mobileでアプリ開発をはじめるというエントリを書いてますが、この頃に初めてTitaniumMobileをいじりはじめました。
この頃は、TitaniumStudioのような統合開発環境がなかったので、Emacs+js2-modeの環境でJavaScriptのコードを書いて、Titanium Developerでbuildしていましたが、その後ターミナル上でTitaniumのプロジェクト実行する方法がわかってちょっとだけ効率的になった気がします
そうそう、どうでもいいですが、Titanium Developerが、なんだか遠い昔の人のようですねww
あと、この時期、Project creation error:Error creating project というメッセージに悩まされて、かなりハマっていました。(なんかこれも懐かしいですねw)
Titanium Studioを使ってみる(2011年12月頃〜2012年3月頃)
Titanium Studioが登場した際にも、一応利用してみたのですが、Titanium Developerの時代から、Emacsでコードを書いて、ターミナル上でビルドしてというのを続けていたので、基本的にはその環境でコードを書いていました
ただはじめようTitanium+JavaScriptでスマホアプリ開発カフェという勉強会をやりましたという勉強会の企画&実施をするにあたって、GUIベースなTitanium Studioの方が参加者にも理解しやすいだろうし、説明するこちらとしても、GUIベースのアプリのほうが何かと説明しやすい所が多いので並行して使ってみました。
Titanium+JavaScriptでiPhoneアプリ開発カフェ<vol.3>の発表資料のSlideShareを見て思い出しましたが、Titanium StudioのSnippetの機能をこの時に初めて使い、これは便利だなぁと思いTitanium Studioもいいなぁーと感じたのですがやっぱりこれまでの環境でコードを書くという状況でした
※Emacsでも、YASnippet使えば同様のことが出来ると思うのですが、自分のスキルが足りないためにYASnippet使ったSnippetの書き方がよくわからないので実現出来てない・・
ターミナル上からのbuildをより効率化するためにMakeTiを本格活用(2011年7月頃〜)
MakeTiは調べる限り1月ごろに存在は認識してましたが、本格的に利用を考えたのは
@kaz_konno Sublime Text2もですが、そういえば昨日の発表で MakeTi もとりあげられていましたね。ちょうど今、作業的に落ち着いているので、これを機会に開発環境ちょっとてこ入れして、MakeTi 導入してみようと思いますー
— hiroshi oyamada (@h5y1m141) July 2, 2012
というのを呟いたあたりで、最終的には7月にMakeTiとついでにTestFlightの環境も整えてました
MakeTi+TestFlight環境整えたことで、ターミナルからbuild出来るというのは当然なのですが、ipaファイルのiPhone実機への転送をケーブルを繋がなくともインターネット経由で出来るので、かなり作業効率が上がりました
Titanium Mobile + CoffeeScript + Guard でさらに効率的に(←イマココ)
こちらで触れていますうちの会社の若手がJavaScriptというかCoffeeScriptの勉強をしたいということを相談されたのをきっかけに、CoffeeScriptをいじりはじめ、Titanium + CoffeeScriptな環境構築を11月にやりました。
自分なりのJavaScriptのコーディング規約的なものがある程度確立していたから、Titanium Mobile + CoffeeScriptな環境は無くてもいいかなと思っていたのですが、この環境に移行してからは、以前のような環境に戻れませんね。
ただ、 CoffeeScriptのコンパイルは成功しているのに自分の意図したように動作しないケースがたまにあるので、その時には生成されるJavaScriptのコードを見て、Coffeeの方を修正するという作業が発生することを考えると、誰にでもオススメ出来る環境ではないかもしれませんね。
まとめとして
こうやってみると2年足らずのうちにTitanium Mobile自体もですが、開発を効率的にすすめるためのTIPSが増えてきましたね。
最近取り組みだした jasmine でのテストだったり、JenkinsのようなものをつかってのCI(継続的インテグレーション)みたいな所のノウハウも少しづつみかけるようになったので、自分のノウハウが溜まったらそのあたりもいつか記事書きたいなぁと思ってます。
明日はモバイラーズオアシスの中の人でもある@mogyaさん、よろしくお願いしますー