2008/11/26

iPod touch 2GをGetしたよ

いきなりだけど、iPhoneを買おうか迷ってたのは今使っている携帯のキャリアがauでだいぶ長いこと使っているっていうのが一番の理由。
おまけの理由はiPhoneよりAndroid携帯が欲しいかったから。

最近はauとドコモが「Android携帯を2009年度にリリースします」って宣言したもんだから、iPhoneの購入はさらに迷った。
迷いに迷ってしまったので、これはiPhone購入は止めておこうと先週末思い切ってiPod touch 2Gを買ったよ。

ここ何日かtouchを使いまくってるけど、ゴロ寝学習にはもってこいだね。
PDFビューア、PPTビューア、podcast、メーラー、RSSリーダー・・・ものすごく便利んなった。
おかげでMacBookと向かい合う時間がだいぶ短くなったよ。

ちなみに今、ダウンロードしているソフトはこれら。
・Air Sharing
・Evernote
・Google Mobile App
・ITmedia
・mixi
・NatsuLion for iPhone
・Remote
・そら案内

Google Mobile Appで自分のGoogle Appsを使えるのがスゴく嬉しい。
他に知らないステキなソフトはないかなぁ。

2008/11/20

InfoQのRIAフレームワーク調査記事

沢山登場しているFlex/ActionScriptフレームワークの中から、「どのフレームワークが好きか?」という調査なのだが、結果としてはMate, Cairngorm, PureMVC, Swizなどが挙げられている。
調査結果は1位PureMVC, 2位Cairngorm, 3位Mateとなっている。

RIAフレームワーク:調査によると…
http://www.infoq.com/jp/news/2008/11/ria-frameworks-survey

この記事の中でCairngormについて下記のように書かれていた。同意!
例えば、なぜフロント・コントローラでハンドリングされるイベントを生成して、それをコマンドに伝えないといけないのでしょう?どうしてコマンドを直接実行してはいけないのでしょう?

個人的には1位Mate, 2位Cairngorm, 3位しらん、という感じ。
EasyMVCとかSwizは見たけど触ったことはないもので。

記事の最後にこんな提案が。
私の拙い意見としては、もし有能で規律正しい開発者がいるのなら、よい規約があれば十分でしょう。

RIAフレームワーク全否定か・・・。

FlexとFlashがダントツで1位

ITProが11月上旬に行ったWebアンケートによると「RIA開発に使ったことがある技術」でFlexとFlashがダントツで1位らしい。

Adobe AIRとSilverlightは今後に期待
http://itpro.nikkeibp.co.jp/article/Research/20081119/319489/?ST=research&P=2

ひっそりCurlやBiz/Browserも使われてるみたい。

Cairngorm Plugin

Adobe Open SourceにCairngorm Pluginが公開されてたよ。
Controller, Event, Commandクラスのスケルトンの作成とControllerクラスにEvent, Commandクラスのマッピングを追加するところまでしてくれます。

Cairngorm Plugin
http://opensource.adobe.com/wiki/display/cairngorm/Plugin

正直、あんまりありがたみを感じない・・・。

Durango(ドゥランゴ) - Adobe AIRフレームワーク

Adobe MAX 2008で発表のあったDurangoっていうAIRフレームワークが楽しそう。
Durangoで再利用可能なコンポーネントをペタペタ組み合わせてマッシュアップアプリを作れるみたい。

Durango
http://labs.adobe.com/technologies/durango/

atl.reuse.IComposableってインターフェースをルートタグに実装(implements)させてDurangoで使えるコンポーネントにするようだ。
<mx:TextArea xmlns:mx=http://www.adobe.com/2006/mxml implements="atl.reuse.IComposable">

非ビジュアルコンポーネントの場合はmx.core.IMXMLObjectも合わせてimplementsする。
public class DurangoServiceComponent implements IComposable, IMXMLObject {

これもFxUG@北陸勉強会のネタにイイなぁ。

※追記(2009/02/22)
勉強会が無事終わったので資料を公開します。
http://www.scribd.com/doc/12725795/DD-Mashup-Framework-Durango

Android携帯はドコモ、KDDIから来年度・・・度?

ET2008(Embedded Technology 2008)で発表してるんかな?

グーグル携帯を発売へ ドコモ、KDDIが来年度
http://sankei.jp.msn.com/economy/business/081119/biz0811191439006-n1.htm

来年度ってことは2009年4月以降かー。
まだまだ先・・・、やっぱりiPhoneいっとこか。

2008/11/19

Android携帯はドコモが先っぽい?

ドコモが「グーグル携帯」 無償ソフト採用、低価格で09年発売
http://www.nikkei.co.jp/news/main/20081119AT1D140B418112008.html

2009年のいつ?
auでスマートフォンに期待するのはもうダメかな・・・。

そいえば、AndroidでのFlash対応がAdobe MAX 2008で正式に発表されたらしい。
http://japan.cnet.com/mobile/story/0,3800078151,20383831,00.htm

2008/11/18

echo - Adobe AIR製のTODO管理サービス

trust Convection(株式会社トラストコンベクション)がリリースしたTODO管理サービス echoがカッコイイ。
「スポーツのような、チームワークを。」っていう仕事をボールに喩えて、チームでボールをつないでゆくというイメージらしい。
拡張機能を2008年内リリースらしいけど、どこまで無償で提供してくれるんだろう?

echo
http://echoes.to/

Adobe AIR+Ruby on Rails製みたい。


プライベートのタスク管理に使い始めたけど、1人だけだとチームでの使い心地がわからなくて寂しいなー。

2008/11/17

FxUG@北陸勉強会の顔合わせ〜

北陸の真ん中、金沢で北陸のFlex User Groupのみんなと顔合わせしてきたよー。
すんごく楽しいガン・・・Flex談義だった。

フレームワーク好きだからCairngorm、Mate、PureMVCをからめたFlex frameworkネタかそれともFlex単体テストのFluintネタを発表しようかな。
いつでも話せるようにネタ作りをちょびちょびしておこっと。

※ 2009/01/16追記
勉強会やることになったよー。
Flex3勉強会第XX回@北陸

目的:たわむれる。
日時:2月21日(土) 15:00〜

場所:株式会社ドーガ金沢事業所
住所:〒920-0062 石川県金沢市割出町631
最寄駅:北陸鉄道浅野川線「磯部」より徒歩○○分
    北陸鉄道浅野川線「割出」より徒歩○○分
最寄バス停:「三浦住宅前」(徒歩五分だけど本数少ない)
      「南新保口」(徒歩十分だけど本数は比較して多い)
      いずれも金沢駅西口より乗車可能
会費:勉強会 無料
  勉強会後の懇談会 300〜500円程(飲み物、お菓子を用意する予定)
対象者:どなたでも
資料:共有します。

特典:北陸開催初回記念としてAdobe様から 1名様に「Flex Builder 3 Professional」プレゼント!!
参加申し込み方法
FxUGの下記Wikiで参加(スピーカー or オーディエンス)を宣言してください。
http://www.fxug.net/modules/bwiki/index.php?Flex3%CA%D9%B6%AF%B2%F1%C2%E8XX%B2%F3%A1%F7%CB%CC%CE%A6%A1%CA%B6%E2%C2%F4%A1%CB%BB%B2%B2%C3%BC%F5%C9%D5%A1%A12%2F21%28%C5%DA%29

※追記(2009/02/22)
勉強会が無事終わったので資料を公開します。
http://www.scribd.com/doc/12725795/DD-Mashup-Framework-Durango

2008/11/15

AIRアプリから関連付けられたアプリケーションでファイルを開く

Adobe AIRでちょっとおかしなファイラを作ろうと思ったんだけど、大体のOSでは可能な「ファイルをダブルクリックしたら関連付けられたアプリケーションで開く」という機能を作ろうとしたところで行き詰まった。
AIRではJavaで提供されてるようなRuntime.exec()やProcessBuilderチックなAPIがないんだった・・・。

ここであきらめるのも悔しいのでAIRで「ファイルをダブルクリックしたら関連付けられたアプリケーションで開く」という機能を無理矢理実装してみた。
なお、AIRだけじゃ実現するのは無理なので、実際にファイルを開く部分はJavaプログラムにヘルプをお願いしている。
(AIRとJavaの2つを使わないと実現できていない時点であまりイケてない)

ちなみに、一から作るのは面倒なので下記記事のサンプルプログラムを拡張して動作確認を行った。

ディレクトリ検索アプリケーションの構築
http://www.adobe.com/jp/devnet/air/flex/quickstart/directory_search.html

まずは記事で紹介されているFileSearch.zipをダウンロードして展開する。
そして、展開したフォルダにあるFileSearchFlex.mxmlに下記のようにコードを追加する。
ここではファイル一覧が表示されるDataGridの行をダブルクリックした際のハンドラを定義しており、Javaプログラムへ選択されたファイルのパスを送っている。
    (省略)  
private var socket:XMLSocket;

private function onDoubleClick(event:MouseEvent):void {
if(!socket) {
socket = new XMLSocket();
}

if(!socket.connected) {
socket.connect('localhost', 5050);
}

socket.send(event.target.data.path + "\n");
}
(省略)
<mx:DataGrid id="resultsGrid" doubleClickEnabled="true" doubleClick="onDoubleClick(event)"
(省略)


次に以下のようなJavaプログラムを用意する。
やりたいのはこれ。
Java 6から追加になったDesktopクラスのopenメソッドを利用すること。
File file = new File(path);
Desktop.getDesktop().open(file);

これがFileSearchFlex側から送られてきたパスのファイルをOS側で関連付けられたアプリケーションを使用して開くという働きをする。

FileOpener.java
package net.air_life.sample;

import java.awt.Desktop;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;

public class FileOpener {
public static final int DEFAULT_PORT = 5050;
private static FileOpener server;

ServerSocket socket;
Socket incoming;
BufferedReader readerIn;
PrintStream printOut;

public static void main(String[] args) {
int port = DEFAULT_PORT;

try {
port = Integer.parseInt(args[0]);
} catch (ArrayIndexOutOfBoundsException e) {
}

try {
server = new FileOpener(port);
} catch (IOException e) {
e.printStackTrace();
} finally {
if(server.socket != null) {
try {server.socket.close();} catch (IOException e) {}
}
}
}

private FileOpener(int port) throws IOException {
System.out.println(">> Starting FileOpener Server");
socket = new ServerSocket(port);

while (true) {
try {
incoming = socket.accept();
readerIn = new BufferedReader(new InputStreamReader(incoming.getInputStream(), "UTF-8"));
printOut = new PrintStream(incoming.getOutputStream());

String str = readerIn.readLine();

if(str != null && str.trim().length() > 0) {
openFile(str);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if(printOut != null) {
printOut.close();
}
if(readerIn != null) {
try {readerIn.close();} catch (IOException e) {}
}
if(incoming != null && !incoming.isClosed()) {
try {incoming.close();} catch (IOException e) {}
}
}
}
}

private void openFile(String path) throws IOException {
File file = new File(path);
if(file.exists() && file.isFile()) {
Desktop.getDesktop().open(file);
}
}
}

実行する場合は、
1. FileOpenerのJavaプログラム
2. FileSearchFlexのAIRプログラム
という順で実行する。

これでFileOpenerを実行している間はFileSearchFlexから「選択したファイルをダブルクリックしたら関連付けられたアプリケーションで開く」ということができる。

2008/11/13

Flex向けのテストツールFluintが紹介されてた

前回に続いて今回もInfoQの記事から。

FlexUnitAS3Unitじゃなくて、Fluint(旧dpUInt)を使ってたので、こういった記事で知名度アップするとうれしいですね。

Flex向けのユニットテストツールFluint - 総合テストもカバー
http://www.infoq.com/jp/news/2008/11/fluint-unit-test-for-flex

名前は「Fluint」であって、「Flunit」ではないのでご注意を。

2008/11/12

Prana Framework - IoC Container for AS3

Springを基に作られたActionScript 3で使えるIoCコンテナを提供するPranaフレームワークの邦訳記事がInfoQで公開されてました。
CairngormやPureMVCと統合されてるようです。

ActionScript 3 を使ったアプリケーション開発をサポートする Prana フレームワーク
http://www.infoq.com/jp/news/2008/11/prana-framework-actionscript-3

2008/11/05

リグレト - 「ヘコみ」と「なぐさめ」を共有して楽しむサービス

リグレト
http://rigureto.jp/

Mac People 12月号に掲載されてたので試してみた。
かわいい感じのサービスやの。
自分の「ヘコみ」にパーマリンクが欲しいな。
そうしたら、直接「なぐさめ」を書いてもらえるのに。

ペコペコ音が鳴るから会社では気をつけて開いてね。

2008/11/04

Mac Fan 12月号 - 2008

本屋で立ち読みしてたら、じっくり読みたくなってついつい買ってしまった。
「第2特集 OS進化論」と「Apple's Standards」の記事が良かった。

まず「第2特集 OS進化論」だが、この記事ではMac OSの変遷が語られていたのだが、
初代Mac(1984)以前にアップルから販売されていたLisa(1983)で、
既にメニューが現在の形になり、他にもGUIのベースは完成していたことに驚いた。
現在のWindows, Linuxを含むOSへの影響はホント大きかったんだねぇ。

次に「Apple's Standards」では、スティーブ・ジョブスの製品に対する強いこだわりが書かれている。
ジョブスはアップルにとって製品は「プロダクトではなくアート」であると考え、外観の美しさだけでなく、内側にも外観に負けない美しさを持たせようという美学を持っている。
「うちの製品の背面は他の製品の正面よりも美しい」とまで言いっているほど。

そんな厳しい美学を持ったジョブスがOKを出したMacBook、これから使い倒してやろう。
新登場アルミボディのMacBook欲しい・・・。

Adobe xml news aggregator - Adobe Feeds

ブログのサイドメニューにも表示させてもらってるAdobe Feeds
Flex, AIRに関係ない情報も流れるけど、RSSリーダーに登録して重宝してます。
http://feeds.adobe.com/index.cfm?query=byLanguage&languageId=6&languageName=Japanese

上部メニューから「Submit Feed」を選択して、サイト名やFeed URLを登録するとAdobe Feedsに掲載してくれますよ。

Adobe MAX Japan 2009参加登録始まってた

いつのまにやらAdobe MAX Japan 2009の参加登録が始まっていたよ。
11月20日(木)までは早期登録割引で1日1000円安くなるみたい。
2日間だから2000円安。

手続きはWebから

1.セッション選択
2.個人情報入力
3.登録情報確認
4.登録完了

その後、事務局の口座へ参加費用を振込で完了。
そしたら、後はお台場行くだけ!

イベントは2009年1月29日、30日開催。