WAC:wholesale applications community(大規模應用軟體開發聯盟)
官網:http://www.wacapps.net/
我所知道的,WAC標準最開始是由一群電信營業商推出的,包括移動在內,作為移動平台的一個標準,提供一個WAC的runtime,使用HTML開發,從而一次編寫,到處運行。多餘的不多說,類似於Phonegap這樣的,只是Phonegap提供的是一個開發包,封裝的是不同平台的SDK等,而WAC標準是提供一個runtime,讓程式運行在runtime上,類似於運行在自己的“虛擬機器”上吧。我相信,WAC的runtime實現起來,還是得靠webkit的。
目前關於WAC的訊息貌似還不多,也不算成熟,目前很多公司加入了這個聯盟。由於WAC只是一個標準,所以實現應該還是不同的產商自己去實現了,官網上目前是WAC2.0了,只提供了Android的實現和一些模擬器的工具、開發工具什麼的。
大概看了一下,對於android,其提供了一個runtime(一個apk,安裝一下就是了),一個管理器(也是一個apk,用於安裝、運行、卸載、更新WAC打包程式等)。開發工具就不用說了,既然是HTML開發,那麼可以自己用其他工具開發,也可以用其提供的Eclipse外掛程式或獨立工具,使用其提供的開發工具的好處是會直接按照WAC標準打包。WAC程式是wgt格式打包的。其SDK為:http://www.wacapps.net/sdk(PS:我下載的是外掛程式版本的,貌似這幾個連結不是都能用,搞不清楚,我下載的是Vendor為Obigo的這一個,可以用)。
下載後,安裝和使用什麼的,有幾個文檔,寫得很清楚。當然,由於是android,所以肯定是需要安裝android開發相關的SDK什麼的了。對於Android模擬器或者用真實裝置測試WAC程式,只需要在模擬器或裝置上安裝了runtime和manager就可以了,就是兩個apk,所以安裝也很容易了,當然WAC的SDK下也提供了一個install指令碼。
一切解決之後(開發環境、虛擬機器中WAC運行環境等),進行一個簡單的測試:
(1)寫一個“hello,world”的WAC程式:
1. 建立工程,選擇File->New Project->Widget Project->WAC Widget Project,後面的下一步就是了,自己看著填寫。
2. 工程結構如下:
其中,JavaScript Resources是WAC的一些JS庫,icon.png是程式的表徵圖,index.html、main.js、style.css是對應的web開發的那一套了,裡面基本沒有什麼內容,config.xml,這個檔案是設定檔,一個manifest檔案。開啟index.html,內容修改如下:
<!DOCTYPE html><html><head><meta charset="UTF-8"></head><body>Hello, world!<button onclick="alert('hello, world')">Button</button></body></html>
3. 查看效果和打包
WAC SDK提供了一個“預覽”的工具,在Eclipse中,菜單Widget下(或者工程上右鍵Widget Tools),就是和WAC SDK相關的幾個簡易功能了。目前就兩個功能,預覽和打包。
A. 打包:菜單Widge下,有Export with signing和Export without signing,分別是簽名打包和不簽名打包。匯出後就是一個wgt格式的檔案了。
B. 預覽:菜單Widget下,還有Previewer profile和Show Previewer,Show Previewer就是用於預覽效果的,profile選項就是設定一些預覽的參數的,很簡單。當然,previewer這個預覽器上的一些按鈕功能什麼的就不介紹了。
4. 測試回合
上面的預覽始終沒有在android系統上運行,那麼,如果要運行,首先要按照上面的提示打包得到wgt。然後,在命令列下運行:
adb push hello_wac.wgt /mnt/sdcard
即把wgb檔案push到android上。然後在android上,運行Widget Manager,如下:
然後就可以點擊安裝了,就不了,手冊上都有。
安裝完成後,在應用程式裡面就可以找到hello_wac了,點擊運行,可以得到如下結果:
可以看到,應用程式的”背景“是透明的,這是WAC的特性,其有兩種運行模式,雙擊一下,就不會透明了。具體參考手冊上有說明。
總結:個人的理解,WAC是一個標準,其實現,也是依賴於webkit的。