我的雲端生活網 - Life+

Monday, July 30, 2007

[微程式-技術研討會]如何使用 flash player 開發應用程式

如何使用 網頁動畫 flash player 來開發應用程式 :

決定系統配置:

策略1: Microsoft- windows+ IIS +ASP+ (access 或 ms-sql server)
策略2. L.A.M.P.: Linux+ Apache + mysql + php

當然以上只是典型搭配法, OS, http-SERVER, Programming Language,DB
皆可視實際狀況抽換之.

再到網上搜尋 adobe macromedia flash開發環境:
Ex: 上軟體王 (http://www.softking.com.tw) ,打入以上字眼搜尋即可,
下載試用版來安裝; (含flash player)

***************************************************
執行架構簡述:

1. ActionScript:--
flash 自創的一套程式語言, 可用以控制動畫行為, 並與外部網頁連接通訊;
可用 javascript call flash- public- methods, 也可從 actionScript call javascript functions. 以下將舉例示範.

2. 對XML, server side-Script, GET/POST 的支援:-- (*本次的重點*)
這是最重要的一項應用, 傳統的網頁程式流程如下:
*****
Request -> http-SERVER -> Asp,Php…(讀寫db) -> (配合XSLT, 或html 輸出)
*****

由於 flash actionScript 可讀寫 XML, 並代替asp,php輸出 流程變成:
*****
Request(click flash動畫UI ) -> actionScript-calls (GET/POST) -> http-SERVER -> Asp,Php(讀寫db) -> 輸出XML -> flash 取回xml,並反映於動畫UI 上
*****

它實現了一種 全UI ,全動畫, no HTML的網站;
以下將舉例.

3. 支援 TCP/IP socket port 通訊 --
以下將示範一個以 flash 當client-ui, 實現一個免安裝,無reload 的聊天室.

*****************************************************
macromedia flash幾個優勢:
A 跨平台:--
flash player 播放器可 plug-in 在 IE, firefox 等網頁browser 之上,
並且有發行適用於ms-windows, Linux 等os 的安裝版本,
可至官網下載: (http://www.adobe.com/)

B 安裝性/安全性/介面性:
像是 activeX- OCX元件, 但flash跨平台, 免安裝, 不會引發 browser 安全性
的限制及詢問;
又像 java applet, 但java 作動畫麻煩, 而flash 本身就是動畫軟體;

C. 介面性/互動性:
介面看起來就像傳統的desktop-AP移到了browser上; 無換頁之感;
配合上flash 先天的動畫本領, 和user 的互動會更加良好;


***************************************************************
p.s: 所用到的 actionScript 指令參考:

a. 讀取/使用 xml data:
var RecordSet =new XML();
RecordSet.onLoad=LoadOK;
RecordSet.load( theAsp);
picPath= RecordSet.firstChild.childNodes[i].childNodes[9].firstChild.nodeValue


b. 送出get/post, 並取回結果:
var registerSend=new LoadVars();
registerSend.Email=myEmail.text;
registerSend.sendAndLoad("register.asp",registerLoad,"POST");
var registerLoad =new LoadVars();
registerLoad.onLoad=LoadOK;


c. flash Socket 通訊:
var myXMLSocket = new XMLSocket();
myXMLSocket.connect(null, 7890);
myXMLSocket.onConnect=myConnect;
myXMLSocket.onClose=myClose;
myXMLSocket.onXML=myOnData;
myXMLSocket.send(talkText.text + chr(0));


d. 網頁互動:
getURL("javascript: myInit();");
document.myFlash.TGotoFrame("_root",myFrame);
document.myFlash.play();

No comments:

Blog Archive