简介
开发快应用最近遇到太多问题可能10篇都写不完,经过很长时间,多少次想放弃,不断尝试,在华为开发工具与快应用联盟工具之间切换,希望有个是稳定的,最终是通过快应用联盟开发工具开发出了新的快应用SDK,并写了Demo。华为的开发工具属于内侧我就在用,问题比联盟的问题多,最近更新频繁些了,希望尽快可以完善商用,所以最终是通过联盟的工具。
地址:https://github.com/bmob/quick-app
效果
调试经验
准备以下工具
- 华为手机
- nodeJS环境
- 抓包工具
1.为什么要华为手机
首先他必须是有android手机,建议越新款越好,太卡,耽误时间。华为手机因为有些API,其他手机暂时不支持,调试如果都不支持,后面你完全没法看效果。
2.为什么需要抓包工具
因为目前不管是华为的开发工具,还是联盟的开发工具都还不支持网络调试,需要自己设置手机代理抓取请求。
华为开发工具与联盟开发工具调试区别
华为:
通过ADB驱动与手机连接,与手机调试,优点,当系统多个页面的时候,单词刷新调试速度会快10s左右, 但也很慢啦,你要知道不管是小程序还是H5,刷新一次也没都是零点几秒。 快应用如果项目有2个页面,平均时间大概是30s,这可能跟电脑也有关,我这台是MAC版
联盟:
走的node体系,反应虽然慢,但相对稳定。只有你有耐心,一般都可以看到效果, 不像华为,经常等个10分钟,还是没响应过来, 应该是确实进入BUG模式了。
调试界面样式注意事项
今天2018-05-11,2个开发文档,都还不支持审查元素,项目2个页面,单次刷新在30s左右。 (这个跟手机、已经打包工具有关,新建的项目就很快,调试一个小时后就到30s了。打包出来的文件到了4MB),没法审查元素,一切全靠猜。那就以DIV+CSS
技术来理解了,如果文档有写例子的功能,绝对不自己手写,这样能避免很多坑。
目前是华为的文档有例子,不过文档复制过去也都是错的多。像少了text结束符、不支持的标签乱用,很常见。
什么华为的文档,还会用错标签?
没错的,写文档这位兄弟肯定也是没写过快应用的,以为WEB那套成熟的技术,替换下标签就可以了。
快应用这套标签完全自造,导致问题太多,例如div不能包含div,text不能包含text,如果你想页面上显示个表单组件出来,list下面必须是list-item,必须带上type属性,css不支持float:left ,等等常用属性都不支持,目前这些标签、css属性都不支持,布局做起来比做个APP还难。
为什么只做了个登陆功能?
我把Bmob云数据库的,所有功能,包含短信、云函数等等功能都已经支持了快应用,为什么只做了登陆,因为上面说的,目前的快应用布局对于开发者来说,非常难理解。开发成本比APP还高,主要的问题还是存在于Css上面,大量css属性不兼容,例如float:left
这个这么常用的属性都不支持,css布局上举步维艰,不过听华为的工程师反馈是,未来小程序支持的,他们大部分都能兼容,并且会支持小程序转快应用。这个是下一步工作。
Bmob后端云的最新这套SDK最初就是为快应用而开发,然而由于快应用还不成熟导致目前安装都还不支持npm 安装方式,打包出来也没法像小程序H5一样直接使用,必须单独修改下。虽然在这么早期开发出SDK非常艰难 ,庆幸的是,通过编译后单独修改,这次SDK,我做了全平台兼容, H5、或者小程序的JS代码,可以直接复制到快应用,并且完全兼容不会有任何异常。
总结:
由于需要开发SDK
,快应用大部分接口我们都需要封装,这比开发一个应用要困难的多,其中开发工具的不成熟,让我举步维艰。奔溃、卡死、无报错、代码不运行,常有的事。 如果三个小时还没解决那个问题,我会重启电脑,新建个项目重新来封装这个接口。
为什么我不说三个小时还没解决那个错误,因为不像小程序还有40125
之类的错误,因为他根本就没报错,官方也没任何错误码,你根本不会知道错误是哪个。唯一的办法是,关闭软件,重新建个项目,重新编译,重新写。
最后感谢下华为的快应用相关工作人员,如果没有你们支持,也就没有今天的这个快应用SDK。
评论 (0)