APP下载

基于智能手机的移动学习系统开发技术研究

2015-06-08魏武华

电子设计工程 2015年16期
关键词:短消息终端设备客户端

魏武华

(西安广播电视大学 理工部,陕西 西安 710002)

所谓智能手机,就是具备了操作系统的手机。就像计算机使用了Windows操作系统一样,智能手机有一个开放的操作系统,用户就可以根据自己的需要在手机上安装和使用第三方应用软件。智能手机的主流操作系统有IOS、Android(安卓)、Symbian(塞班)、Windows Phone 和 BlackBerry OS。 利用操作系统提供的应用软件的开发接口,就可以开发基于智能手机的学习型软件[1]。也就是说,智能手机的普及和移动通信网络技术的成熟,为基于智能手机的移动学习奠定了坚实的基础。

一般来讲,移动学习是指利用无线移动通信网络技术以及无线移动通信设备 (个人数字助理PDA和智能手机等)获取教育信息、教育资源和教育服务的一种新型学习形式[2]。其特点是学习者能在任何时间、任何地点,以任何方式学习自己想要学到的任何知识。

进行移动学习,离不开移动学习平台的支持。移动学习平台包含硬件平台和软件平台两部分,其中硬件平台由移动终端、移动通信网络、互联网及教学服务器等组成,软件平台也称为移动学习系统,是实现移动学习的软件系统。

本文在介绍移动学习的硬件平台(网络架构)的基础上,重点讨论开发移动学习系统的技术及方法。

1 移动学习平台的网络架构

移动学习平台的网络架构如图1所示。

图1 移动学习平台的网络架构Fig.1 Network architecture diagram of Mobile learning platform

移动学习平台的网络架构中,包含四部分:教学服务器、国际互联网、移动通信网络和移动终端设备[3]。

教学服务器:该服务器与国际互联网(Internet)相连,存放着丰富的教学资源以及相应的服务程序。

国际互联网:该网络是教育资源的有效载体,互联网用户可方便地与其进行信息交换,访问其上丰富的资源。

移动通信网络:该网络是整个移动互联网的一部分,由多个基站组成,用来发射或接受来自移动终端设备以及互联网的信息,通过空中接口将国际互联网与移动终端设备实现无缝连接。

移动终端设备:可以连接移动通信网的智能手机、手机和PDA等都属于移动终端设备。目前比较普及的3G手机和4G手机,能通过移动通信网与国际互联网通信,处理图像、音频、视频等多种媒体信息,进行网页浏览、电子商务、移动学习等移动应用。

2 基于智能手机的移动学习系统开发技术

目前,移动学习的主要方式有基于短消息(SMS,Short Message Service)的移动学习、基于网页浏览的移动学习和基于手机客户端(App)的移动学习。下面,对实现这几种学习方式的开发技术逐一剖析。

2.1 基于短消息的移动学习系统开发技术

基于短消息的移动学习是移动学习中最简单的一种学习方式。用户通过手机、PDA等无线移动终端设备,将短消息发送到位于互联网的教学服务器。教学服务器接收用户的短消息后,通过查询后台数据库并进行数据分析、处理,将结果发送给用户手机,从而实现用户手机通过无线移动通信网络与互联网之间的通信,完成一定的教学活动[3]。

计算机控制手机发送短信,目前采用的最多方式是通过计算机串口与手机通信。只要手机等移动终端设备支持RS-232C这一标准,就可以将其和计算机的COM口 (串口)相连。一般的手机都支持GSM07.05所定义的AT命令集的指令,因此可以利用计算机通过串行接口直接向手机发送AT命令,实现通过串口的短消息的发送、接收和管理。可以说,AT指令是计算机通过串口操作手机的唯一途径。另外,对于提供USB接口的手机,可以通过手机USB驱动程序在手机和PC之间建立虚拟串口设备。

基于串口通信的短消息移动学习系统的技术架构如图2所示。

图2 基于串口通信的短消息移动学习系统的技术架构Fig.2 Technical architecture of short message mobile learning system based on serial communication

在该系统中,短消息教学服务器位于互联网中,通过RS-232C口与支持AT指令的手机直接相连,支持AT指令的手机和用户的移动终端通过移动通信网相连。教学服务器为包含短消息软件的短消息服务器,短消息软件主要包含三个程序模块,短消息监听模块、短消息处理模块和短消息发送模块。短消息监听模块用来实时监听是否有短消息到达,若有,马上转给短消息处理模块进行处理,从而完成对短消息的响应[4];短消息处理模块完成对各类短消息的处理,比如通过对后台数据库的查询,可以检索出问题答案,交给短消息发送模块;短消息发送模块用来对外单发或群发短消息。后台数据库为提供用户信息、课程资源信息和记录信息等的数据库。短消息软件通过与后台数据库的交互,完成数据的存储、更新和检索等功能。

基于短消息的移动学习系统,只要是移动网络覆盖的地方便能使用。这种学习方式是以短消息文本展示教学内容,学习资源内容较少,形式较为单一。随着移动通信网络技术的发展,尤其基于3G/4G网络的智能手机的普遍使用,一种基于WAP的移动学习系统崭露出来,用户可以通过手机浏览WAP学习网站,进行学习。WAP学习网站以文本、图片、音频、视频等形式展示教学内容,形式丰富。

2.2 基于WAP2.0的移动学习系统开发技术

2.2.1 WAP2.0技术

WAP(Wireless Application Protocol)是无线应用协议的简称。它是一个开放的全球性的标准,其目标是为互联网和移动设备之间建立一个桥梁,使移动终端和互联网服务器之间的交互成为可能。1997年7月,WAP论坛出版了第一个WAP标准架构。1998年5月,WAP1.0版正式推出;1999年9月,WAP1.1版正式发行;2001年6月,WAP2.0版正式发布。

手机作为一种可移动的终端设备,通过WAP无线协议,可以轻松访问互联网的WAP网站。WAP的早些版本是1.0,WAP1.0网站是用无线标记语言WML和WML Script开发的。而WAP2.0指定XHTML MP(可扩展标记语言移动概要)和WAP CSS(即WCSS)作为开发WAP网站的语言,具有更丰富的表现形式和内容精确设定功能,在开发移动学习平台方面具有得天独厚的优势,使“随时、随地”学习成为可能。

XHTML MP(可扩展标记语言移动概要)是WAP2.0中定义的标记语言,是XHTML的子集,是HTML的更严格的版本[5]。

CSS(级联样式单)广泛用于万维网,用来定义Web页面在浏览器中的展现效果。而WCSS是为无线设备上使用而设计的,在WAP2.0中定义说明,是CSS2的简化版。也就是说,CSS2对无线设备不适合的或不必要的特征都没在WCSS中包含。WCSS是XHTML MP的伴侣,二者常被一起使用。WCSS将展现效果从内容中分离了出来。如果想更改一个XHTML MP页面的展现效果细节,只须修改WCSS[6]。

2.2.2 基于WAP2.0的移动学习系统技术架构

基于WAP2.0的移动学习系统采用B/S架构。在服务器端建立移动学习的WAP网站,就可以通过客户端如智能手机上的浏览器软件,访问移动学习站点。

基于WAP2.0的移动学习系统技术架构如图3所示。

图3 基于WAP2.0的移动学习系统技术架构Fig.3 The technical architecture of mobile learning system based on WAP2.0

在该架构中,智能手机等移动终端设备通过移动通信网和WAP网关接入互联网,而WAP服务器及后台数据库服务器位于互联网中。通常用IIS和Apache搭建WAP服务器,和构建WEB服务器类似。WAP服务器可以说是手机网站,其开发语言为XHTML MP+WCSS。当然,要实现动态WAP网站,可在服务器端采用ASP、JSP和PHP技术。

2.2.3 WAP2.0的程序设计模型

WAP2.0的程序设计模型主要有两种方式,如图4和图5所示。

图4 WAP2.0的程序设计模型1Fig.4 Program design model 1

图5 WAP2.0的程序设计模型2-网关模型Fig.5 Programming model 2

WAP2.0协议可以支持客户与服务器之间直接使用HTTP/1.1通信(如模型1)。在WAP1.x版本中,必需要有一个WAP代理(proxy),通常称为WAP网关,来处理客户与服务器之间的协议转换、编解码工作。WAP代理使用WAP协议与客户通信,使用标准Internet协议与服务器通信(如模型2)。

WAP2.0虽不是必须要设置WAP代理,然而在实际的应用中,一般都是设置一个WAP代理的(模型2),因为这样可以优化通信过程、提供给移动终端某些增强的移动业务(比如位置定位、个性化的业务等),而且代理主机在“推服务”中也是必须的[7]。

2.3 基于手机App的移动学习系统开发技术

App是application的缩写,通常专指手机上的应用软件,或称手机客户端,是智能手机上的第三方应用软件,这些软件通常都可以在应用商店下载。比较著名的应用商店有苹果的 App Store,谷歌的 Google Play Store,诺基亚的 Ovi store,还有黑莓用户的BlackBerry App World,微软的Marketplace等。

随着智能手机和iPad等移动终端设备的普及,人们逐渐习惯了使用App客户端上网的方式,而目前国内各大电商,均拥有了自己的App客户端。这标志着,App客户端的商业使用,已经逐渐普及。而将App开发技术用于移动学习,将翻开移动学习系统的新篇章。

目前,App应用程序开发模式有 3种:Native App、Web App和Hybrid App(混合模式移动应用)。

2.3.1 基于Native App的开发

Native App是一种基于智能手机本地操作系统运行的App应用程序,也叫本地App。因在软件开发过程中需要针对不同的手机操作系统,如苹果的IOS或者Google的安卓系统,所以应采用不同的语言和框架进行开发。一般包含云服务器数据和应用客户端两个部分,Native App架构的客户端中包含了界面展现、业务逻辑、数据模型3个部分,服务器端提供各种服务,客户端通过网络访问服务器端的各种服务。

Native App的开发的语言有很多种,目前主流的有4种:IOS平台的开发语言为Objective-C,安卓 (Android)平台的开发语言为Java,微软Windows phone7的开发语言是C#,塞班Symbian系统的开发语言是C++。

这种开发模式是基于C/S架构的,客户端的表现力相当丰富,可以支持在线或离线、消息推送等;可以充分实现智能移动终端的本地资源访问,并调用硬件设备资源,如摄像头、拨号功能等;性能较高,用户体验也比较出色。但劣势也比较明显:客户端的开发工作量大,逻辑复杂;客户端必须针对不同的操作系统,进行单独的适配开发工作,不利于移植;客户端软件升级和维护困难;服务器端要支持多客户端,难于扩展。

2.3.2 基于Web App的开发

Web App基本上对应了B/S架构,一般包含HTML5云网站和App应用客户端两个构成部分。

这种开发模式中,客户端不再需要开发工作,退化为使用内置的浏览器与用户交互。服务器端开发语言以HTML5、CSS3、JavaScript作为前端供浏览器展示,使用 JSP、PHP、ASP技术实现业务逻辑和数据库管理。

Web App开发具有跨平台性。一款Web App,既可以在手机iphone上使用,也可以在平板ipad上使用。它绕开了App store严格的提交和更新审查规则;由于代码全部在服务器端,所以安装简便,易于扩展和升级。但是,Web App每次呈现都需要调用云端资源,用户的交互式体验不如Native App。另外,在消息推送、离线模式以及调用移动终端资源的能力等方面相对较弱[8-9]。

需要说明的是,WAP网站和Web App都是跨平台的技术。但是WAP更侧重使用网页技术在移动端做展示,包括文字、媒体信息等。而Web App更侧重“功能”,如实现LBS定位、音视频播放、调用相机、GPU加速等功能。

2.3.3 基于Hybrid App的开发

Hybrid App开发模式是在Native App和Web App开发模式基础上衍生的App开发模式,表面上看比较接近Native App,但里面访问却是一个Web App。

Hybrid App同时使用网页语言与程序语言开发,通过应用商店区分移动操作系统,分发用户需要安装使用的移动应用。

Hybrid App开发模式较好的整合了Native App开发模式的交互式体验以及Web App开发模式的跨平台开发优势。一些国内外主流的App应用其实就是架构在Hybrid App开发平台基础上的,比如脸谱,百度搜索等[8-9]。

3 结束语

随着移动终端技术和移动互联网技术的发展,移动应用日新月异。移动学习的需求也在不断增加,开发基于智能手机的移动学习系统,成为广大技术人员面临的重要课题。本文对目前开发基于智能手机的移动学习系统的技术进行了研究,对各种开发技术的开发模式及技术架构进行了分析和比较,对技术人员进行移动学习系统的开发具有指导和借鉴意义。

[1]冯统成.基于手机的移动学习支持系统研究 [D].上海:华东师范大学,2007.

[2]任海峰,赵君.移动学习国内外研究现状分析[J].成人教育,2010(1):95-96.REN Hai-feng,ZHAO Jun.Analysis of research status of mobile learning both at home and abroad[J].Adult Education,2010(1):95-96.

[3]李焕亮.移动学习在高职院校中的应用现状及对策[D].济南:山东师范大学,2012.

[4]史国良.基于手机短信的移动学习系统的设计与实现[D].大连:大连理工大学,2007.

[5]HarmoniousTech.XHTML Mobile Profile/XHTML MP Tutorial[EB/OL].[2015-2-14].http://www.developershome.com/wap/xhtmlmp/.

[6]HarmoniousTech.WAP CSS/WCSS Tutorial[EB/OL].[2015-2-24].http://www.developershome.com/wap/wcss/.

[7]王颖.基于智能手机的移动学习系统设计与开发[D].天津:天津师范大学,2009.

[8]顾春来.App应用程序开发模式探究[J].硅谷,2014(5):35-36.GU Chun-lai.Research on app development mode[J].Silicon Valley,2014(5):35-36.

[9]曹文斌.从架构角度看移动App之争[EB/OL].[2015-2-16].http://www.programmer.com.cn/12131/.

猜你喜欢

短消息终端设备客户端
视频监视系统新型终端设备接入方案
如何看待传统媒体新闻客户端的“断舍离”?
试论电视新闻短消息的采写策略
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
浅谈广播短消息的采写
行车记录仪通信连接方法、行车记录仪及终端设备
车站信号系统终端设备整合及解决方案
馈线自动化终端设备智能接入的研究