【摘要】手機將逐漸成為1對1數字學習中使用的一種重要設備,因此,手機平臺上的學習軟件開發成為我們面臨的重要研究課題。文章對手機平臺上各種軟件開發技術作了介紹,并詳細論述了手機平臺上1對1數字學習軟件類型及其適用的開發技術。
【關鍵詞】1對1數字學習;手機平臺;開發技術;Flash Lite;J2ME
【中圖分類號】G434 【文獻標識碼】B 【論文編號】1009—8097 (2008) 04—0095—04
引言
德斯蒙特#8226;基更博士在對遠程教育的研究中總結出一條規則:“不是技術本身具有適合教學的特性,使得遠程教育和開放大學取得了成功,而是技術比較普遍地被大眾擁有。” [1]基更博士的這條規則和我國臺灣中央大學陳德懷教授所倡導的1對1數字學習的觀點有異曲同工之妙。1對1數字學習是指一個學生在學習過程中至少使用一種計算設備來增強學習 [2]。1對1的數字學習技術旨在通過個人學習輔助設備的普及,利用個人學習輔助設備實現隨時隨地的主動學習或合作與協作學習,在基于采用的研究中跨越數字鴻溝,從而逐步形成任何人在任何時間、任何地點都可以獲取知識的無障礙學習環境。
具體到祖國內地的發展前景,北京大學的林建祥教授認為,1對1數字學習技術的研究應該包括三部分:教室內的技術、虛擬社區、手持設備。這些技術設備共同發展,達到人手至少一個,支持主動的學習,才體現公平,才能根本改變教育面貌[2]。
隨著移動通信技術的發展和手機性能的增強及普遍使用,手機已經成為個人化的移動計算終端,這為基于手機的1對1數字學習提供了有利條件。然而現階段手機提供的功能主要是通信,幾乎沒有一款手機直接提供輔助學習的功能,只有極少數的手機提供了英漢電子詞典的功能。所以,要將手機作為一種設備應用到1對1數字學習中,還必須開發手機平臺上的各種軟件來擴展手機的功能,以滿足1對1數字學習的需要。
一 手機平臺上的軟件開發技術概述
當前主流的手機操作系統主要有Symbian、Windows Mobile、Embedded Linux和BREW。由于手機硬件性能上的限制,手機平臺上的軟件開發技術和電腦平臺上的軟件開發技術就有所區別。手機操作系統上主流的軟件開發技術主要有J2ME、Symbian、BREW、Windows Mobile和Flash Lite。其中,BREW技術是基于CDMA手機的開發技術,所以該技術的通用性不強,考慮到軟件的通用性,我們在制作軟件時一般不考慮使用該技術[3]。Embedded Linux上的軟件使用跨平臺的工具Qt和C++語言開發。但一般開發者很難獲得它的SDK,在很大程度上增加了在Embedded Linux上開發軟件的難度。Symbian和Windows Mobile雖然用戶數量非常多,市場占有率比較高,但是它是基于特定軟件平臺的,軟件的跨平臺能力較差[4]。而在基于手機的1對1數字學習中,要求學生可以通過手機進行協作學習,這就要求軟件要具有跨平臺能力。在這五種技術中,只有J2ME和Flash Lite技術是跨平臺的通用技術。所以,為了能夠支持1對1數字學習,在制作基于手機平臺的軟件時一般選用這兩種技術。
J2ME全稱為Java2 Micro Edition,中文名稱為Java2縮微版,它是SUN公司于1998年推出的針對消費類電子設備的開發技術。J2ME技術將Java語言與平臺無關的特性移植到小型電子設備上,允許移動無線設備之間共享應用程序,它是一種主要針對手機、PDA、機頂盒、智能家電等設備的開發技術。在我國,我們一般稱之為KJava應用。
Flash Lite技術是Adobe公司推出的一種應用于手機平臺上的開發技術,最新版本是Flash Lite 2.1。Flash Lite并不是一種新技術,它實際上是專門為非個人電腦類電子設備推出的Flash Player新版本,它將為手機產品和消費電子產品提供更加豐富的用戶界面和全面的網絡瀏覽能力。Flash Lite完全基于PC機上的Flash標準,這意味著開發者在PC開發平臺上就可以開發移動設備上的應用程序。Flash Lite支持動態XML數據,允許動態加載和解析外部XML數據。并且Flash Lite還可以利用手機設備所支持的可用解碼器動態加載外部多媒體內容,比如圖像、聲音、動畫和視頻等,甚至還可以支持攝像頭應用。
J2ME和Flash Lite這兩種技術不存在孰優孰劣的問題,它們都有自己的優勢和劣勢,這種優勢和劣勢也導致了兩者必將在不同的方面發揮作用。比如Flash Lite在兼容性、界面設計、動畫顯示、服務器整合、入門門檻方面有著先天的優勢。而J2ME在安全機制、存儲能力和網絡連接等層面又要比Flash Lite更強,并且由于J2ME是由國際化標準組織JCP推動的,在國際標準化和廠商支持方面也有著更大的優勢。所以,我們在制作手機平臺上的軟件時要根據軟件的實際需求來選擇合適的開發工具。
二 手機平臺上1對1數字學習軟件類型及適用的開發技術
陳德懷教授在文獻[5]中提出目前可用于移動設備上的教育應用軟件可以分為三種主要類型:系統界面程序、具有獨立功能的程序和網絡客戶端程序。
1系統界面程序
系統界面程序只是為了營造一種學習環境而對手機的系統界面進行擴展,程序本身并不具備對本機和網絡資源的處理能力,它只能夠調用系統的某個功能或者把原來系統的某些功能集成到一起,比如接收用戶的數據輸入等。系統界面程序的開發工作主要是設計出系統的界面,并利用代碼將界面和系統功能連接起來。
在界面設計領域,Flash Lite比J2ME具有先天的優勢。J2ME的界面設計方法比較復雜,它使用MIDP提供的接口API來進行界面設計,但是在API中沒有專門的函數用來描述界面,必須通過對Canvas類或者Screen類進行擴展和繼承定義才能實現自定義界面,這些操作都需要開發人員用代碼來實現。而Flash Lite技術使用PC平臺上的Flash作為開發工具,Flash允許用戶使用畫筆等繪圖工具來繪制用戶界面。并且Flash Lite技術還可以利用手機設備所支持的可用編碼器,動態加載外部多媒體內容,比如圖像、聲音、視頻和SWF動畫,甚至還可以支持攝像頭。而且在文字處理方面也具有很大的優勢,它可以在程序運行過程中改變文本的顏色、大小以及其它屬性,從而很容易就能實現文本的動態效果。Flash Lite本身是一種矢量格式,并且支持矢量格式SVG,所以在分辨率多樣化的手機平臺上占有很大的優勢。而使用J2ME技術則需要花很多時間來解決分辨率的適應問題。并且Flash Lite技術也允許開發者在軟件中使用Action Script調用手機上的應用程序。
因此,一般情況下開發手機平臺上的系統界面程序時應該優先選用Flash Lite技術,相對于選用J2ME技術來說,使用Flash Lite技術可以更容易、在更短時間內使用更低的成本完成同樣的內容。同時,在使用Flash Lite開發系統界面程序時,也需要考慮到手機屏幕大小、操作方式和硬件性能的限制,不能夠繪制過于美觀和復雜的界面,因為復雜美觀的界面會帶來資源和性能的耗費,造成系統程序運行效率下降。
2 具有獨立功能的程序
具有獨立功能的程序是指程序本身能夠獨立完成一定的應用功能,這種類型的應用程序是為了使學生能夠借助手機設備進行自主學習而制作的,比如應用在手機平臺上的用于某個小知識點學習的學件、一個電子詞典程序。用于開發這類程序的技術應該具有較強的本機資源處理能力和網絡通信能力,J2ME技術恰好可以滿足這種需求。并且使用J2ME技術開發的代碼具有可移植性、部署的靈活性、網絡的安全性以及代碼的隱藏性等特點,同時開發效率較高,開發資源豐富。因此,J2ME技術經常用于手機平臺上具有獨立功能的程序和網絡應用程序的開發。
J2ME為手機設備提供了一組API函數,用于手機設備上的軟件開發,我們把它稱為MIDP(Mobile Information Device Profile)。MIDP提供了一個標準的運行環境,允許在終端用戶設備上動態地部署新的應用程序和服務。對于手機平臺上的軟件開發來說,它是一個完整的、受支持的基礎。具體來說,J2ME在MIDP的基礎上可以實現以下功能。
(1)多線程功能
由于手機的硬件處理功能有限,因此對用戶操作的響應可能不很及時,使用多線程就可以解決這個問題。多線程技術采用了更靈活的資源分配機制,從而使程序的執行速度快,性能好。使用多線程技術可以在后臺執行其它比較繁重的任務時,前端的用戶界面仍能保持對用戶的響應。雖然MIDP對線程的支持非常有限,只支持最簡單的多線程方法,但仍然在很大程度上節省了手機資源,提高了手機平臺上應用程序的運行效率。
(2)網絡通信功能
J2ME使用通用連接框架(Generic Connection Framework, GCF)和網絡相連。GCF建立在用連接類來管理通信的概念基礎上,每個類用來管理具體某種通信方法。抽象通信類是所有連接類的基類,它可以依次實現五個接口類中的一種來定義他們的功能。GCF的這種設計使得GCF變得通用而且易于擴展,同時也使得編程者用起來盡可能的簡單。
MIDP2.0基礎上的J2ME技術支持HTTP協議和HTTPS協議,從而使手機能以Client/Server方式直接訪問Internet的全部信息。并且還有一些開源項目用來增強J2ME的網絡訪問能力,從而使得利用J2ME技術訪問Web服務更加容易,比如kSoap項目。
(3)移動數據庫功能
移動數據庫技術也被稱為嵌入式移動數據庫系統,它是指支持移動計算環境的分布式數據庫。在基于手機的1對1數字學習中,嵌入式移動數據庫扮演著非常重要的角色。在1對1數字學習中要實現協作學習,就必須在手機和服務器之間傳輸數據,進行數據庫同步。
和其它幾種開發技術相比,J2ME提供的網絡和本機資源的處理功能應該是比較全面的,能夠滿足日常手機平臺上各種類型軟件開發的需要,并且效率也比較高。除此之外,J2ME的開發工具和參考資料也比較豐富,更適合剛剛涉足移動開發領域的開發者入門。
3 網絡客戶端程序
Tatar等人在教學活動中證明了1對1數字學習技術中的無線特性能促進學習者的合作,從而使學習者都能借助無線設備進行主動的、生成式、創造性與合作式的學習。因此,如何利用手機的無線通信功能構建實時或非實時的合作與協作學習環境是1對1數字學習軟件開發研究中的一個重要的主題。
盡管使用了J2ME技術的手機的網絡通信能力比較強,但是由于當前手機本身性能的限制,手機只能作為網絡服務的客戶端,而不能作為網絡服務的提供者。服務器的角色還是應該由接入因特網的計算機擔當。這里所說的網絡客戶端程序是指能夠利用手機的無線連接功能接入到協作學習平臺服務器,從而使用戶能夠和其它接入者一起進行協作學習。因此,可以采用基于多Agent的網絡協作學習系統模型。在多Agent模型中網絡客戶端程序主要包含一個用戶Agent。用戶Agent負責組織人機交互,代替手機用戶通過無線網絡同中間層平臺進行交互。同時,用戶Agent也提供了數據的本地存取,這樣用戶可以在斷開網絡連接的時候做一些本機處理工作,然后在網絡恢復的時候繼續進行交互工作。
服務器端主要為運行在Internet網絡上能為移動客戶端Agent和應用服務器之間交互起到連接和支持作用的軟件平臺。它主要由無線消息服務器和多個代理Agent組成。無線消息服務器主要職責是為無線設備和Internet網絡之間提供消息存儲和轉發。多個代理Agent和客戶端的用戶Agent共同承擔一個學習任務,分工合作,相互協調完成學習任務。由于協作學習系統的一個基本要求是:所有頁面應該可以在標準瀏覽器下閱讀,不需要用戶特別安裝其它插件。更進一步的要求是可以在多個操作系統平臺上使用。所以在服務器端選用可以跨平臺的J2EE技術作為協作學習系統的開發技術。同時也因為J2EE可以采用多線程Servlet和移動客戶端的J2ME進行無縫交互。
在協作學習系統開發中,Agent軟件的開發是最關鍵的,同時開發難度也是最大的。為了降低Agent軟件的開發難度,提高Agent軟件的開發效率,在開發過程中可以參考引入一些網絡社區或開源組織開發出的一些比較成熟的Agent軟件開發框架,這些Agent軟件開發框架主要包括JADE和Jadex。
(1) JADE(Java Agent Development Environment)
JADE是一個符合FIPA規范的可互操作的多Agent系統及其應用程序的開發框架。JADE的目標是在保證符合而全面的系統服務和Agent程序標準的同時,能夠更簡便的開發基于多Agent的軟件。
JADE Agent開發平臺包括了所有用于管理Agent平臺的子系統,并且為每一個Agent提供多線程的運行環境,允許多個Agent在主機中協作運行。除此之外,JADE還提供了一些圖形化的工具來管理運行中的Agent平臺,以實現管理、調試、監聽、控制Agent的狀態,以及停止和重啟Agent程序的運行。
(2)Jadex
Jadex框架是對JADE框架的擴展。JADE系統為多Agent系統開發構造了良好的平臺服務模塊,并提供了有效的通信機制,然而JADE卻沒有考慮Agent內部結構問題。Jadex系統建立在JADE平臺的基礎上,它將經典的BDI模型概念引入到JADE系統的Agent內部結構設計中,使得Agent的構建更簡單和直觀,從建模到實現階段的轉化更便捷。
在Jadex系統中,Agent包含一組信念(Beliefs)、一個目標集(Goals)、一個規劃庫(Plans)。其中,信念包含了Agent所在的當前環境狀態的信息,它提供了比面向對象更抽象的、統一的只是表示方法。目標集表示了Agent想要實現的目標,在Jadex系統中目標表示為帶有多個屬性的對象,目標的屬性用于指定該規劃能處理某給定名字的所有目標。Agent的功能則主要通過規劃實現,Agent程序開發人員需要分別定義規劃頭和規劃體。其中規劃頭在Agent定義文件中用XML語言定義;規劃體是用Java語言定義的程序,它描述為實現目標或處理某事件而采取的一組動作。
無論采用什么開發技術,手機平臺上這三種類型的教育應用軟件都是為了滿足學習者在不同情景下進行1對1數字學習的需要。因此,手機平臺上教育軟件開發者應該深刻理解1對1數字學習理念,并以此理念為指導,努力使開發的軟件能夠滿足學習者在不同學習情景之間的無縫轉換。
三 手機平臺上的1對1數字學習軟件產品
隨著移動學習理論研究的不斷深入和一對一數字學習理念逐漸被人們接受,一些教育軟件廠商也適時推出了一系列用于手機平臺上數字學習的軟件產品,這些產品多數以英語學習為主。其中代表性的軟件產品主要有知源軟件的產品“英語隨我行”和諾基亞與清華大學聯合推出的“行學一族”。
1英語隨我行
“英語隨我行”是由知源軟件研發的一系列用手機學英語的軟件產品。“英語隨我行”產品包括各類內容豐富、權威的英語課程,主要包括英語單詞背誦及講解、語法練習和聽力練習。并且提供了離線學習、Java在線和WAP三種學習模式,以滿足不同手機用戶的需要。
2 行學一族
“行學一族”是由諾基亞和清華大學聯合推出的一款專門為手機打造、國內首個支持移動掌上社區的學習軟件,它整合了眾多權威教育和出版機構的學習內容,充分發揮了融合移動通訊和互聯網的優勢,使邊走邊學、隨時隨地學習和交互學習真正成為了可能。
“行學一族”倡導的是共同學習的教育理念,擁有豐富精彩的學習內容,并以文字、圖形和聲音呈現。用戶還可以通過手機從互聯網上下載最新的學習信息,并通過互動的“行學社區”向名師求教,接收他們的學習指導,或者與“族人”溝通,自發組織興趣小組,一起探討學習之道。同時“行學一族”也支持基于課件的學習方式,從而更符合用戶的學習習慣。
四 小結
1對1數字學習是一種新的教學理念,有著廣闊的前景和生命力,但要獲得繼續發展仍然需要廣大教師和科研人員共同關注和研究。手機平臺上的1對1數字學習軟件開發是為了將1對1數字學習理念納入到實際教學應用中的具體實踐。然而,手機平臺上的軟件開發也是一種新生事物,開發人員應該首先了解手機平臺與PC平臺硬件和操作方式上的差別,并在此基礎上進一步了解手機平臺上的各種開發技術的優缺點,盡快完成從PC平臺到手機平臺的轉型。并以1對1數字學習理念為指導,開發出更多優秀的1對1數字學習軟件,從而更好地為教育教學服務。
參考文獻
[1]德斯蒙特#8226;基更.移動學習:下一代學習—在亞洲開放大學協會第18屆年會上的主題報告[J].開放教育研究,2004,(6):22-27.
[2]陳德懷.面向“1對1”增強學習技術—科技增強學習的研究與實踐[J].信息技術教育,2006,(2):5-8.
[3]孫睿.BREW及其應用開發[J].計算機應用研究,2004,(1):188-190.
[4]奚焜,袁軍,李樹廣.基于Symbian平臺應用的開發模式[J].計算機工程,2003,29,(10):171-172.
[5]陳德懷,梁仁楷.1對1增強學習技術和即時互動反饋科技[J].中小學信息技術教育,2007,(2):8-10.