面向SLA研究的富網際網路應用/概述
根據維基百科條目"富網際網路應用",
Rich Internet Applications (RIA) are a cross between web applications and traditional desktop applications, transfering some of the processing to the client end.
Macromedia,這家軟體公司開發了包括Flash和Dreamweaver在內的多個軟體,被認為是在2002年的一份白皮書中引入了這個術語。
RIA代表了一組技術,SLA研究人員可以使用這些技術來建立線上環境。RIA華夏公益教科書的這一部分將介紹一組特定技術,這些技術可用於研究個體、配對和群體第二語言習得。
Flash MX 2004(以下簡稱"Flash")是一個創作程式,允許使用者建立應用程式(在Flash文獻中通常被稱為“電影”),這些應用程式具有各種使用者介面(UI),包括靜態和動畫圖形以及音訊元素。它具有繪圖工具(例如線條、方框、橢圓形、陰影、畫筆)、一個動畫時間線和一門程式語言,ActionScript(版本2.0),它基於Javascript 1.5版本的提議標準。使用Flash創作的應用程式匯出為Shockwave檔案(副檔名為.swf),然後可以透過Flash Player外掛或獨立播放器執行。
GUI資源包括…
- 文字欄位(純文字和HTML)
- 按鈕
- 影片剪輯
- 音訊和影片顯示和捕獲物件
- 自定義滑鼠指標
- 下拉選單
文字聊天:可以使用多行文字欄位(用於顯示對話記錄)、單行文字欄位(用於輸入資訊)和按鈕(用於傳送在單行文字欄位中輸入的新資訊)輕鬆地創作協作應用程式(參見Flash 通訊伺服器的討論)。
全身反應(TPR)任務:單人活動可以使用一系列所謂的“拖放”影片剪輯作為響應文字和/或音訊提示的要操作的專案。當每個專案移動到正確的位置時,會提供反饋。例如,學習者可能會聽到“將桌子放在椅子左邊”。如果將桌子放在椅子左邊以外的任何地方,應用程式會通知使用者桌子放錯了地方。
非同步音訊/影片電子郵件:Flash的音訊和/或影片錄製功能使學習者能夠儲存自己的語音,以便其他人(即合作伙伴或研究人員)以後收聽和觀看。
Flash 通訊伺服器 1.5(以下簡稱“FlashComm”)提供執行在Flash Player外掛中的連線應用程式之間的即時音訊、影片和資料交換,這些應用程式來自Macromedia。FlashComm伺服器還可以與其他FlashComm或Web伺服器(例如,Apache伺服器)互動,以透過指令碼語言(例如PHP、Perl或ColdFusion)訪問動態生成的資料。這種互動通常用於檢索、新增或更新資料庫(例如MySQL或PostgreSQL)中的資訊。儘管這種指令碼和資料庫互動也可以用於執行在Flash Player中的SWF檔案,但是當每個互動的結果應該更新所有客戶端或需要額外的安全層時,透過FlashComm路由互動可能是更好的選擇。
作為“LAMP”通用縮略語(前三個字母代表“Linux”、“Apache”和“MySQL”)的一種可能的解讀,PHP是一種指令碼語言,具有各種功能,例如文字搜尋、資料庫連線、檔案管理和HTML表單處理(透過CGI)。總的來說,LAMP軟體套件很受歡迎,因為它對任何希望設定自己的Web託管的人都是免費的,並且它允許Web託管公司提供非常便宜的(低於每月6美元)Web託管服務。正如維基百科中關於LAMP縮略語的條目中所述,“維基百科,自由的百科全書,執行的軟體可以被描述為LAMP應用程式。維基百科的MediaWiki軟體主要在Linux下開發,使用Apache HTTP伺服器,其內容儲存在MySQL資料庫中,程式邏輯用PHP實現。”
AMFPHP(可在http://www.amfphp.org免費獲得)是使用PHP構建的一項特定技術,對於支援RIA的研究特別有用。這個指令碼集合解碼和編碼Macromedia的Action Message Format(AMF),這是一種資料格式,它允許交換ActionScript中定義的幾乎所有型別的資料物件,例如數字和字串變數以及自定義物件。與可擴充套件標記語言(XML)相比,XML也被用於交換各種資料型別,AMF的設計使得資訊能夠快速傳輸。這種格式的一個直接好處是可以節省時間,因為不需要將應用程式資料程式設計轉換為XML進行傳輸,也不需要將伺服器上的XML轉換為應用程式資料結構。
使用 AMF 實現的最重要原因之一是,除了在 Macromedia 的專有 ColdFusion 指令碼語言中對該格式的原生支援外,還為免費指令碼語言 Perl 和 Python(LAMP 首字母縮略詞中“P”的另外兩種可能讀法)提供了與 AMF 相容的指令碼庫。這幾乎可以保證,部署 RIA 的特定模型可以更改(例如,使用 Perl 和 PostgreSQL 代替 PHP 和 MySQL),而 Flash 和/或 FlashComm 程式碼只需要做很少的修改。
一個免費的(非商業用途)資料庫伺服器,MySQL(或任何其他資料庫)主要負責使 Internet 應用程式變得豐富。資料庫提供的長期、集中式和快速可搜尋的儲存使應用程式能夠最小化(甚至完全消除)每次載入時必須包含在其自身中的資料。例如,在 Flash Player 中載入並執行後,應用程式僅可以請求在使用者與系統互動的給定時間點需要的那些資料集。免費的基於 Web 的實用程式應用程式,如 PhpMyAdmin,與大多數支援指令碼和資料庫的託管服務一起安裝,使大多數中等技能的使用者可以輕鬆地修改、歸檔和移動資料庫條目,從而確保資料的完整性和安全性。
由於 PHP 可以透過多種連線方法(例如 AMFPHP)與 Flash Player 應用程式和 FlashComm 輕鬆通訊,因此這些連線允許 PHP 返回從資料庫(例如 MySQL)檢索的資訊。此功能可用於各種 SLA 研究目的,例如...
- 向用戶展示預先準備好的文字
- 記錄使用者行為(例如,測驗結果或聊天內容)
- 跟蹤使用者隨時間的行為
- 根據共同的興趣、語言、技能水平等匹配使用者
- 華夏公益教科書: PHP 程式設計
- 華夏公益教科書: PHP 和 MySQL 程式設計
- 華夏公益教科書: 使用 PHPEclipse 安裝 Apache、MySQL 和 PHP
- http://www.php.org - PHP 主頁
- https://mysql.com.tw/ - MySQL 主頁
- ISBN 0-596-00504-0 - 程式設計 Flash 通訊伺服器,作者 Lesser 等人(附帶網站: http://www.flash-communications.net)
- http://www.macromedia.com/software/flashcom/ - Macromedia 的 FlashComm 主頁;提供 FlashComm 的免費開發者版本和文件(HTML 和 Adobe Acrobat 格式)
- http://www.macromedia.com/software/flash/ - Macromedia 的 Flash MX 2004 主頁;提供 Flash MX 2004 的試用版(30 天)和文件(HTML 和 Adobe Acrobat 格式)
- http://www.sephiroth.it - 有用的資訊來源,涵蓋使用 AMFPHP 和 MySQL 的 Flash Player 和 FlashComm 應用程式;提供 Flash 和 FlashComm 連線工作示例的程式碼
- http://www.amfphp.org - AMFPHP 開源專案的首頁;提供 Flash 連線工作示例的程式碼
- http://sourceforge.net/projects/amfphp/ - AMFPHP 的 Sourceforge 專案頁面
- http://simonf.com/flap/ - AMF::Perl,Perl 和 Python 中的 Flash 遠端呼叫專案
- http://sourceforge.net/projects/openamf/ - AMFPHP 的 Java 移植