Archive for 6月, 2011

AIRの2.7がBETA版になって、そのうち公開されることでしょう。
詳細はこちらのブログを参考にしました。

そこで、

HTML ページ読み込み時のコントロール
HTMLLoader クラスをに読み込まれたコンテンツが (ユーザーのクリック等により) 別の URL をリクエストした際に、読み込み前と読み込み後に発行されるイベントを追加。これにより、読み込みのキャンセルも可能に
とのこと。
ちょうど、昨日あたりにそのことをしたくて、こんなコードを書きながら試行錯誤中でした。

var atag_list:Object = htmlBody.htmlLoader.window.document.getElementsByTagName('a');
var size:Number = atag_list.length as Number;

for(var l:int = 0; l<size; l++){
	var node:Object = atag_list.item(l);
	var attr:Object = node.getAttributeNode("href");
	if(attr){
		var href:String = attr.value;
		if(href.substr(0,1) != "#"){
			//  外部リンクはすべて置き換える
			node.setAttribute("href","#");

			var idattr:Object = node.getAttributeNode("id");
			var id:String;
			if(idattr){
				id = idattr.value;
			}
			else{
				id = UIDUtil.createUID();
				node.setAttribute("id",id);
			}
			this.href_map[id] = href;

			node.addEventListener("click",
				function():void{
					html_href_click(id);
				}
				,false);
		}
	}
}

ちなみに、クリックすると確認画面が表示されてそこで、OKをすればnavigateToURLで別Windowで実際に遷移させる。
それなりに、うまく動いている雰囲気はある。

でも、aタグじゃなくて他のタグのonclickとか、別のJavaScriptとかで他のURLに飛ぶことも禁止したいなーとおもいつつ、
どうやってキャンセルすればいいのだと・・・
検索していたら、AIR2.7のリリース情報がマッチ。
どうやら、待てばいいらしい。

あとは、すべての外部リソース(画像とか・・・)を読まないようにするためにどうすればいいのか、

HTMLLoader.placeLoadStringContentInApplicationSandbox
が、内部(ローカル)のリソースにアクセスさせない設定だとしたら、
その逆の外部(インターネット)のリソースに一切アクセスさせたくないのだが・・・・

探しているのだが見つからず、そして、わからず・・・・

EclipseといってもEclipse RCPのようなRIAアプリケーションを作る人に関係がしてくるのだが、
http://wiki.eclipse.org/Eclipse4を見ると、

気になった点が2つ。

1) CSS Styling
以前(いつだっただろうか?Ver3.0くらいだったかな?忘れた・・・)、
私がEclipse RCPを使ってサービスを作って一番はまったのが、
ウィンドウの背景色を変えるということだった。そして、挫折してしまった(あきらめたという意味です)。
そして、もっとも機能別で言えば工数をつかったのがここなのです・・・
が、結果、まったく成果なしのまま・・・
どこで変更すればいいのかわからない。

Windowsのテーマを変えるとそれと連動してしまう・・・
ふつう、これでいいのかもしれませんが・・・・
まあ、とりあえずはそれであきらめてもらいました。
でも、HTMLのような感じをイメージしていたらしく、サボっていたとおもったでしょう。
これだけで1週間程度は使いましたから。

反対にウィンドウのドラッグ&ドロップ、ウィンドウのドッキングとかが1日もかからず、
できるのを見て多少混乱していたようです。
だって何もしないとできてしまうんですから・・・
このあたりが、強力なフレームワークを使ってしまうと期限が読めないのでつらいです

2 ) Workbenchが Application platformにない。
当時の図があるわけでもないし、こちらも記憶が定かではないのですが、
Workbenchを使わない = JFace になってしまったような。
JFaceだと、あまりにもいろいろと作り込まなければいけないし、Workbenchを使うと今度は利用者が自由にできすぎるし・・・
と悩んだあげく、結局、Workbench上にアプリケーションを作り込んでしまいました。

んー、ここまでできてくると、Eclipse RCPを離れてAIRにきたわけですが、
ちょっと、Eclipse RCPにもまた、浮気心が出てしまいます。
Eclipse にすれば、内部でnettyを動かすのも、JavaMailもいろいろ楽だし・・・・
OSGiで動いているわけだから、Moduleとして外部からライブラリをロードすることも楽だし・・・

UIの完成度が高いAIR/Flexをとるか、プロセスの作り込みが楽なEclipse RCP/Javaをとるか・・・・
でも、1 ) のようにUIの苦しみは私にとって出口が見えない問題になるので・・・・
やっぱり、基本はAIRかな。でも、Creativeな人向けのツールはAIRではやっぱり無理でしょう。
そうなると、Eclipseになるのかもしれませんが、もはや、その需要は私のところにはこないでしょうから。
(求められる完成度も高すぎて、とても通常ペイするとも思えませんし。)

でも、Flexしかり、HTML/JQueryしかり、私は使ったことがないのですがちょっと見た限りではSilverlightもしかり、そして、Eclipseもしかり、
デザイン&UI部分のプログラミングはかなり似通ってきているなーと感じるのは私だけでしょうか・・・・

わたくしごとながら、4歳の子供がいます。
なぜ、そのことが関係があるかと言えば、その子が大人になることはいやでも国際化ということがもっと現実的に、
そして、必須事項になってくるだろうと思うことです。

そのころから、私なりに国際化ってなんなんだろう。と思い始めました。
もちろん、海外にいって、英語でばりばり働くことが国際化という人もいるかもしれませんが、
私は、高校卒業時の英語の偏差値なんて、ぎりぎり40台でしたし、
まあ、英語を武器にできるとも思いませんし、武器にしたいとも思いません。
(英語にかかわらず、外国語全般です。)

それに、私の子供が大人になることには、
私達の世代が「大卒」が武器にならないように、別に「英語」が武器になるとも思えません。
かといって、「大卒」でないことが思ったよりも、ことITエンジニアにとって不利でもないと思います。

もちろん、私の親は「大卒」は必須だといって、そのための支援をしてくれたことは、
非常にうれしいですし、役に立つことは事実ですが、もう差別化の要素となりえるとは思えません。

まあ、それで、自分なりのグローバル化という意味でオープンソースとして世の中に出すことにしたのですが、
そこで、これがグローバル化ということの1つかーということを2つほど実感しました。

1つは、マイナス面要素。
http://www.elance.com/j/adobe-air-development/24478492/
というサイトで私のairxmailというライブラリをメールクライアントを作って!という発注サイトがありました。
(まあ、ちょっと教えてもらったのですが・・・)
そこで、入札の金額が・・
Hourly Rate: Avg $17 | High $30 | Low $10
となっています。
実際、入札を勝ち取ったのは中国の会社(方?)で、$15/h だそうです。
ITにおけるグローバル化というのは、海の向こうに行くことではなく、
海の向こうから来るということです。
しかも、ネットワーク上だけで・・・(つまり、移動費は限りなくゼロということです。)

理屈ではわかりますが・・・、そこに自分で作った物の一部が関係していると、
なんか、あー現実なんだなーとより実感します。

それにそもそも、会社の存在がわからない会社や人とのつきあいをどうすればいいのか?ということが出てくるわけです。
そのための、仕組みの1つが上のようなサイトなのかもしれませんが、
やはり、今までのようなお客と顔を合わせての仕事の仕方ではいけなくなってきているということでしょう。

もう一つは、プログラムが動かないから見てとか、さらにはコラボしましょうという話がちょこちょこと海外から来ること。
話の信憑性も、内容のレベルもいろいろ差があるのですが、
それでも、話が来るようになったということです。
(これはちょっと新鮮です。)

まあ、私も今は趣味の延長でやっているので、できる限りお約束はできないと言った上で協力はするのですが、
コラボと言われても、たいしたことができないので、
それなりにあまりお役にたてませんよ・・・と言った上でアドバイスすることはあるのですが・・・

そこで思ったのは、私としては、
何らかの軸を作り、そこを軸を中心に展開するのがいいことなのかなと。
話や言葉の意味がよく見えなくても、話の前提に私の作った物が絡んでいるわけですから、
それなりに内容はわかるし、向こうからやってくるので、こちらからどうやったら相手にリーチできるかということを考えなくていいわけです。

そうじゃないと、文化も言語も弱みがあるこちらとしては、先を読むことはおろか、内容の吟味さえできないなと。
それに、人件費でも太刀打ちできないわけですから・・・・

まあ、そんなこんなで多少は私なりの「グローバル化」というものが見えてきたような気がしました。
個人的には、ロゼッタストーンでもやりたいのですが・・・・お金が・・・・

ソフトウェア&ライブラリ



ライブラリ
airxmail(en)
AIR版メール送受信ライブラリ
airxzip
AIR版ZIP圧縮・解凍ライブラリ
カレンダー
2011年6月
« 5月   7月 »
 12345
6789101112
13141516171819
20212223242526
27282930  

カスタム検索
RSS
Add to Google
カテゴリ
にほんブログ村 IT技術ブログへ