2012年1月12日木曜日

Titaniumで光速iPhoneアプリ開発


初めまして。techGarageのメンバーの松岡秀樹です。

テニスをやっていたので修造と呼ばれたりしています。

Titaniumの勉強会を開催致します。

テーマは1日で作るFacebookのフィードクライアント。

興味がある方は是非下記より応募よろしくお願いします。
ご都合がよろしい日に参加下さい。開発環境はこちらで提供致します。

1月15日

1月21日

1月28日




さて、1年前くらい?からiPhoneもAndroidもどちらも同時に作れる!と話題になったTitaniumに触れてみて感じた特徴や長所、短所を述べていきます。


1、ウェブの感覚で作る事が出来る。

TitaniumでUIを組み込んでいくには下記の様になります

1、部品を作る
2、ビューに載せる

全てのUI(window,view,button,label,textfield.....)はこの2工程で作る事が出来ます。
また、部品の上に部品を載せたり、イベントに応じて表示/非表示を切り替えたり。
これらの組み合わせでアプリの画面を全て作る事が出来てしまいます。

レイアウトはcssでmarginを指定するイメージです。
赤の四角のプロパティ
{
backgroundColor:'#F00',

width:50,

height:50,

top:0,left:0

}

緑の四角のプロパティ
{
backgroundColor:'#0F0',

width:50,

height:50,

top:0,

borderRadius:10,

borderWidth:1,

borderColor:'#0F0'

}

青の四角のプロパティ
{

backgroundColor:'#00F',

width:50,

height:50,

top:0,right:0

}

色、サイズ、座標(top,left,right,bottom)
角丸(radius)を数字で指定する。
この様にwebデザイナーでもレイアウトにコミットする事が出来ます。

また、JavaScriptなのでなかの機能作成にも参加する事が出来ると思います。

例えばボタンを押したときにアラートを表示する場合

var b = Ti.UI.createButton({
title:'アラート',
width:120,height:50
});

b.addEventlistener('click',function(){
alert('これはアラート');
});

と、webでイベントリスナーでの制御と同様にアプリでも制御する事が出来ます。
click(シングルタップ),double tap,swipe,flickなどのイベントがUIに対して割り振られているのでそれらを利用する事が出来ます。
またfireEventも出来るので、制御の幅は自由度が高くなっています。



2、足りないモジュールはプラグインする事が可能

Titaniumが提供している基本的な機能はアプリを作る為の基本的な機能に限られます。(基本機能の組み合わせ次第では十分クオリティの高いアプリは作れます)

従って画像処理の機能や物理演算の機能など、主に内部的なエンジンは自前で作る必要があります。しかしこれらの処理にJSは向いていません。そこでネイティブで作った言語のエンジンを組み込むのです。

例えばbox2dと呼ばれる物理エンジンモジュールがあります。
これはTitaniumでゲームを作りたい人向けのモジュールになります。

僕の粗記事(Titanium SDK1.7.5 現在)ですが
http://hidekun.info/2011/11/19/327
こちらで導入方法を解説しております。

また、Appceleratorのマーケットプレイスでプラグインや素材を買う事も可能です。
http://www.appcelerator.com/products/open-mobile-marketplace/


3、短期間で開発する事が出来る

クライアントであれば1週間位でそれなりのアプリケーションにする事が可能です。
僕たちは元々約2ヶ月のインターンでTitaniumという未知のSDKに触れ、1ヶ月でJSを学び、1ヶ月でアプリをリリースしました。

最初から初めても1ヶ月もあればリリースできる様になるのです。




Titaniumの勉強会を開催致します。

テーマは1日で作るFacebookのフィードクライアント。

興味がある方は是非下記より応募よろしくお願いします。
ご都合がよろしい日に参加下さい。開発環境はこちらで提供致します。

1月15日

1月21日

1月28日



0 件のコメント:

コメントを投稿