apollo本

Apollo本とMashUp本 (Unknown Quality)

Apollo:Books:Apollo for Adobe Flex Developers Pocket Guide - Adobe Labs

僕もダウンロードした。明日か休日読もう。

ActionScript3.0を覚える

AS関連を色々あさってたら、

subtech - Pink Blossom Diary ( ̄―+ ̄) - AS3

あとブクマコメントを見るに始め方が解らないつってるけど、ほんと入門書としては素晴らしすぎる prog_actionscript30.pdf, flex2_devguide.pdf があるわけで(きちんとしたドキュメントが無償配布、というのも adobe がオフィシャル提供する大きなメリットの一つですね)、それだけ読めば普通のプログラマならすんなり入れるわけで、誰かがコマンドラインでの開発方法を sdk ダウンロードするところからまとめればいいんじゃないかな、と思ったけど別に書かなくてもいいんじゃね、と思った。

500p以上あって、内容も充実してるっぽいので読み始めた。

1章は言語的にどういうもんなのかを説明してるんだけど、読み終えて感じたのは、AS3ってjavaとjavascriptを混ぜ混ぜした感じだなぁって思った。

で、BioActionScriptライブラリ作るメリットがわからんとか書いたけど、あってもいいのかな、むしろあったほうが効率あがるかなと思った。どういった部分にフォーカスするかだけれども。

となると、Perlmolっぽいものがあってもいいかナァ。特にparser関連に特化したライブラリが欲しい。インタラクティブに合成したい化合物をエディットするとそれにともなって予測値が算出されるといいかも。で更に、履歴をケミカルスペースに撒いたりとかするといいんじゃないかな。

Flex2とCatalystをJSONでつないでみる

Creating a Flex application using the TurboGears frameworkを参考に。

JSONでやり取りしてるからflex2の部分はそのままでフレームワーク部分を変えるだけでいい。MVCフレームワークに小さいMVCフレームワークが乗っているという風にも取れるけど、かなり疎なので、自前でwebapiサービスを提供しつつ、サービスを受けるっていう感覚に近いかもしれん。

イメージにするとこんな感じ。 ファイルはココに置いておいた。

flex2_Catalyst

CatalystのviewはJSON。で、Flex2は受けとったJSONをmodelにしてASでロジック書いて、MXMLでUIのデザインをやればいい。 そのためすっきりとした感じはする。後は、チュートリアルみてたらFlex Builder2が欲しくなった。UIデザインするにはGUIのツールがやっぱ楽でいいと思う。

flex2に関してはCreating a Flex application using the TurboGears frameworkのオンラインチュートリアルを眺めてください。corelibを使うとJSONのシリアライズ/デシリアライズをやってくれるので必要。c:flex2extlibというフォルダをつくって放り込んでおいた。

コンパイルは

mxmlc -compiler.include-libraries c:\flex2\extlib\corelib.swc \
-- address.mxml

とやるとswfができるので、catalystプロジェクトの root/staticに放り込む。

flex2はこれで終了。続いて、というかメインのCatalystをいじるわけだけど、こっちも大して面倒なところはない。

TGはhttp://localhost:3000/からアドレスリストをJSONで受け取って(R)、http://localhost:3000/save,http://localhost:3000/deleteでそれぞれCU,Dという実装だったので、Catalystもこれに併せて、Catalyst::View::JSONとDBIC::Schema::Loaderを使ってつくることにした。

まず

catalyst.pl MyApp

でプロジェクトをつくって

script\myapp_create.pl view JSON JSON

でJSON用のviewを作成。モデルはSQLiteで。

まずSQLite

sqlite3 myapp.db < myapp.sql

ちなみにsqlはこれ。

CREATE TABLE address (
  id INTEGER PRIMARY KEY,
  full_name TEXT,
  phone TEXT
);

続いて、DBIC::Schema::Loader

いつも、明示的に書いてるので、触るのはほとんど初めてなんだけど、スキーマクラスって自分で書かないといけないんだろうか? こんなの。

use strict;
use base qw/DBIx::Class::Schema::Loader/

__PACKAGE__->loader_options
  (
   relationships => 1
  );

ヘルパーあんのかな?あとで調べる。こういう細かい部分はTGのSQLObjectはあんま考えないでいいので楽。データもcatwalkからブラウザでちょこちょこ入れられるし。

Root.pm,save.pm,delete.pm

Root.pmはアクセスするとアドレスリストのJSONを返す。

sub default : Private {
  my ( $self, $c ) = @_;

  my @result = $c->model('DBIC::Address')->search();
  $c->stash->{addresses} =
    [
     map {{fullName => $_->full_name, phone => $_->phone, id => $_->id}} @result
    ];
  $c->forward('MyApp::View::JSON');
}

save,deleteは普通にDBIC操作なので省略。

やるべきことをやったら動かしてみる。、

swf

こんな感じでflashが、、、なんかきもちいい。

あと今回手を動かしていく過程で以下の本がマイウィッシュリストに投入された。

ProductName Actionscript 3.0 Cookbook
Joey Lott
Oreilly & Associates Inc / 3034円 ( 2006-10 )


この時期頻発する送別会を2,3見送ればこの中の2冊は確実にゲットできるのになぁとちょこっと思ったヨ。っていうかかなり本気で悩む。

とりあえずTurboGearsの本は欲しいなぁ。買いかなぁ、見送りかなぁ?もし読んだヒトがいたらアドバイスなどください。

BioFlashってのがあるのね

ほう、こんなプロジェクトがあったとは。

BioFlash.org - Flash, Flex and ActionScript for biology and bioinformatics

BioFlash.org は Flash, Flex, ActionScript を利用することによりインタラクティブなバイオインフォマティクスソフトウェア、ウェブサイトの構築を推進するプロジェクトです。 現在バイオ関連データを ActionScript オブジェクトとして扱うための BioActionScript ライブラリを開発中です。

なんか面白そうなツールがあるので後でソース読もう。

このプロジェクトはRIAを目指すのかなと思ったのだけど、ASでBioActionScript ライブラリを創るメリットってのがイマイチ見えないナァ。biorubyとかbiopython,bioperlの既存のライブラリを活用する以上の何かが得られるんだろうか?ロジック書くのが楽になるのかな。

flex2でのエラーがわからん

週末はWindows上でflex2をTurbogearsでJSONを使ってDRUDさせるのに夢中になってた。で、なかなか面白かったので、じゃぁフレームワークをCatalystに変えてFC6上で動かしたろかと、ごそごそしてたら思わぬところで躓いた。swfがWindowsXPだとコンパイルできんのにFC6だとエラー吐くんですけど。

mxmlc -compiler.external-library-path /usr/local/flex2/extlib -- address.mxml
設定ファイル "/usr/local/flex2/frameworks/flex-config.xml" をロードしています \
/usr/local/flex2/bin/mxmlc: line 34:  5279 セグメンテーション違反です \
java $VMARGS -jar "$FLEX_HOME/lib/mxmlc.jar" +flexlib="$FLEX_HOME/frameworks" $*

むー。メモリが足らんのだろうか?

flex2でswfなど作ってみたり

最近、イントラで使っているシステムのUIに関して考えさせられるような事が立て続けに起きて、創薬系のシステムはAjaxとかのwebだけの枠組み以上のものがやっぱ必要なのかナァと感じている。

で、いつものようにリーダーチェックしてたら、

Creating a Flex application using the TurboGears frameworkなんつーものをみっけた。

flex2とturbogearsで簡単な住所録を作るっていうチュートリアルで、JSON使ったCRUDの過程を追えておもしろい。こんな感じでCatalystとFlexを連携させても面白いんじゃなかろうかと思ったし、これだとflashなので表現に幅がでて色々できて楽しいかもんと。

早速適当に流し読みして放ってあった、WEB+DB PRESS Vol.37のflex2の章なんかを見ながらflex2の勉強などはじめてみた。

ProductName WEB+DB PRESS Vol.37

技術評論社 / ?円 ( 2007-02-23 )


以下のリンクも参考にした。

週末集中してなんか作ってみよう。