Cordova 开发日记 01:环境部署
安装部署
sh
npm install -g cordova
cordova create MyApp
cd MyApp
cordova platform add browser
cordova run browser
上面的 browser 可以是其他平台 (android/ios 等)
我目前使用的是 android 平台,系统是 ubuntu
以下几个问题注意以下:
- 编译安卓 app 需要 oracle jdk, 不能用系统自带的 openjdk
- 保证 android sdk 已经配置到环境变量
- 保证 adb 正确链接设备
adb 的配置可以参考这篇文章:http://www.linuxidc.com/Linux/2013-01/77625.htm
跨域请求
众所周知,浏览器为了安全,默认的请求是没法跨域的,在 cordova 中需要额外设置
这里要用到一个插件:cordova-plugin-whitelist
官方地址:http://cordova.apache.org/docs/en/latest/reference/cordova-plugin-whitelist/index.html
视图架构
因为 cordova 是单 webview 模式,所以视图架构直接影响 app 的体验。
推荐框架是 react.js, 性能高,jsx 配合 webpack 非常适合单页面应用的开发。(react-native 在这里不做介绍,有兴趣的可以看看,和 cordova 各有优势)
关于 jQuery/zepto, 并不是不能引,某些方法还是超级实用的,但是不要用他们来做 dom 操作,效率非常低。
一些问题
某些手机存在 300ms 点击延迟,这个建议使用 fastclick.js 解决
还有一些坑稍后会补充。..
调试
推荐 ripple
sh
npm install -g ripple-emulator
cd appDir
ripple emulate
真机调试: 我写成了一个 bash 脚本
sh
#!/usr/bin/bash
cd /home/wolfx/project/cordova/roadkeeper
for arg in "$@"
do
if [ $arg == -b ]; then
cordova build android
fi
done
for arg in "$@"
do
if [ $arg == -i ]; then
adb install -r /home/wolfx/project/cordova/roadkeeper/platforms/android/build/outputs/apk/android-armv7-debug.apk
fi
done
也可以直接
sh
cordova run android