前提知识
UI2下的文件说明
w文件:页面片段,由若干展现组件构成;
同名js文件:以模块方式定义一个js类;
同名css文件:只作用于当前w文件的样式定义;
WeX5页面运行包括两个阶段
服务端编译
w文件和css文件编译成html文件;
w文件和js文件编译成js文件;
客户端(浏览器)运行
页面创建
页面准备->onModelConstruct事件->Data加载数据->onModelConstructDone事件->onLoad->onParamsReceive事件->onActive事件
用户交互
再次向页面传参数->onParamsReceive事件
进入页面->onActive事件
离开页面->onInactive事件
关闭页面
onInactive事件->onunLoad事件
资源分三部分:APP(icon、欢迎页、cordova插件等,是一个外壳)、UI(指web界面)、数据(从数据库取数据,不需要考虑);
发布与更新
发布
APP:设置APP版本号;打包(版本号与设置版本号相同);将APP包与UI资源发布到web服务器;
注意:UI资源可以打包进APP,也可以不打包进APP;
参考:
UI2/portal/sample/appVersion_in_server.js、UI2/portal/sample/appVersionChecker.js;复制到当前项目的UI下面,引入require("$UI/xxx/appVersionChecker"),是指客户端APP启动时候会先检测版本信息;在打包向导中会要求输入APP的版本号;appVersion_in_server.js这个文件是指放在服务端上面的版本文件;
打包APP:在Native对应项目下右键,“编辑本地APP”,输入web服务器地址、web访问路径、版本号等,一直下一步,打包完成;成功后,在dist目录下有xxx.apk文件生成;
部署UI资源:UI资源在www目录下的目录复制到tomcat/webapps/下面,然后将开发目录下的apache-
tomcat\webapps\app-template\WEB-INF复制到部署目录下面;
更新
仅更新UI资源
1 编译UI资源(右键Native下的项目,选择“编译使用到的UI资源”;结果覆盖到www目录下面;编译好的UI资源都是.html+.js;)
2 发布到web应用服务器
说明:更新页面后立马看见效果;
更新APP及UI资源
1 修改APP版本号(修改appVersion_in_server.js文件,版本号、下载路径、修改日志)
2 打包
3 发布到web应用服务器(覆盖www目录下的内容)
说明:更新页面后立马看见效果;
参考:http://docs.wex5.com/app-resources-and-version-update/
*APP打包选项
模式1:UI资源启动后智能更新模式。WeX5推荐使用本模式,使用到的UI资源编译为标准的Web资源(HTML、CSS、JS等),并部署到Web服务器上,支持多版本同时运行和灰度发布,如Web服务端资源有更新,则延迟(异步)更新;
无Web服务端的本地应用,UI资源直接包含到本地应用中,也推荐使用此模式;
模式2:UI资源启动时立即更新模式。使用到的UI资源编译为标准的Web资源(HTML、CSS、JS等),并部署到Web服务器上,如Web服务端资源有更新,则启动时立即(同步)更新资源;
模式3:UI资源通过UIServer访问。BeX5推荐使用本模式;WeX5调试时也推荐本模式,但由于WeX5服务端更为灵活,发布推荐使用模式1;
模式4:打开一个非WeX5开发的网站。本模式的App类似一个没有地址栏并打开一个默认网址的浏览器,并可用js调用本地插件;
小结:官方推荐,在发布的时候使用模式1,模式1速度快;但,实际情况,个人认为模式2最合适!资源文件升级,可以立马见效!否则,模式1的方式是需要重启3次APP才看见效果,不即时!用户也会不停的问,为什么没升级成功的!
部署baas后端服务
1
右击工程中的Bass,执行“模型编译”;将模型资源文件打成jar包放到runtime\BaasServer下面;
2 复制runtime\BaasServer到tomcat\webapps下面,并改名为“baas”;
3 数据库配置文件在apache-tomcat\conf\context.xml,将配置信息复制过去;
4 数据库jdbc驱动包放入apache-tomcat\lib目录下;
问题:
如何脱离baas的后端服务,而是使用自己实现?web项目跟APP项目的后端只想统一使用一个,便于维护;
iPan
2016-06-24