谈谈为什么选择使用小程序及小程序的优缺点20171219

       最近有个移动项目关于饮料行业经销商及业务员管理的,主要功能有经销商业务员管理(签到/签退、请假出差管理、拜访足迹等),门店管理(门店搜索、新增、拜访和统计分析等),经销商管理(经销商订单跟踪、拜访、库存及消化周期分析等)。。。

       项目初期考虑做APP,先用安卓尽快出个1.0版本,一来现有人员可以马上上手,二来开发相对较快、可以通过1.0版本验证及完善需求;然后再开发IOS版本。实际情况鉴于我们安卓水平有限,studio编译效率低下,各种机器适配代价较高,开发进度失控。好不容易1.0版本上线啦,发现bug很多,修正bug后,用户升级成本很高。考虑到APP本身功能不是特别复杂,跟硬件相关的也就摄像头调用和GPS定位,而这些小程序都可以提供。为此,决定用小程序试试。

       初识小程序还是有蛮多惊喜的,最大的惊喜莫过“似曾相识”:

       1)容易上手,只要之前有HTML+CSS+JS基础知识,写小程序基本上没有大问题;当然如果了解ES6+CSS3则完全可以编写出即精简又动感的小程序;

       2)基本上不需要考虑兼容性问题,只要微信可以正常运行的机器,就可以运行小程序;

       3)基本组件库已经比较齐全:Toast,Loading框,Picker,定位及地图,Image,Input,Checkbox,Text,TextArea,ScrollView等常用的组件都有,而且使用也挺简单、方便;

       4)发布、审核高效,基本上上午发布审核,下午就审核通过,升级简单,而且支持灰度发布;

       5 ) 微信官方提供使用人数、频率等数据统计,小程序js脚本执行错误日志;

       6)开发文档比较完善,开发社区比较活跃;

       7)最近刚开放的牛x功能,新增webview组件,可以展示网页啦,这个比较爽;

        8)支持插件式开发,一些基本功能可以开发成插件,供多个小程序调用;

        由于本人即懂前端也懂java后台,算是全栈选手,原来搞了2个半月才勉强上线的安卓APP,小程序只用了40天就发布上线。为此,我觉得当团队开发实力不是很强,项目本身功能不是特别复杂,不妨试试小程序,当然实际开发及应用中,小程序也有诸多缺陷及遗憾:

       1)后台调试麻烦,因为API接口必须https请求,且公网地址,也就是说后台代码必须发布到远程服务器上;当然我们可以修改host进行dns映射把远程服务器转到本地,或者开启tomcat远程调试;不管怎么说终归调试比较麻烦。

      2)前台测试有诸多坑,最头疼莫过于模拟器与真机显示不一致(之前碰到一个案例,后续单独讲解)

      3)真机测试,个别功能安卓和苹果表现迥异,我们的小程序里有很多页面有定位功能,模拟器和iphone定位瞬间完成,然而安卓手机就蛋疼了,老显示“定位中...”要很久才能定位好。后来没办法只能优化,减少定位次数。

     4)native组件,展示很不好,比如textarea,不能在滚动页面出现,而且至于顶层,经常其它组件会被它遮挡,点击其它组件时,就进入textarea输入框;画布组件也是如此;

     5)页面跳转深度不能超过5个页面,这个比较麻烦,有些复杂的页面跳转没法实现,不过太复杂的话也有悖小程序简单易用的原则啦; 新版本深度已经由原5个页面调整到10个页面,因此不存在该问题啦。如果说10个页面还不够用,只能说明页面交互需要优化;

     6)小程序升级问题,官方文档说会自动更新,实际情况往往是要先把原来的小程序删除掉,重新搜索添加,才能加载最新版本;新版本提供了wx.getUpdateManager小程序版本更新管理器,开发人员可以通过api管理小程序更新,因此,理论上已经不存在更新问题。

     7)页面渲染稳定性有待提高,已经好几次出现部分用户的页面显示异常,整个页面被放大了好几倍,先删除原来小程序再添加回来,如此重复好几次,才能显示正常;

     8)js引用只能使用绝对路径,很蛋疼;基于安全性及MINA框架实现原理,小程序中对js使用做了很多限制,不能使用:new Function,eval,Generator,不能操作cookie,不能操作DOM;

     9)开发工具bug比较多且效率比较低,三天两头升级,解决老问题的同时又出现问题;文件查找、资源定位、代码编辑较eclipse有一定差距。经常出现把a.js当做b.js来修改。


      虽然小程序开发效率高,用户体检较常规H5页面好不少,但毕竟是“寄生虫”程序。因此有条件还是建议大家开发APP,小程序作补充。

猜你喜欢

转载自blog.csdn.net/chuangxin/article/details/78089708
今日推荐