查看原文
其他

一个小型GIS项目的技术选型

麻辣GIS 麻辣GIS 2022-07-17



最近的一段时间里,一直没怎么更新相关 GIS 干货,实在有点抱歉。原因是业余时间和朋友一起接了个小活儿(没有996的公司只能自食其力了),由于之前也没太多相关经验,断断续续做了一段时间之后,这里也简要写个心得体会,万一后面有人也想接个小外包啥的,或许也可以做点小的参考。后续的时间如果条件允许,在数据脱敏的情况下,我会写几篇文章,详细介绍开发一个简单的GIS应用(跨Android、IOS、H5及小程序平台)的过程。



1

需求


主要的场景如下。


  1. 通过管理后台可以下发不同的检查任务给不同的检查员

  2. 检查员通过手机中的APP收到推送

  3. 打开APP点击任务,打开地图,导航路线

  4. 检查员到达特定地点,完成作业,并上传。



1

技术选型


前端:Uni-app,官网地址:https://uniapp.dcloud.io/


后端:Parse,官网地址:https://parseplatform.org/



1

为什么这么选?


其实前端的技术栈的选择还是有点纠结的,当时对比了几个:


  1. React Native

  2. Weex

  3. Flutter

  4. uni-app


React Native是我本人最想使用的技术选型,因为之前项目中也写过一些,并且最新的 React Native 已经支持了 Hooks,并且开发生态非常好,基本常用的功能不需要再去写原生代码。但项目中的几个新人都是Vue技术栈,并且对 React Native 的坑还没怎么踩过。基于 时间和团队开发效率 考虑,于是放弃。


Weex 在之前的很长一段时间内被折磨的很惨,并且现在官方的维护也基于相当于停止。PS:阿里的开源项目,目前最好用的就是 Antd 了吧。好不容易从坑里爬出来,我不是不可能再跳进去的。


Flutter,这是挑战 React Native 的强力对手。之前也看过许多文章和测评,并且写过一些的小的demo,但最后出于其目前 5000+ 的issue数量以及目前的开发生态,最后还是出于保守交付考虑,暂时搁置。


uni-app,其实本来是不想选这个的,(是的,我倾向于React Native),它是一个国产的平台,并且兼容APP端也使用了 Weex。选它一是因为使用的是 Vue 语法,团队成员可以迅速投入交付,不需要多少学习成本。二是其支持的平台足够多,一套代码编到8个平台。



另外其对 Weex 也做了一定的封装,避免了之前 Weex 开发的各种痛苦。生态目前来看也可以,官方还有各路开发者提供不少的插件。


至于后端的选型比较简单,因为这个项目的后端工作量不大,用不上 Spring 这种大家伙,本来考虑的是 Lean Cloud,后来客户要求数据放自己服务器上,于是就使用了开源的 Parse(相当于开源版本的 Lean Cloud)。




1

有哪些坑?


目前开发过程中遇到几个坑,也和大家简单分享。


  1. vue的数组检测在某些情况下必要要更新引用

  2. 底层 weex 支持的css语法少

  3. 地图的开发不如 JavaScript API 方便

  4. 原生 TabBar 支持的设定太少,好多效果实现不了

  5. IOS 13,部分UI会有bug,目前需要更新到最新开发版

  6. 开发工具不好用,不支持Vim模式与插件


还有一些小的细节,大约在可接受的范围之内,也欢迎踩过坑的老铁一起讨论解决方案。


1

结语


目前开发已经进行了2个迭代,从目前可见的进度来看还是可以的,后续如果有更多的坑我会再写文章更新。如有其他问题,也可以留言。如果项目如期交付,我再把整个开发过程写几篇文章,这里立个Flag,欢迎大家监督。另外最近因为推文干货有点少,后期忙完,会给大家送点小奖品,生活不易,请大家理解~


1

扩展阅读


九、十、十一

「教程」使用ArcMap查找相邻县的方法

推荐一个激光雷达科普视频(林业调查篇)

「教程」怎么下载带有审图号的地图数据

「图解」SuperMap iServer安装过程详解

「教程」使用 ArcGIS Pro 绘制美丽星空

「教程」ArcMap根据两个属性信息分别确定符号大小和颜色

「地图故事」由中国地名构成的壮美地图

「地图故事」中国县级以上行政区划地名中,哪些字是最常见的?

「图解」ArcGIS 10.6 for Desktop 安装教程(附下载地址)

「图解」ArcGIS 10.4.1 Desktop 完整安装教程(含win7/8/10 32/64位+下载地址+亲测可用)

「解惑」安装ArcGIS License Manager 服务无法启动的解决方案汇总

「分享」 王志强:ArcGIS 10.2操作入门视频教程汇总

「技巧」听说你的ArcGIS卸载不了?

「资源」分享天地图风格ArcGIS符号库

「视频」ArcGIS 10.5安装视频教程

「干货」ArcGIS实践教程汇总

「分享」小小孔夫子:ArcGIS操作实例视频教程38讲全集

「技巧」重装ArcGIS的注意事项

「教程」使用ArcGIS(ArcMap)进行简单的缓冲区分析

「视频 」ArcGIS API for JavaScript开发入门教程

「视频」ArcGIS 10.6 for Desktop 安装视频教程

「资源」GitHub上几个有用的高校学习资源

「勘误」地图里的那些不可忽视的问题

「教程」行政边界矢量数据的获取——以山西省为例

「教程」遥感图像预处理之辐射定标

「教程」使用百度地图API来制作个性化地图

「福利」2019年Esri用户大会全套资源下载


1

分享你的文章


码加小编

一起"稿"GIS



END


关注 麻辣GIS

291616564(QQ群一)

166408035(QQ群二)

627853279(QQ群三)
436386604(QQ群四)
606176554(QQ群五)
946178380(QQ群六)

http://malagis.com


长按识别二维码关注我们


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存