【Titanium】Alloy vs Classic
2年前にAlloyを試してみたけど、未だにClassicな書き方をしている私。そろそろAlloyも成熟してきたころだと思い調査したときの覚書。
環境:Titanium SDK 3.3.0.GA
私がクラシックな書き方をしている理由(言い訳)を考えてみた。
- Alloyも結局クラシックなコードに変換している。だったら最初からクラシックな書き方でいいと思う
- WEB開発で複数言語(PHP, HTML, CSS, JavaScript)から開放されたと思ったのに、やっぱりXMLとかCSSっぽいのを書かないといけないの?
- CommonJSの考え方でサーバー側(NodeJS)とクライアント側(Titanium)をJavaScriptで書いているのが気持ちいい
- Alloyにバグがあったら見つけるのも直すのも大変そう(まだAlloyを信用できない)
- クラシックだとひとつの画面はひとつのJavaScriptファイルで完結するので管理しやすい
- 今作っているアプリはサーバーと連携するクライアントアプリ。ビジネスロジックは全部サーバー側にあるので、MVCでいうところのViewをTitaniumで開発している感覚。さらにMVCで開発するほど大規模なアプリは今のところない。
- 自分の中で確立した書き方から脱却するのが億劫
世間ではAlloyで開発するべきだという意見が一般的。
ベストアンサーを日本語訳してみた
- Alloyは一般的な方法と統一したコードを提供する。これは他のAlloyプロジェクトの開発者や新規開発者が理解するのに容易。
- Alloyは便利で役に立つたくさんのレイアウトショートカットを提供しているので、より早く開発することが出来る。我々のセールスチームは70%のコードを削減できた。これはたぶんベストな例だけど、Alloyアプリでたくさんのコード削減できる。
- Alloyアプリは各プラットフォームに最適なコードと追加ツールを提供するのでクラシックなアプリよりも動作が速い。
- Alloyは横長のアプリを作ったり、テーマを作ったり、再利用するコンポーネントを作るのに便利。これらはクラシックコードだと別々なカスタムソリューションが必要となる。
- AlloyはMVCの原則に従って均一なコードを書くのを手助けしてくれる。これは前述したように開発をスピードアップする。しかもメンテナンスしやすいコードを書くのも手助けしてくれるため、トータルコストを削減する。そしてそういうコードはバグも少ない。
- Alloyは一貫したディレクトリ構造を提供する。この構造はプロジェクト間でも変わらないし、入れ替わる開発者にとっても一貫したもの。
- ほとんどのサンプルアプリやドキュメントはAlloyから先に作られる。ほとんどの新しいコミュニティで開発されるコンポーネントはAlloyのウィジェット。クラシック指向のコードではない。
- 全ての拡張モジュールはクラシックなプロジェクトでも使える
全くスキがない。
今度新しいアプリを作るときはAlloyを使おうと思ってきた。
< Related Posts >