面向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://mysqlserver.cn/ - 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 移植