Titanium Alloyはじめました(1)-とりあえず実行してみる

「Alloy1.0がでたら本気を出す!」と言ったような言っていないような気がしますが、無事に1.0が出たのでとりあえず始めてみることにします。

現在の私は、Alloyを使わないTitanium(clasic?)はある程度知ってるけど、Alloyはほとんど知らないという状況です。

ここからスタートします。さてさて、どうなるでしょうか…

Alloyを知ることから始めます

まずは、Alloyを知ることから始めます。「titanium alloy」というキーワードでググって、出てきたページを手当たり次第に読んでいきます。

Alloyは登場して間もないので、ガシガシ仕様が変わっています。古い情報が山のように出てきますが、気にしません。出てきた情報を整理すると次のようになりました。

Alloyとはなにか

  1. Appcelerator社が提供しているTitanium Mobile向けMVCフレームワーク
  2. npmで配布されているためnode.jsの環境が必要
  3. ソースコードgithubで公開
  4. 2013年2月時点の最新バージョンは、1.0.0
  5. Titanium3.0から対応
  6. 公式ドキュメントはこちら

環境構築

先ほどググって出てきたページの中に環境構築についての記載もあったと思いますので、その辺りを参考に環境構築をします。次のものを追加で用意しました。

  1. node.js
  2. Alloy
  3. Titanium CLI

それぞれにパスが通っていることも確認しておきます。

とりあえず動かしてみます

コマンドラインでもできますが、始めは素直にStudioを使ってみます。いつも通り、StudioからTitanium Projectを作ると最初にテンプレートを選択しますが、ここにAlloyが出てきます。Default Alloy Projectを選択してプロジェクトを作ります。

プロジェクトツリーをみると、viewsやcontrollersという見慣れないフォルダができていますが、中身を見るのは後にします。とりあえず、実行してみます。

alt HelloWorld

個人的にはHello Alloyと表示された方が良いのではないかと思いますが、無事に実行することができました。

今回はここまでです。次回はファイルの中身を見て行きたいと思います。

この記事は、学びながら作成していますので、網羅的かつ正確な情報を提供するものではありません。

Firefox18でgetUserMediaしてみた

Firefox18でWebRTCがサポートされたので、getUserMediaでカメラの情報を取得してみました。
実行するときには、about:configからmedia.navigator.enabledをtrueに変更してください。
chromeより若干ですがもっさりしている感じはありますが、気にならない程度ですし、もしかしたら私の環境に依存しているかもしれません。

私のプライベートな開発PCのディレクトリ構成

@h5y1m141さんのプライベートで開発やってる人のマシンのディレクトリ構成ってどんなんだろう?のインスパイア記事です。

開発環境

Macオンリーです。Java / Ruby / Android / Titanium Mobile / CoffeeScript / Node.js等のオープンな開発環境はそこそこ入ってます。

ディレクトリ構成

私は、バックアップも含めて基本的にソースコードは外部のサービスに保存しません(github等は別)。マスタもバックアップも全て自宅ルータの内側に保存してあります。理由は単に必要ないから。外に持ち出す時にはノートPCごと持ち出します。このような環境で、ディレクトリ構成ルールは2点あります。

  1. 全てはDocumentsに
  2. 全てはフラットに
全てはDocumentsに

Dropbox等で持ち出すことをしていないので、自分で作成したファイルは全てDocuments配下に保存しています。一箇所にあればすぐに見つけることができますし、色々なところにアクセスしなくてすみます。

全てはフラットに

私は、ディレクトリ構成を深く掘り下げることが苦手です。(メールも用途や送信者ごとに分けません。送信箱と受信箱だけです。)ですから、Documents直下にたくさんのディレクトリを作りまくって保存しています。どうしてもディレクトリをグループ化したい時は、

Ruby_hoge
Ruby_moge
Ruby_pote

のように「接頭語 + _」を使ってグループ化しています。ディレクトリ構成を深く掘り下げない理由はアクセスしやすいからです。Terminalで深い階層まで潜るのは疲れます。目的のファイルを探す時は検索を使います。あと、どっちのディレクトリに入れようか迷う必要もなくなります。微妙なファイルってよくありますから。でも、さすがにグループ化ディレクトリが30とか50になりそうなときは、ディレクトリをひとつ落とします。

でもこうすると、Documentsディレクトリで

$ ls

なんてやってしまうと大変なことになります(^^;

ちなみにlsコマンドをミスると、SLが走るようになってます。

あまり参考にならないかもしれませんが、こんな人もいるということで...

JINS PCを買ってみた

いま話題(?)のJINS PCを買ってみました。反射型のクリアレンズです。普通のレンズと比較するとこの通り。左が他社の通常レンズ、右がJINS PCレンズです。
f:id:chitans:20121006190025j:plain
普通のレンズより、青い光を多く反射していることが分かります。ブルーライト30%カットだそうです。普段からディスプレイを見つめている時間が長いので、少しでも負担が減れば良いなぁと思ってます。

Ruby技術者認定試験Silverを受けてきた

Ruby技術者認定試験のSilverを受けてきました。結果はご覧のとおり。
f:id:chitans:20120926084848j:plain
Rubyの入門的な位置付けの試験のため、ひねった問題やいやらしい問題は少なく、素直な問題が多かったです。
私は、普段Rubyを書く機会がほとんどなく、たまに趣味レベルで書いている程度なので、試験対策としては2冊使いました。

Ruby技術者認定試験 公式ガイド (ITpro BOOKs)

Ruby技術者認定試験 公式ガイド (ITpro BOOKs)


Ruby公式資格教科書 Ruby技術者認定試験 Silver/Gold対応 (EXPERT EXPASS)

Ruby公式資格教科書 Ruby技術者認定試験 Silver/Gold対応 (EXPERT EXPASS)


一冊目は問題メイン、二冊目は教科書的な部分が多いテキストです。一冊目にもポイントが記載されていますので、どちらから先にやっても問題ないと思います。
これらのテキストに載っている問題がスラスラ答えられるようになれば、合格の可能性が高いと思います。出題範囲はあまり広くないので、繰り返し問題を解いて、気になった部分はプログラムを書いて動作確認をするということをやっていれば合格できると思います。普段お使いのPCやMacにRubyをインストールするのが一番良いですが、codepadを使うと、iPad等のタブレットからも実行結果を確認できるので便利です。

書評:JavaScriptとTitanium MobileではじめるiPhone/Androidアプリプログラミング

日本語で読むことができるTitanium Mobile解説本の第三弾が出ましたので、ざっと目を通した感想を書きます。

JavaScriptとTitaniumではじめる iPhone/Androidアプリプログラミング 【Titanium Mobile SDK 2.1 & Titanium Studio 2.1 対応】

JavaScriptとTitaniumではじめる iPhone/Androidアプリプログラミング 【Titanium Mobile SDK 2.1 & Titanium Studio 2.1 対応】

全ページフルカラー

やっぱりフルカラーは見やすいので嬉しいです。画面キャプチャはもちろんですが、プログラムコードも色分けされていると見やすいですね。ドギツイ色を使ったフルカラー本もありますが、本書は全体的に落ち着いた色使いでポイントが分かり易いです。

とにかく丁寧な解説

入門書の多くは、その書籍で扱っているツール類の説明から始まることが多いのですが、この本はツールの前提プロダクト(具体的にはJDK)のインストール方法やPCのシステム要件まで丁寧に書いてあります(しかも写真付き!)。もちろんツールの使い方やコードの説明も細かく書いてあります。Titanium Mobileを知っている人であれば当然のことかもしれませんが、初めての方には嬉しい内容だと思います。

ちょっとした「あれっ?」もフォロー

本の通りにやっていても、「あれっ?本に書いてないメッセージが出た」ということは良くあります。原因が環境依存だとフォローしきれないのですが、その部分もメモや補足として可能な限り書いてあります。この辺りも初心者の方には嬉しところだと思います。

iPhoneAndroidの画面が並んで掲載されている

実行結果画面がiPhoneだけとかAndroidだけという訳ではなく、両方載っていることで、iPhoneアプリを作成できないWindowsユーザにも配慮されています。また、横に並んで掲載されているので違いも一目で分かります。

まとめ

扱っている内容、デザイン、色使い、話の展開のどれをとっても現時点でのTitanium Mobile入門書の決定版という感じです。本書の「はじめに」にも書かれていますが、Titanium Mobileへの第一歩なので、この本の内容でトップセールスアプリを作成することは難しいかもしれませんが、その第一歩としては間違いない書籍だと思います。

Titanium Mobile iPhone/Androidアプリ開発入門―JavaScriptだけで作る

Titanium Mobile iPhone/Androidアプリ開発入門―JavaScriptだけで作る


Titanium Mobileで開発するiPhone/Androidアプリ (Smart Mobile Developer)

Titanium Mobileで開発するiPhone/Androidアプリ (Smart Mobile Developer)

HTML5 Conference 2012へ行ってきた

「ブログを書くまでがカンファレンス!」ということで、非常に簡単ですが、今日聞いたこと+αを書いてみるテスト。

プログラムはたぶんこの辺りにあります。

基調講演

最近流行のJavaScriptフレームワークは本当の解ではなく、コンポーネント化され連携することによってクラウドアプリケーションとして広がっていくという。確かにその通りで、この考え方はWebIntentsにも繋がっていきます。個人的には久しぶりに生の及川さんの話を聞けたことが良かったです。

Webプラットフォームの進化と実装

FirefoxOSをはじめとするWebOSの話。HTML5で書いたアプリがネイティブアプリになるということです。現在のWebの世界を考えるとごく普通の流れのような気がします。iOSとAndroidが普及している世の中で、Webをプラットフォームとする端末がどれだけ普及するかが鍵のような気がしました。

WebIntentsにより拓かれる次のWeb

クラウドもローカルも全てシームレスにアクセスすることができるという個人的に一番聞きたかった話です。冒頭でブラウザからテレビを操作するデモがありましたが、それぞれの家電の中にWeb Serverを内蔵することによって、家電がネットに繋がる時代がすぐそこまで来ています。

HTML5によるタフなモバイル開発の最前線

FlashとCanvasのどちらを選ぶかという話。それぞれいいところと悪いところがあります。個人的にはゲームやアニメーションの領域からは離れていますが、パフォーマンスチューニングやメモリの使い方の話は面白かったです。メモリ関連では、Chrome Developer Tool:Heap Snapshotsが神アプリだとか。

ブラウザを介した新しいリアルタイムコミュニケーション

WebRTCの話。ビデオチャットであれば簡単に作れてしまう優れもの。いまは音声と動画しか送受信できないが、今後は任意のバイナリデータをピアツーピアで送受信できるかもしれないという。夢が広がりますね。
発表資料はこちら(Google Docs)

スペシャルセッション

色々な方の個性ある話が聞けて良かった。最後のクイズ大会も盛り上がりました。楽しかったです!

感想

個人的に久しぶりの勉強会でしたが、楽しかったです。色々な人の話を聞くことで自分の考えている方向性や自分の立ち位置、これからどこを見て進んでいけば良いのかということを確認することができました。そして、何よりたくさんの刺激を受けることができました。やっぱり勉強会っていいものです。

ということで、スタッフの皆様、関係者の皆様、スポンサーの皆様、出席者の皆様、HTML5 Conferenceに関わっている全ての皆様、お疲れさまでした。ありがとうございました!

f:id:chitans:20120908194251j:plain