由於需要在把應用打包成各平臺上的native app,所以需要按照各個平臺的項目結構來組裝應用,所以雖然主體程序都是基於HTML5開發,但依然需要在各個平臺上都構建一套項目,下面介紹一下我開發的這麼幾個版本的項目結構:
- Chrome
- Android
- IOS
- Webos
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.