由于需要在把应用打包成各平台上的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.