由於需要在把應用打包成各平台上的native app,所以需要按照各個平台的項目結構來組裝應用,所以雖然主體程式都是基於HTML5開發,但依然需要在各個平台上都構建一套項目,下面介紹一下我開發的這麼幾個版本的項目結構:
1)Chrome
Chrome非常簡單,標準的HTML代碼結構,只不過添加一個manifest.json描述檔案,就能使其成為一個Chrome APP,項目結構如所示:
manifest.json:
{ "name": "Starteam chrome", "description": "Starteam mobile chrome version.", "version": "1", "app": { "launch": { "local_path": "app.html" } }, "icons": { "24": "css/images/icon_24.png", "48": "css/images/icon_48.png", "128": "css/images/icon_128.png" }, "permissions": [ "unlimited_storage", "notifications" ]}
之後在chrome的擴充程式裡安裝此專案檔夾即可。
2)Android
Android版本的項目結構基於Phonegap推薦的即可:
其中:
- src:android native相關的類檔案
- assets/www:程式主體,包含HTML, JS, CSS和圖片等靜態資源
- AndroidManifest.xml:項目描述檔案
3)IOS
其中:
- cordovaLib.xcodeproj:phonegap架構源碼
- www:程式主體,包含HTML, JS, CSS和圖片等靜態資源
- Plugins:phonegap自訂外掛程式
- Supporting Files:項目資源和描述檔案
4)Webos
這裡沒用mojo或enyo架構,因此,項目結構相對簡單:
其中appinfo.json是項目描述檔案:
{"id": "com.hp.starteam.mobile.webos","version": "1.0.0","vendor": "hp","type": "web","main": "app.html","title": "starteam-mobile-webos","icon": "icon.png","uiRevision": 2}
基於此檔案可以把應用打包為webos的native app.