麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

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

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

需求

主要的场景如下。

  1. 通过管理后台可以下发不同的检查任务给不同的检查员
  2. 检查员通过手机中的APP收到推送
  3. 打开APP点击任务,打开地图,导航路线
  4. 检查员到达特定地点,完成作业,并上传。

技术选型

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

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

为什么这么选?

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

  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个平台。

uni-app

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

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

Parse

有哪些坑?

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

  1. vue的数组检测在某些情况下必要要更新引用
  2. 底层 weex 支持的css语法少
  3. 地图的开发不如 JavaScript API 方便
  4. 原生 TabBar 支持的设定太少,好多效果实现不了
  5. IOS 13,部分UI会有bug,目前需要更新到最新开发版
  6. 开发工具不好用,不支持Vim模式与插件

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

结语

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

相关阅读

麻辣GIS-麻辣GIS

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子

已有 32 条评论

  1. xiaoyi
    xiaoyi 1#
    地图开发可以直接用过js加载的方式调用arcgis for JavaScript,和jsAPI一样使用
      1. 麻辣GIS
        麻辣GIS 作者
        App端使用webview体验非常不好
  2. 火炎焱
    火炎焱 2#
    为啥都是QQ群……
    与时俱进啊同志~
      1. 麻辣GIS
        麻辣GIS 作者
        微信群的聊天记录不能像QQ一样备份漫游,检索起来非常麻烦,无法形成沉淀,这一点跟QQ差的很远。再说,老年人才喜欢用微信😂
  3. 彩迷迷彩
    彩迷迷彩 3#
    写的太深奥,太专业,看不懂
      1. 麻辣GIS
        麻辣GIS 作者
        这破玩意有啥深奥,做的事不一样而已😂
  4. xiaoyi
    xiaoyi 4#
    不需要webview 直接渲染的
      1. 麻辣GIS
        麻辣GIS 作者
        App打包的时候也不需要把webview相关模块打包进去吗?能否具体说明一下,给了链接或者关键字,因为当时客户明确说明不需要私有地图数据,并且不会买ArcGIS授权,我们没有考虑ArcGIS这边的技术栈
  5. 会唱歌的鱼
    会唱歌的鱼 5#
    你好作者,我是一家天然气管道运营单位的管理者,目前正在使用一套GPS管道巡线系统,和你做的这种项目很像,想咨询一下,你们是否也做天然气管网的巡护系统呢?或者天然气管道的GIS系统?
      1. 麻辣GIS
        麻辣GIS 作者
        目前做的不是天然气哈,因为客户未经客户允许,也不能透露太多细节
  6. 蝶恋花兮王低低
    蝶恋花兮王低低 6#
    微信很lj的,为了有人把他标榜成先进了呢?切入点是大爷大妈们的应用
      1. 麻辣GIS
        麻辣GIS 作者
        可能这也是它的先进之处吧,让大爷大妈都会用了……
  7. 麻辣GIS小编(麻编)
    麻辣GIS小编(麻编) 7#
    不用ArcGIS技术栈,一是因为比较重,这种小项目用不上。二是,客户不买授权…
  8. 李重轻
    李重轻 8#
    虽然知道你说的对,但还是想杠一下:既然老年人采用微信,你为嘛不把文章发在qq空间[呲牙]
      1. 麻辣GIS
        麻辣GIS 作者
        这是个好问题啊。首先我们看审题,题主问的是为什么都是QQ群对吧,这里是关于群组的一个讨论。但你问我为什么文章不发QQ空间,这个杠点是不是有点歪了?
  9. 方枪枪
    方枪枪 9#
    我太喜欢这个公众号了,虽然大部分内容我都不懂[破涕为笑][破涕为笑]
      1. 麻辣GIS
        麻辣GIS 作者
        是不是我话太多了😂
  10. 刘松
    刘松 10#
    这功能的话可以直接考虑百度地图和高德地图,不用太麻烦。
      1. 麻辣GIS
        麻辣GIS 作者
        uni-app底层直接兼容了百度地图和高德地图,配置好sdk就可以用了
  11. 72_degrees
    72_degrees 11#
    所以用的什么gis技术呢?
      1. 麻辣GIS
        麻辣GIS 作者
        说白了,就是调用了一下高德地图的api
  12. 等风来
    等风来 12#
    很棒呀!感谢分享~[玫瑰]
      1. 麻辣GIS
        麻辣GIS 作者
        谢谢金主
  13. 亦秋
    亦秋 13#
    通篇开发技术 和gis没多大关系...
      1. 麻辣GIS
        麻辣GIS 作者
        对对对,在砖家眼里,这都不算GIS项目
  14. Iridescent
    Iridescent 14#
    编者的回复笑死我了[破涕为笑][破涕为笑]精彩哈哈
  15. vcr_不弃
    vcr_不弃 15#
    现在gis开发感觉基本都在往前端发展了
      1. 麻辣GIS
        麻辣GIS 作者
        传统意义上讲,只要是UI或者交互层都应该算前端
  16. IT.Bi
    IT.Bi 16#
    红红火火恍恍惚惚,好好好好
  17. Tombliboos
    Tombliboos 17#
    最近也在用uniapp,<map>组件的api大多数需要在nvue
      1. 麻辣GIS
        麻辣GIS 作者
        操作地图的API是不够用
      2. Tombliboos
        Tombliboos
        现在勉强满足项目需要,后面在看吧,[捂脸][捂脸],要求就是快速迭代

留言板(小编看到第一时间回复)