一个小型GIS项目的技术选型(二)
在之前的文章《一个小型GIS项目的技术选型》中我介绍之前接过的一个小活儿,有一部分地图展示的内容,暂且就把它称为一个小型GIS项目吧。这个小项目中的技术选型使用了Uni-app + Parse的解决方案,最后成功交付了,但这个过程并不轻松,踩过了不少坑,然后又一个个的跪着爬出来,虽然最后的交付不是特别完美,但客户方表示也能接受。这算是我使用跨端解决方案来完成现实需求的一个探索,虽然钱不是特别多,也蛮有成就感的。
本来这个事情就结束了,但最近事情有了新的动态,客户说它们的用户都不愿意下载一个APP了,有点麻烦,希望我们能提供更轻量的解决方案,要求不用安装APP就可以使用。有意思的事情又来了,让我们再回顾一下需求。
需求
主要的场景如下。
- 通过管理后台可以下发不同的检查任务给不同的检查员
- 检查员通过手机中的APP收到推送
- 打开APP点击任务,打开地图,导航路线
- 检查员到达特定地点,完成作业,并上传。
变更后的需求:
我们发现客户把APP这一选项给取消了,要求使用不用安装就可以使用的解决方案。
潜在的技术选型
不使用APP技术,还要实现上述需求,还要兼容Android、iOS两端,那可以使用的解决方案其实不多,做一个简单的列举。
- 传统H5 + 短信推送
- PWA
- 小程序
- 轻应用
技术方案
本来能用的方案已经不多,那就依次来看。
传统的H5页面+短信推送是最容易想到,也是最简单的方案。不过有几个现实的点是,H5调用摄像头以及实现扫码这块来说开发上要花点时间,另外短信要钱,客户不想花这钱。传统H5的优势也很明显,容易部署发布,不需要第三方审核。最后做了一个Demo版本,客户觉得手机浏览器的体验不好,就放弃了。
PWA这个方案其实是用来展示技术储备的,但这玩意完全用上还有点问题,一个兼容,一个是国内的环境,基于H5的增强是Nice to have,但客户把H5都否定了,这块就放弃了。
轻应用这块更多的在Android,iOS不太好做,于是放弃。
最后就剩下小程序了,小程序其实有很多,但通常下我们所指的还是微信小程序。上面说的那些基础能力,微信都提供了,并且还支持推送,不要钱。写了一个Demo,客户觉得可以。
于是在最近的一段时间里,我又多出一个事来,开发一个带点地图可视化功能的小程序。
技术选型
选定了小程序的开发方案,那技术选型也比较好确定了。这次开发不是从头开始,因为之前使用的uni-app支持打包成小程序,所以可以节省很大一部分工作量。后端的话可以继续使得Parse,但我发现微信官方提供了Serverless的解决方案:小程序云开发,所以也决定做一个迁移。把之前的Parse的内容迁移过来,这样就省去了关于Parse的运维工作。
最后的技术选型:uni-app + 云开发
遇到的坑
目前项目还没做完,坑已经爬了不少了,先总结一下已经遇到过的:
- UI跨端是奢望。事实上当我打包成小程序平台后,完全乱了,还是改一堆UI。
- 小程序云开发与Parse的API不兼容,云函数得重新写。
- 小程序的数据库联表查询非常复杂。
- 推送有限制,目前想到的解决方案是做成企业微信小程序。
- 小程序有打包体积限制,目前已通过分包来解决。
小结
目前项目进展还不错,UI的坑在找到窍门之后,基本已经不存在了,节省了不少时间,后期做完再来和大家汇报。
最后,想问一下大家,有没有对这个有兴趣,如果人多,我就把功能简化一下,开个直播,教大家写一个带有地图展示功能的APP及小程序(不敢说这是做GIS了,被各位大佬骂惨了),如果有兴趣可以留言告知。
相关阅读
声明
1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。
2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。