blog.Ring.idv.tw

2007 December

MooTools - the compact javascript framework

MooTools - the compact javascript framework

MooTools is a compact, modular, Object-Oriented JavaScript framework
 designed for the intermediate to advanced JavaScript developer. 
It allows you to write powerful, flexible, and cross-browser code with 
its elegant, well documented, and coherent API.

想要在網頁上做些很炫的應用卻不仰賴Flash或Silverlight嗎?MooTools值得參考一下~

從它的「Demo」你就可以發現很多的效果應用~ ^^

2007-12-16 12:20:06 | Add Comment

Adobe AIR Beta 3 釋出~

Adobe AIR Beta 3 釋出了(2007/12/12)~ 離正式版應該相去不遠了~ 有興趣的人可以到「Adobe AIR Beta 3 Installer」去下載,如果你想開發Adobe AIR的程式~ 請到Adobe AIR SDK下載SDK~

相關文章:

Adobe Integrated Runtime (AIR)

Introducing Adobe AIR for Ajax developers

Adobe AIR update beta 3 for Flash CS3 Professional

2007-12-14 11:02:10 | Add Comment

LoadVars vs. Flash Remoting

從標題「LoadVars vs. Flash Remoting」來看,我想這絕對夠直覺本文想要表達的是什麼~沒錯~ Flash可以藉由著許多種方式和後端程式溝通,尤其是採用loadVariables、LoadVars這種純文字(Plain Text)方式的傳輸最便利使用,然而它真的是純文字嗎?而Flash Remoting真的就是用binary format來傳輸嗎?

本文將藉由著Ethereal封包捕捉工具來協助我們探討底層的傳輸格式~

LoadVars - Plain Text

我們寫一個簡單的小範例來做測試~

Flash ActionScript

var data_lv:LoadVars = new LoadVars();
data_lv.name = "Flash";
data_lv.sendAndLoad("http://localhost/LoadVars.php",data_lv,"POST");
data_lv.onLoad = function(success)
{
	if(success)
	{
		trace("Loaded!");
		trace(this.value);
	}else{
		trace("Failed!");
	}
}

PHP (LoadVars.php)

<?php
	echo "&value=Hello! " . $_POST['name'];
?>

Ethereal捕捉請求封包(Plain Text)

Ethereal捕捉回應封包(Plain Text)

從上述所捕捉的封包很明確的,在請求時送出「name=Flash」,而在接收時則為「&value=Hello! Flash」,兩者的確都是採用純文字的方式來傳輸~

Flash Remoting - AMF3

Flash ActionScript

var myService = new NetConnection()
myService.connect("http://localhost/amfphp/gateway.php");
var responder = new Responder(onResult, onFault);
myService.call("Hello.sayHello", responder,"Java");
function onResult(result)
{
	trace(result);
}
function onFault(f:Event )
{
	trace("There was a problem: " + f.description);
}
stop();

PHP (Hello.php)

<?php
class Hello
{
	function sayHello($name)
	{
		return "Hello! $name";
	}
}
?>

Ethereal捕捉請求封包(AMF)

Ethereal捕捉回應封包(AMF)

(反白區就是請求與回應的位元組)

所以從上述所捕捉的封包來看~ Flash Remoting的確是採用binary format來傳輸,然而這只是一個簡單的小範例,所以尚無法將Remoting的優點發揮出來~

而筆者比較感興趣的地方就在於請求封包中的前二個位元組分別為「0x00、0x03」,其實這就是代表著此傳輸的AMF版本為AMF3,而緊接著一連串的位元組尚需要時間去做更深入的剖析,筆者有時間再為大家來分享~

2007-12-11 18:06:40 | Comments (1)

Hello AMF3 - 初次見面

還在用純文字(Plain Text)的方式傳送大量資料嗎?或許可以嘗試看看Flash Remoting~

(截圖來源:Using Flash Remoting for Flash MX 2004 ActionScript 2.0)

它採用了AMF(Action Message Format) binary format來當做溝通的橋樑,所以它可以支援以壓縮的方式來傳輸,而且在可供傳輸的資料型態還包含了ByteArray等多種型態(參考AMF3 Specification),另外AMF也隨著ActionScript 3.0的問世從AMF0直接跳到AMF3,然而最重要的是AMFPHP也一併支援AMF3了,這裡提供一個小範例供測試使用~

範例下載

基本上將你的AMF安裝好後,將範例中的Hello.php貼到你的「services/」目錄夾即可,最後開啟remoting.fla發佈後即可看到「Hello! AMF

參考資源:

Flash Remoting with AS3

Using Flash Remoting for Flash MX 2004 ActionScript 2.0

2007-12-11 17:19:06 | Add Comment

BlogAD - 真有那麼神奇嗎?

昨天從Yahoo新聞看到「六年級創業 部落格賺廣告」這篇報導,好奇心促使我對它產生了一點興趣,一方面是我的指導教授本身就是研究網路廣告,另一方面如果真能帶給我一點補貼的話那倒也不無小補(請體諒格主我UPS+伺服器24小時開機),其實這樣的機制早在Google AdSense運作時就有點興趣,只是本身不是研究網路廣告所以也就一直沒有跨進來嘗試看看,只能說機緣巧合一切就這麼發生了,它倒底真有如此神奇嗎?呵~ 就留待時間驗證嚕~

2007-12-11 00:34:22 | Add Comment

Next Posts~:::~Previous Posts
Copyright (C) Ching-Shen Chen. All rights reserved.

::: 搜尋 :::

::: 分類 :::

::: 最新文章 :::

::: 最新回應 :::

::: 訂閱 :::

Atom feed
Atom Comment