让Flex助力互动教学(上)

论文摘要编者按:新的一年,“高手论技”继续伴随大家前行,身处一线的你,就那些技术上最常遇到的故障、最需要解决的难题、最成熟的运用……都可以在此畅所欲言,各抒己见。是继续围观还是现身说法,新浪微群q.t.sina.com.cn/264976,期待您的共同参与。
现代教育进展到今天,互动教学的实现越来越受到教师、学生及家长的重视。本期,主持人及嘉宾就与大家一起讨论讨论Flex与互动教学的不解之缘。
随着信息技术的快速进展,教育领域早已进入Internet时代,互联网已经成为默认的教学软件开发和运用平台。在网络上,用Flash动画来丰富网站、实现交互操作已非常普遍。但是,传统的程序设计语言和开发环境在开发网络动画运用方面有着困难,于是Flex 平台便应运而生。它通过提供一个程序员们已经熟知的工作流程和编程模型来改善这个不足,并实现更方便高效的网络互动。
● 来龙去脉—Flex的诞生
Flex是一个高效、免费的开源框架,可用于构建RIA(Rich Internet Application)的Web运用程序。这些运用程序利用Adobe Flash Player和Adobe AIR(Adobe Integrated Runtime),能够跨浏览器、桌面和操作系统实现统一部署。
所谓RIA即富网络运用程序,它指的是运用程序的一种技术实现形式,而不是一种具体的技术。在RIA出现之前,网络软件有两种流行的技术实现形式,即C/S(Client/Server)和B/S(Browser/Server),它们各有优缺点。为了方便比较,将它们的优缺点一起列于下表中:
RIA被称作是基于Web的C/S,客户端采取基于Flex等技术开发的SWF程序嵌入在网页中,提供了多种数据模型来处理客户端复杂的数据操作,同时也提供了比HTML更为丰富的界面体现元素,密集、响应速度快和图形丰富的页面元素与数据模型结合在一起,为用户提供了良好的利用体验。它克服了C/S与B/S的不足,尤其在流媒体等技术运用方面大展身手。
Macromedia公司以做动画起家,其旗下的Flash软件是强大的矢量动画编辑工具,Flash一直在谋求RIA(Rich internet application)富客户端的霸主地位,最有影响的是,已经推出了面向对象的编程脚本ActionScript

3.0,并且建立起类似于Ja swing的类库和相应Component(组件)。

同Flash一样,Flex能够制作出可以被Flash Player播放的SWF文件。但是,Flex主要是开发者(程序员)的工具,并且开发Flex运用程序的方式和开发Flash RIA(Rich Internet Application,富互联网运用程序)的方式完全不同。所有的Flex开发都基于一个Flex开发框架,该框架为用户提供可重复利用、可扩展的UI组件、数据获取怎么写作和事件处理模块等。我们可以在熟悉的(以代码为核心的)编程环境中开发创建RIA程序,并且仍然可以获得Flash运用程序的好处。
其实,运用Flash是完全可以实现Flex所达成的效果的,为什么还需要Flex呢?这最主要的理由是为了迎合更多的开发者。Flash天生是为了设计者设计的,Flash开发环境仅考虑了时间轴和可视化开发工具,它的界面和动画概念与程序开发人员的编程习惯格格不入。为了吸引更多的程序员进行动画开发,Macromedia推出了Flex,用非常简单的MXML语言来描述界面,利用ActionScript语言定义逻辑和开发制约,以便JSP/ASP/PHP程序人员利用。
● 开发优势—Flex与多媒体
作为新一代的富客户端互联网技术的佼佼者,Flex这种技术已经被越来越多的公司所采取,被越来越多的用户和程序员所接受。那么,基于Flex的体现层开发多媒体运用有哪些优点?
1.丰富的组件。Flex提供了一整套工业级的控件、非常灵活的组件框架及丰富方便而灵活的前后台数据交互方式,可以为用户提供很好的体验。组件包括表格、树、列表等各种常用组件。图形控件包括饼图、柱状图、线图、气泡图、区域图、图例等。由于Flex已经开源,很多第三方厂商和开发人员也开发了一些第三方Flex组件库,其中比较优秀的有ILog Elixir等。
2.矢量图形和API支持。使Flex在体现力方面有别于其他软件的一个功能是提供矢量图形。通过利用矢量图形,线、形状和图像可以利用几何公式(而不是位图)来表示。通过利用Flex,对矢量图形API具有完全的访问权限。但大多数时候,我们只需利用Flex框架中的组件,该框架已经广泛利用矢量图形。
例如,如果需要画一个带圆角的红色半透明面板,需要的编码全部内容是:

。矢量图形对用户界面可以有一个更具转变性的影响:它能以任何可能的方式拉伸、收缩、旋转、翻转或更改对象的形状。
3.多媒体支持。支持播放音频和视频流。Flex是被公认为流媒体技术支持最好的运用,它与流媒体怎么写作器通过RTMP协议进行通信,在不下载完整文件的情况下,对怎么写作器上面的媒体文件进行随机播放、随机查询等操作,同时它还能通过Flex SDK组件,直接调用客户端上面的摄像头、麦克风等设备,完成教学活动中所需要的多种形式的交互历程。
● 编程模型—Flex的Web开发
Flex运用程序开发可以利用MXML和ActionScript编程语言,并且提供强大的Flex类库做后台支持,我们也可以混合MXML和ActionScript来开发Flex运用程序。事实上,MXML 和ActionScript编程语言都提供了访问 Flex类库的能力。通常的做法是:利用MXML去定义用户界面的元素,利用 ActionScript去定义客户端的逻辑并进行制约。论文摘要Flex类库包括了Flex组件、管理器和行为。在基于组件的开发模型下,开发人员可以直接利用Flex类库中预先做好的组件,也可以利用自己定义的组件,以便在项目中利用。
利用Flex开发RIA尽管有多种形式,但主流架构是将Flex作为客户端,利用动态网页编程语言(Ja,PHP,Asp等)构建怎么写作器端。它们之间的数据通信步骤如下。

1.用户提交页面请求给怎么写作器端的PHP等动态网页程序。

2.接收到请求后,怎么写作器端程序跟后台数据库沟通,查询相关数据信息。

3.网页程序生成相关HTML页面代码,这些代码里面嵌入了SWF文件(利用Flex开发的RIA运用程序)。

4.浏览器将这些内容下载并显示到客户端机器上面。

5.SWF程序直接跟怎么写作器端的PHP等网页程序进行通信,通信历程中客户端页面不需要刷新,用户感觉不到通信历程。
Flex为程序员提供了开发动画、复杂图形运用和RIA的工具和框架。所以利用Flex的主要是开发工程师,由美工来完成一些图片,以及纯动画(与业务逻辑无关,利用Flash开发工具)。Flex支持运转期调试。Flex的熟练开发人员目前不多,但是其学习曲线较低。熟练的Ja、PHP和.Net程序员经过学习后可以轻松进行Flex开发。
另外,我们也很容易在互联网上找到大量基于Flex的开源项目,可以很容易通过学习和探讨这些开源项目大幅提升我们的开发水平,同时我们也可以利用这些开源项目,进行二次开发,大幅节约开发成本并提升开发效率。
● 教育运用—让网页焕发光彩

1.Flex技术的运用优势。

(1)利用Flex技术可以使客户端功能得到增强,可以制作出非常漂亮的界面,在体现能力上超过了传统教学软件单调枯燥的页面,能更好地吸引学生的注意力,以而提升学生的学习兴趣。
(2)Flex可以利用ActionScript做出许多复杂的交互,学生能更好地和软件进行互动,学生能参与到学习的历程中来,符合现在倡导的自主学习、探究式学习方式。
(3)Flex和传统的B/S方式软件不同,它能有效地减轻怎么写作器的负担,能对学生的交互做出快速反应,能增强学生利用软件的体验,使学生能更好地投入到学习中。

2.Flex技术的运用途径。

(1)教学模型的开发。在类似模拟物理、化学等实验的教学模型中,利用Flex开发的小程序可以接收动态参数,模拟实验历程和实验结果。也可以开发一些益智小游戏,类似数独游戏、拼词游戏、数学计算小游戏等。
(2)Flex多媒体处理技术用于非母语教学活动。由于利用Flex可以非常方便调用客户端的摄像头和麦克风等设备,教师可以在线进行语言教学,及时纠正学生发音错误、可以布置口语训练作业,也可以远程在线收集学生提交的录音、录像作品。
(3)利用Flex的图像处理功能,可以开发出针对书法、美术教学方面利用的网络课件,类似于《你画我猜》一类的游戏就是基于Flex技术开发出来的。
(4)虚拟教室(Virtual Classroom)运用。利用Flex的多媒体驾驭能力,我们可以开发或者整合出在线虚拟教室,直接在网上对学生进行在线辅导,甚至可以将上课历程全程录像,重复利用,既可以减轻教师的劳动量,也便于教师事后回顾教学历程以便改善教学。
灵活利用Flex技术进行教学软件的开发,我们能做出炫目的界面效果,高效复杂的交互,灵活驾驭多媒体及相关硬件,使教学软件真正成为学生学习的引导者。
● 交互实例—用技术助力教学
Flex技术运用在互动教学活动方面,已经有很多的开源软件,我们可以直接引入到自己的互动教学平台上来,下面笔者介绍几个以供大家参考。
1.口语训练项目Babelium(code.google.com/p/babeliumproject/)。
Babelium是西班牙巴斯克大学(巴斯克语称作EuskalHerriko Unibertsitatea)的GHyM小组主导开发的一个开源项目,它是一个非常完美的录音、录像Flex运用,可以让学生相互协作训练外语口语技能。教师上传一段视频(这类视频可以由教师自己制作,也可以去Babelium的下载)后,由学生各自为视频里面的角色配音,自己觉得满意后,将配音上传到怎么写作器,并且可以对别人上传的配音进行评价,类似于微博的评论和转发,参与的人越多,学习的效果越好。不过默认是利用国外的流媒体怎么写作器,因为国内的访问很慢,教师自己最好能搭建一个怎么写作器,这样效果更好。在Babelium的Google开源项目里面有怎么写作器搭建教程,用户可以按照指引在Ubuntu等Linux操作系统上面搭建好自己的怎么写作器。
2.虚拟教室OpenMeetings(incubator.apache.org/openmeetings/)。
OpenMeetings是一个多语言可写作的视频会议和协作系统。它支持音频、视频,能让你查看每个与会者的桌面,也能通过摄像头看到每一个参与者的面部表情,摄像头分辨率可以由主持人调整。OpenMeetings还包含一个白板,通过白板可以导入各种格式的图片和涂鸦。支持参与人员在线,可保存结果并以饼图方式显示。还支持共享发言人的桌面,用户可以利用自己的计算机给所有参会人员展示讲稿。它支持让指定的人来操作用户的计算机,类似的远程协助功能。它还支持会议历程全程录像,为会后回顾提供支持。它同时支持对每个用户设置静音功能及HTTPS和RTMPS加密传输。
虽然以名称上来看,它是一个为了网络会议而开发的项目,但是我们完全可以拿来利用——因为它完全具备了虚拟教室所需要的所有功能。当然,如果你觉得哪个功能需要改造,你也可以尝试对它进行二次开发。事实上,已经有很多的机构和个人在它的基础上开发出了多种多样的二次运用产品了。
值得欣慰的是,有人将它与著名的网络在线教育平台Moodle进行整合,开发出了一款OpenMeetings Moodle插件,支持Moodle2.0以上版本。我们可以利用这个插件,在Moodle课程里面开设网络会议(当成Virtual Classroom),学生点击链接就能进到虚拟教室里来,摄像头会将所有参与人员的头像传到每个人的电脑屏幕上,并且上面还能显示该人在Moodle里面注册的名称,主持人可以很方便地给每个参与者赋权限。例如,设置某人为主持人、允许他在白板上面涂鸦、允许他共享他的屏幕、允许他利用远程桌面制约、允许他通过麦克风发言等。跟其他的一些Flex多媒体运用一样,它也需要RED5怎么写作器作支撑。我们可以部署自己专用的RED5怎么写作器,以获得良好的网络体验。上图是OpenMeetings在Moodle下面的运转屏幕截图。
Flex在Moodle里面的运用除了OpenMeetings外,还有很多的人写了其他的一些非常有用的插件,如语音室(Language lab)插件等,大大扩充了Moodle的功能。当然,更详细的介绍用户可以登录Moodle(moodle.org)进一步了解。
当前,越来越多的人开始利用网络接受教育,网络课件的体现力就显得尤为重要。是否能将课程内容快速、完整、充分、优美地体现出来,给学习者一次良好的学习体验,是衡量网络课程是否成功的一个重要指标。Flex技术以程序开发者的角度给我们提供了一个非常好的工具,它和适用于设计者的Flash技术一样,成为网络课件开发的两驾马车。随着更多的教育工作者对Flex技术的熟悉,它将显示出自己独特的魅力。

相关论文

试谈农村小学作文教学(2)站

【摘要】作文需要积累好词、好句、好段、好素材,好开头,好结尾等,还要具备一定水平的语言表达能力,确立好中心,围绕中心构思、选材,拟。
浏览量:143659 点赞量:30901

课堂简谈任务型教学(TBLT)课堂实践网

摘 要: 任务型教学法是20世纪80年代外语教学法研究者在大量研究和实践的基础上提出的重要学习理论。本文系统分析任务型教学法,并探索该。
浏览量:58295 点赞量:13955

初中数学教学(二)学术

摘要:数学概念是反映现实世界的空间形式和数量关系的本质属性的思维形式。学生如果不能正确地理解数学中的各种概念,就不能很好地掌握各种。
浏览量:11590 点赞量:3777

试议高中语文教学(二)库

1008-925X(2012)11-0277-02长期以来,本位性的高考一直束缚着高中语文教学的手脚,限制着教师的想象,规范着学生的思维,使师生的认。
浏览量:19625 点赞量:5497