自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

開始Worklight的開發(fā)之旅

移動開發(fā)
簡介: 為了更好的在移動平臺上提供企業(yè)級的程序服務,IBM 公司于 2012 年 2 月 27 日(美國時間)收購了在移動程序開發(fā)行業(yè)中占領先地位的 Worklight 公司。作為一個開放而高級的移動程序開發(fā)平臺,Worklight 提供了開發(fā)純 WEB 模式,混合模式(hybrid)和本地模式(native)移動程序的方法。解決方案的整體分為四個部分:基于 Eclipse 的 IDE 系統(tǒng),基于 Tomcat 或者 WebSphere Application Server 的服務器,Worklight 開發(fā)的 SDK 和服務終端,用于監(jiān)控部署在上面的服務器端程序。

文章將從安裝 Worklight 的開發(fā)環(huán)境開始,然后分析 Worklight 的各個部分,***完成一個簡單的程序,來向讀者介紹這個平臺的使用方法。

移動平臺的開發(fā)現(xiàn)狀

隨著第三代移動通信技術的發(fā)展,手機作為下一代的個人終端已經(jīng)日益被用戶所接受,但是傳統(tǒng)的移動應用開發(fā)存在著很多的問題:首先智能手機市場存在著多種類型的操作系統(tǒng),同時在相同的操作系統(tǒng)中也包含著不同分辨率的機型,甚至在同種操作系統(tǒng)上因為系統(tǒng)版本的差別,也會影響相同功能的開發(fā);其次,新開發(fā)的應用如果要和原有系統(tǒng)集成,因為認證方面的原因,需要重復大量原有的代碼;***,客戶端一旦發(fā)布,就面臨著版本更新的問題,當新版本推出時,是廢棄還是維持舊版本,如何方便用戶更新都是開發(fā)者需要面臨的問題;以上這些因素都加大了開發(fā)和維護手機應用的成本。

與此同時,隨著 HTML5 標準的提出,基于網(wǎng)頁技術的移動客戶端程序和傳統(tǒng)的本地客戶端程序之間差距越來越小,使用 Web 技術開發(fā)手機客戶端來替換原有的本地客戶端成為可能。

Worklight 的概念模型

Worklight 平臺(以下簡稱 WL)為開發(fā)基于 Web 技術的手機客戶端提供了一套完整的解決方案,從開發(fā)、部署、測試到發(fā)布均可在這個平臺上完成。

圖 1. WL 架構圖

圖 1. WL 架構圖

平臺的架構如圖 1 所示:

  • Worklight Studio – 它是一個基于 Eclipse 的 IDE,通過 WL 支持的插件,可以方便的和企業(yè)級后臺連接,讓開發(fā)者在上面完成代碼的編寫和集成工作。
  • Worklight Server – 它是一個基于 Java-based 的服務器,作為應用、外部服務和企業(yè)級后端設施的交流途徑,提供了豐富的認證、推送、分析和管理的功能。
  • Device Runtime – 它由客戶端的 API 構成,既可以訪問手機的本地功能,又能調用其他 JS 框架完成頁面的工作。
  • Worklight Console – 它是一個基于 Web 的 UI 控制臺,通過它可以管理和監(jiān)控部署在上面的程序,并且實現(xiàn)消息的推送,完成數(shù)據(jù)報表的生成和分析。

根據(jù)上面的介紹,WL 平臺是開發(fā)企業(yè)級手機應用的良好選擇,它不但利用 Web 技術統(tǒng)一了在不同環(huán)境下對手機應用的開發(fā),還提供了自動更新機制,讓用戶及時更新客戶端,而且它還提供了報表生成功能,對于企業(yè)級用戶來說,可以通過報表 獲得詳細的信息,進行持續(xù)的開發(fā)和維護工作。

下文將從安裝開發(fā)環(huán)境開始,然后詳細敘述平臺支持的三種應用模式的編寫方法,來完成對這個平臺的初步介紹。

開發(fā)環(huán)境搭建

Worklight 平臺(以下簡稱 WL)為開發(fā)基于 Web 技術的手機客戶端提供了一套完整的解決方案,從開發(fā)、部署、測試到發(fā)布均可在這個平臺上完成。

WL 的開發(fā)平臺由四部分組成:后臺數(shù)據(jù)庫,WL 的 SDK,Eclipse 和服務器。下面的安裝過程基于 Windows XP 完成,對于 Windows 的其他系統(tǒng)和 Mac 系統(tǒng)將略有不同,可以參見 WL 的主頁 進行修正。在安裝系統(tǒng)之前需要確保 JDK6 或者以后版本已經(jīng)被安裝在系統(tǒng)中。

下載

表一將描述需要下載的軟件,并且提供相應的鏈接:

表 1. 下載軟件列表

軟件名稱 軟件作用 說明
MySQL 后臺數(shù)據(jù)庫 鏈接
MySQL Connector JDBC 驅動 鏈接
Eclipse3.7 IDE 鏈接
SDK WL 的開發(fā)環(huán)境 鏈接

因為 WL 的 SDK 自帶 Tomcat7.0 環(huán)境,就不需要再下載了。

安裝

安裝過程的整體流程如下:

  1. 安裝 MySQL:下載時建議使用安裝版本,并且根據(jù)圖 2 完成配置過程
  2. 解壓 MySQL Connector:任何位置均可,用于 WL 的 SDK 配置數(shù)據(jù)庫連接時指定驅動位置
  3. 解壓 Eclipse:任意位置均可
  4. 安裝 WL 的 SDK:根據(jù)安裝向導,完成安裝,并且根據(jù)圖 3 完成配置
  5. 安裝 Android 模擬器:因為需要用到模擬器來測試 WL 的混合和本地應用,所以安裝相應的模擬器,詳細過程參見 鏈接,需要說明的是,建議下載 Android2.2 作為模擬器的測試環(huán)境,因為 2.3 的 WebView 有一個未修復的錯誤
  6. 安裝基于 WL 的 Eclipse 插件:根據(jù)安裝插件的常規(guī)方法,輸入地址 http://www.worklight.com/downloads/eclipse-plugin-4.2.1-eval 完成插件安裝
  7. 安裝基于 ADT 的 Eclipse 插件:具體的方法參見 鏈接
  8. 驗證:在安裝完畢的 Eclipse 工作空間中,可以創(chuàng)建 Worklight 和 Android 的項目,就代表安裝完成

圖 2. MySQL 實例配置

圖 2. MySQL 實例配置

圖 3. WL 數(shù)據(jù)庫配置

圖 3. WL 數(shù)據(jù)庫配置

***個程序

為了更好的了解 WL 平臺,本章將通過構建最簡單的 HelloWorklight 程序來完成平臺支持的三種類型應用:純 Web 模式、混合模式和本地模式(基于 Android)。

WEB 模式

構建一個 Worklight 項目需要了解以下兩個概念:工程和應用(Project&Application),一個工程下面可以有多個應用,應用可以理解為一個單純的 Web 項目,作為開發(fā)的內容。

新建工程和應用:

  • 點擊 File-> New -> Project -> Worklight -> Worklight Project
  • 輸入工程名稱:HelloWorklightProj,點擊確認,完成工程創(chuàng)建
  • 點擊 File-> New -> Other -> Worklight -> Worklight Application
  • 輸入應用名稱:HelloWorklight,并選擇 HelloWorklightProj 作為工程,點擊確認,完成應用創(chuàng)建

創(chuàng)建完畢的應用包含一個默認的描述文件 application-descriptor.xml,通過它指定了系統(tǒng)訪問的初始頁面。在初始頁面中,通過調用 onload 方法和 WL 平臺取得聯(lián)系,并且利用定義好的 CSS 文件,來優(yōu)化頁面顯示,易于手機客戶端展現(xiàn)。

清單 1. 描述文件配置

  1. <mainFile>ClientApp.html</mainFile>  

清單 2. 默認初始頁面

  1. <body onload="WL.Client.init({})" id="content" style="display: none">  
  2.     <div id="AppBody">  
  3.         <div id="header">  
  4.             <h1>HelloWorld</h1>  
  5.         </div>  
  6.         <div id="wrapper">  
  7.             HelloWorld  
  8.         </div>  
  9.  
  10.     <script src="js/ClientApp.js"></script>  
  11.     <script src="js/messages.js"></script>  
  12.     <script src="js/auth.js"></script>  
  13.  </body>  

清單 3. CSS 定義

  1. #AppBody {  
  2.     height: 460px;  
  3.     margin: 0 auto;  
  4.     width: 320px;  
  5.     background-color: #ccc;  
  6.     overflow: hidden;  
  7.     overflow-y: auto;  
  8.  }  
  9.  
  10.  #header {  
  11.     text-align: center;  
  12.     background-color: #1D4D90;  
  13.     color: #F9FAFB;  
  14.     font-size: 16px;  
  15.     height: 38px;  
  16.     line-height: 38px;  
  17.     border-bottom: 1px solid #BBBBBB;  
  18.  }  
  19.  
  20.  #wrapper {  
  21.     padding: 10px;  
  22.  }  

運行 WL 服務器,右擊 HelloWorklight -> Run as -> Build and Deploy,在 console 中可以看到部署成功的提示信息,就表明應用已經(jīng)被部署到服務器上,訪問 WL 的控制臺鏈接(http://localhost:8080/console/#catalog ),在 catalog 標簽中可以看到 HelloWorklight 已經(jīng)被部署上去,點擊 Preview as common resource 就可以看到運行的效果。

從這個程序可以看到,構建一個純 Web 程序是很簡單的,但是如何將其部署到手機上呢?創(chuàng)建混合模式解決了這個問題。

混合模式

混合模式中引入的概念是環(huán)境(Environment),在相同的程序基礎上,WL 平臺可以生成不同環(huán)境的版本,根據(jù) Windows 的特點,示例將使用 Android2.2 作為模擬器環(huán)境,創(chuàng)建過程如下:

  • 選擇 HelloWorklight
  • 點擊 File-> New -> Other -> Worklight -> Worklight Environment
  • 在環(huán)境選擇中選擇 Android phones and tablets,點擊 Finish 完成

從系統(tǒng)自動生成的文件中可以看到,在應用目錄下多了一個 android 文件夾,在 Eclipse 的項目瀏覽頁中,多了一個 Android 項目。

圖 4. Android 客戶端程序

圖 4. Android 客戶端程序

對于剛剛使用 WL 進行開發(fā)的程序員來說,后面這個項目可以認為是系統(tǒng)對應于 android 文件夾自動生成的只讀項目,不建議進行修改。

重新部署項目,可以在 WL 的控制臺看到 Android 版本的提示,與訪問純 Web 模式的應用類似,點擊 Preview as android 就可以看到運行的效果。

為了在客戶端上安裝應用,右擊自動生成的 Android 項目,然后點擊 Run as -> Android Application,系統(tǒng)會啟動 Android 的模擬器,并在模擬器上安裝客戶端,然后顯示。這里需要提醒的是,一定要先部署 Android 版本到服務器,再運行生成的項目,否則應用運行會報錯。

本地模式

對于大多數(shù)的應用來說,混合模式已經(jīng)足夠滿足需求,但是當用戶有特殊需求時,滿足對純 Native API 的開發(fā)也是平臺需要考慮的情況。WL 平臺只需要在混合模式下對生成程序進行一定的改動,就可以完成本地模式的開發(fā)。相應的改動如下:

  • 修改 assets 文件夾下的 wlclient.properties 文件,包括遠程訪問的協(xié)議、地址和端口,在沒有適配器的情況下,這些參數(shù)可以忽略
  • 修改 com.HelloWorklight.HelloWorklight.java 文件,將繼承的類由 WLDroidGap 替換為 Activity,并且刪除 loadUrl 函數(shù)
  • 添加 WLClient 類用于監(jiān)聽遠程適配器獲得的信息(在這個應用中將不添加任何適配器)
  • 添加 TextView 類,用于在頁面上顯示本地化的效果
  • 按照混合模式的方法,運行 Android 程序,這時程序已經(jīng)和 WL 上部署的服務端應用沒有關系,即使沒有部署也可以良好的運行

清單 4. 本地模式的 Java 文件

  1. public class HelloWorklight extends Activity {  
  2.     @Override  
  3.     public void onCreate(Bundle savedInstanceState) {  
  4.         super.onCreate(savedInstanceState);  
  5.  
  6.         TextView text = new TextView(this);  
  7.         text.setText("HelloWorld");  
  8.  
  9.         setContentView(text);  
  10.     }  
  11.  }  

調試方法介紹

為了更好的開發(fā)應用,WL 平臺還提供了多種調試程序的方法:

  • 使用 preview 的方式,在瀏覽器上使用它自帶調試工具進行調試
  • 雖然有些瀏覽器支持 console.debug() API,WL 平臺提供了自帶的 log 框架,包括 WL.Logger.debug() 和 WL.Logger.error() 方法,上述方法可以根據(jù)環(huán)境的不同,將日志輸出到不同的地方
  • 平臺還支持通過 Weinre 和 iWebInspector 進行調試

結束語

WL 作為新一代的移動開發(fā)平臺,向開發(fā)者提供了一個完整而又靈活的開發(fā)框架?;谶@個框架,程序員可以開發(fā)基于 HTML5 的純網(wǎng)頁應用,又可以開發(fā)混合和本地模式的手機客戶端應用。在 JS 框架的支持下,除了內置的 prototype 外,還支持 jQuery、dojo、sencha 等多種 JS 框架,對于不同的前端開發(fā)要求有很好的支持。本文通過一個簡單的示例描述的開發(fā)各種應用的方法,可以幫助讀者對 WL 有個整體的了解。

責任編輯:佚名 來源: developerworks
相關推薦

2012-11-30 10:31:44

IBMdW

2012-09-19 15:29:26

Worklight適配器

2012-11-05 10:36:40

IBMdw

2012-12-03 13:49:01

IBMdW

2013-08-19 15:36:07

在家辦公程序員

2012-09-19 14:40:35

Worklight

2012-12-10 10:53:04

IBMdW

2019-07-02 16:57:20

混合云技術Linux

2020-02-11 16:49:24

React前端代碼

2012-11-15 10:20:55

IBMdw

2024-11-13 15:18:51

JITWatch開發(fā)

2014-08-07 10:52:18

GitHub代碼托管

2012-09-04 10:20:31

IBMdw

2018-08-08 08:40:54

DjangoJuliaFlutter

2012-09-19 14:27:16

Worklight

2009-12-01 14:10:34

路由器安裝圖解

2010-07-26 10:01:01

虛擬化

2012-06-14 09:57:12

跨平臺工具IBMWorklight

2009-03-13 10:39:55

編程Visual StudSilverlight

2009-12-30 14:03:36

ADO.NET Ent
點贊
收藏

51CTO技術棧公眾號