Skip to content

Instantly share code, notes, and snippets.

@donayama
Created December 22, 2012 15:22
Show Gist options
  • Save donayama/4359388 to your computer and use it in GitHub Desktop.
Save donayama/4359388 to your computer and use it in GitHub Desktop.

#Ti Weekly Clips 2012年総集編

本ドキュメントは@astronaughtsさん主催のTitanium mobile Advent Calendar 2012の23日目記事です。一応(^^;)

はじめに

Titanium Mobileに関する情報を専門に扱うサイトTitanium Newsの運営をしております@donayamaと申します。

2012年の初頭から開始したこのサイトですが、立ち上げ当初はこまめに情報をアップデートすることを目標に取り組もうとしていたのですが、生業の忙しさもあり、どうしても即時性の高い情報提供が困難な気配がありました。
そこで通勤や移動している最中、あるいは帰宅後にぼへーっとしている時にTwitterで流れる情報に基づき、ちまちまと貯めていっていたはてなブックマークのエントリーを一定期間でまとめる形にしようと1月末から基本的に毎週土曜日のお昼前後に直前の1週間に収集したニュースやTipsを"Ti Weekly Clips"と銘打って、古い言い方をすると「ニュースサイト」形式でお届けして参りました。
(実際問題、初夏から秋口に掛けては平日の日中にWebでの情報収集をするような休憩すらままならない状態でしたので、この判断は正解だったように思えます…)

そんなTi Weekly Clipsも土曜の深夜になったり、ともすれば日曜日のお届けになったりということはあったものの、なんとか落とすことなく、毎週のリリースを続けたまま11ヶ月目に突入しました。これもブックマーク頂いたり、RTで拡散頂いた反響あればこそ。この場を借りて篤く御礼申し上げます。

さて、秋ぐらいの段階でこの「1週間を振り返った情報」をさらに振り返ることにより、現時点でのTitanium Mobileの情報を最適化した形で俯瞰できるのではないかと考え、総集編のご提供を予定し、ことあるごとに(主に自分を追いつめるために)そのことに触れて参りました。

しかし、この「はじめに」を書いている時点で、まとまっている内容は大雑把なアウトライン(まとまっていない)しかなく、無事この企画が意味を為すものになるのか、神のみぞ知るという状態であったりします。

本企画でお送りする内容の一部でもお役に立てれば、これ以上うれしいことはありません。


2012年のTitanium Mobile/Appceleratorを総括する -Titanium 1.8.x、2.0、そして3.0へ。-

バージョンの変遷

2012年最初の段階でリリースされていたのはTitanium Mobile 1.8.0.1です。
初のTi Weekly Clips(という名前はその時点ではついていませんでしたが)でお送りしたのが1.8.1のリリースです。これが2012年1月31日(米国時間)のこと。

4月17日には2.0.1がリリースされ、同月20日には五反田にてTitanium Mobile 2.0 ローンチ記念イベント in Tokyo!!が開かれ、100名以上の参加者が一同に会しました。

この頃から毎月末にサービスパックリリースという形で不具合対策にフォーカスしつつ新機能をちょびっと付け足していく方式を取りはじめ、5月末に2.0.2となりました。
6月末に2.1.0がリリースされ、7月末、8月末、10月頭にそれぞれ2.1.1〜2.1.3までのマイナーバージョンアップがされました。CODESTRONGが10月中旬〜下旬にかけてあった影響、さらに3.0への注力の影響もあるのか、時期的に若干ずれて11月中頃に2.1.4がリリースされています。

CODESTRONGで発表された3.0については正式版が12月中旬にようやくリリースされました。iOSやAndroidの新機能への対応といった機能的な増強というよりも、Alloyフレームワークをはじめとした堅牢性やEnterprise向けの歩みを進めているものであり、またTitanium Studio以外での開発方法をサードバーティ的な扱いから、YetAnotherな方法として見定めるなど幅広い開発者を受け入れる体制をプラットフォーム・エコシステムとして構築しようとしているように思われます。

今後の動向についてロードマップは相変わらず見えないのですが、Windows8/WindowsPhone8対応、Alloyの強化からのUIデザイナの登場、Lanicaの製品になりますがPlatinoエンジンなど、楽しみですね。

Titanium SDK 2.0.1での変更点

  • Appcelerator Cloud Servicesのサポート
  • Titanium Mobile Web(HTML5アプリ)のRCリリース
  • ドキュメントサイトの刷新
  • レイアウトエンジンの変更
  • モジュールAPIに関する情報の正式公開
  • より柔軟な位置情報機能
  • Xcode 4.3, iOS5.1(+iPad(2012))のサポート
  • Android V8ランタイムエンジンのメモリ管理強化
  • Android r19ツールセットのサポート

Titanium Studio 2.0.1での変更点

  • tiapp.xmlのモジュール登録をGUIで管理できるようになった
  • コード補完が賢くなった
  • /**でJavaScriptのドキュメントコメント補完ができるようになった
  • F3キーで定義にジャンプできるようになった
  • プロジェクト内のコードに検証エラーがある場合に実行できないようになった
  • プロジェクト名右クリックからAppcelerator Analyticsサイトに遷移できるようになった
  • 速度改善(buildsフォルダへのindex作成の回避など)
  • エミュレータ・シミュレータ実行時にカスタム引数を渡せるようになった
  • サードパーティ製のアプリ公開連携(たとえばTestFlightとか)のためのフックの仕掛けを追加

Titanium SDK 2.1.0での変更点

  • Appcelerator Cloud Services(ACS)にアクセスコントロールリスト(いわゆるACL)が実装され、ACSオブジェクトを許可したユーザに対して共有できるようになった。
  • iOS/Android上でのアプリケーションコードのセキュリティを強化した。
  • iOSでMapViewのAnnotationをドラッグアンドドロップできるようになった。
  • Mobile Webでのスクロール性能を改善した(Kinetic・Elasticスクロールともに)
  • Android向けにこれまで提供されていなかった以下の機能に対応した。
  • MapViewでのRoute機能
  • 背景グラデーション
  • pinch・swipeイベント
  • Horizontalレイアウトがプラットフォーム間で標準化された
  • 垂直方向でのswipeを全プラットフォームで対応
  • MediaPlayerで標準的なボリュームプロパティに対応

Titanium SDK/Studio 3.0.0での変更点

  • デバイス上のデバッグが出来るようになる
  • Alloyフレームワークの統合(TiStudio上はAlloyプラグインとして動作)
  • 新CLI
  • UIのイベントバブリングの変更
  • AndroidのActionBar対応
  • アクセシビリティ対応
  • TiStudioにおけるiOS向けアプリパッケージングの変化
  • イベントバブリングの変更

ACS(Appcelerator Cloud Services)について

Appceleratorが抱えているプロダクトはTitanium Mobileだけではありません。買収といった形ではありますが、BaaSの一つCocoaFishを買収し、Appcelerator Cloud Servicesという形でリリースしたのも2012年2月から4月に掛けての出来事でした。

認証、ソーシャルグラフ管理、LikeやRating、写真のアップロードと自動リサイズ、チェックイン、アプリ連携といったモバイルアプリケーションには不可欠なサーバ側実装をAPIとして提供するのがBaaS(Backend as a Service)です。モバイルアプリを開発するためのTitanium Mobileにはこれほどフィットするものもなく、買収前からCocoaFishを試用していた筆者にとっても大歓迎のサービスインでした。

RESTでのAPI提供をしていることから、Titanium Mobileはもちろん、JavaScript以外の言語やどんな動作プラットフォームでも利用できるモノになっています。

リリース当初は価格体系がハッキリしなかったのですが、6月には第一弾となる価格体系の発表。比較的リーズナブルな価格であり、管理費用などを考慮するとかなり良心的なものだったのですが、9月に更に価格体系に変更が入りました。 APIコールの種別がなくなり、プッシュ通知が通知回数ベースではなく、対象デバイス数ベースに変更されるというもので、実質的な値上げとなりました。ACS利用者を落胆させたのも記憶に新しいところです。

その一方でnode.jsからACSを利用するためのフレームワークNode.ACSの開発が進められており、Titanium Studio 3.0以降でNode.ACSの開発支援をサポートする動きがあります。このフレームワーク自体はAlloyとは別のサーバアプリケーションに特化したMVCフレームワークとなっており、サーバ側はnode.js+Node.ACS、モバイルはTitanium Mobile+Alloy、というソリューション展開を目指したものなのでしょう。

こういうベンダーロックインはなかなか怖いものなのですが、ピタリとハマればかなり強力に作用しますので、目的にフィットするかどうか判断した上になりますが、取り組んでみるのも手かもしれません。

ちなみにあまりここでは多く語れないのですが、2013年の始め頃には吉報がありそうな気配がありますので、ACSに関しては引き続きアンテナを向けておくことをお奨めします。

国内の動きについて

ここで国内のコミュニティなどの動きについても振り返っておきましょう。

各地での勉強会は昨年同様に実施されていますが、Titanium Mobileとは何ぞやというところからもう一歩踏み込んだような内容のものが増えてきているように感じられ、裾野が広がってきている様子が見受けられます。

こういった動きを止めないためというわけではないのですが、9月にはTitanium Mobileユーザ会が発足され、定期的なMeetupイベントを開催したり、ドキュメントをまとめたり、サポートサイトを集中し、情報発信・集積の場として機能するようになっています。

ユーザ会の発足にあたって、はじめて開催されたMeetupイベントにはAppcelerator CEOのJeff Haynie氏、COOのSandeep Johri氏が来日されるという動きもありました。

また、書籍については2011年6月に拙著を出させて頂いた直後に1.7&Titanium Studioの登場というかなり 目も当てられない状態になっていたのですが、2012年に入ってから2冊の書籍が上梓されました。

一冊目は2012年2月に発売された小澤栄一さんによる「Titanium Mobile iPhone/Androidアプリ開発入門―JavaScriptだけで作る」、二冊目は9月に発売された森真吾さんによる「JavaScriptとTitaniumではじめる iPhone/Androidアプリプログラミング 【Titanium Mobile SDK 2.1 & Titanium Studio 2.1 対応】」です。

3.0でAlloyがらみや、デバイス上デバッグできるようになったという点、3.0でのAndroid ActionBarにまつわる変更点を除けば、依然として内容的にはこの2冊で問題ない状態でしょう。

その一方で2010年末からほぼ2年に渡ってAppceleratorでPlatformエヴァンジェリストとして活動されていた増井雄一郎さんが9月末を持ってAppcleratorを退職されました。拙著の監修も含め、大変お世話になりました。改めてこの場を借りて、感謝申し上げます。

2012年月別イベントカレンダー

このコーナーは別にカレンダーだからといって@astronantokaさんの企画ではなく、Ti Weekly ClipsのNews枠を振り返ろうというものです。

といってもすべてをすべて振り返っても仕方ないので、ザックリと参ります。

2012年1月

2012年2月

2012年3月

2012年4月

2012年5月

2012年6月

2012年7月

2012年8月

2012年9月

2012年10月

2012年11月

2012年12月


Tips&Topics 2012年カテゴリ別まとめ

なんでもあり情報でしたTips&Topicsをカテゴリ別・順不同にまとめてみました。

チュートリアル&入門系記事

Info.plistをわざわざ作らなくても、対象となる端末に必要な機能をtiapp.xmlに列挙しておけば簡単に変換される。

ハマりどころ

環境構築

Alloyフレームワーク関連

モジュール活用

UI実現/再現

ACS、その他のBaaS

データベース

内部挙動

その他


GitHub Watchまとめ

ネタがなくてスキップした回もありましたが、ほぼ一年を通してピックアップを続けてきたGitHub Watchのコーナー。
ざっくりカテゴリをわけて、コメントを省略してまとめていきます。順不同です。

UI

PureJS

UI演出

UIモジュール(ネイティブ)

Platform OS API利用モジュール

フレームワーク

API連携

データベース

Network

実装例

開発支援

広告・分析モジュール

その他

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment