点货网 x mPaaS | 仅 2 位 Java 开发,使用小程序上线一款 App
一次真正意义上的低成本技术架构升级。
项目背景
衡东点货网是根据物流行业发展趋势及国家政策引导开发的网络货运平台,其主要功能承载“车货信息发布、匹配、运费支付与发放、信用管理等”。
而关于项目的开发人员组成,长期以来仅仅只是“核心开发 2 人 + 实习开发 2 人“的规模,在支撑日常的业务迭代方面力有不逮。同时,结合 2020 年网络货运平台政策的调整,点货网作为网络货运平台,我们的移动端 App 内需嵌入监管平台的 SDK 插件,从而日常业务运营数据能够与监管平台的系统打通,统一管理规范。
难点出现了。
因现有的开发团队组成主要以 Java 工程师为主,同时能够对接三方 SDK 的开发仅两位,开发资源突然捉襟见肘。而在原有的工程中,存在 Uni-App 的选型,在缺少对方技术团队支持的情况下,要我们现有团队实现原生 SDK 的接入颇有难度。同时考虑到后续“点货网 App”自身需具备接入原始 SDK 的能力,因此我们的视角开始转向了“如何保障项目顺利完成联调测试,并提升自有 App 的健壮性”。
我们开始筛选市面上各类跨平台的 App 开发技术,在此期间对比了 Uni-App、Weex、Flutter、mPaaS 等跨平台开发框架。
作为一名 Java 开发,以上各跨平台开发框架的对比仅作为第一印象。针对各框架的优劣对比没有展开深度分析,仅适用于大家在现有项目/工程中应对特定需求的技术选型参考。
因个人目前只具备 Java 和 Vue.js 的开发能力,无法在短时间内快速掌握一门全新的开发语音或原生 UI 组件开发的能力,但因业务要求我们务必要彻底提升 App 的健壮性,因此团队决定将 Uni-App 替换为 mPaaS。
接入过程回顾
作为一名 Java 开发,对于 Vue.js 的语法还算熟悉,因此我在 2019 年 8 月起开始接触并测试 mPaaS 的框架能力,尤其是小程序容器的部分,同时在这期间开始了解安卓开发的相关知识。
2020 年 6 月开始,我开始尝试独立接入 mPaaS 小程序,针对点货网 App 进行功能迁移并正式接入监管 SDK 插件。
由于在正式使用之前,我已了解到 mPaaS 产品的具体特性,也了解到 mPaaS 不同版本之间开发配置存在一定差异,最终我们决定直接基于“mPaaS 小程序 Demo”实现点货网的基础功能,并在此基础上针对功能进行调整,以满足自身业务特性的需要。期间也有遇到一些小问题,在 mPaaS 研发团队的支持下得以顺利解决。
我们也建议大家,如果是初次接触 mPaaS,务必要针对官方文档提供的步骤,结合现有的 Demo 进行测试,避免因技术框架兼容性导致各类异常错误。
最终,得益于 mPaaS 小程序的不断升级迭代,点货网 App 的小程序组件接入和更新也变得愈发简单,技术门槛被极大地降低优化。
回顾第一版点货网 App 接入 mPaaS 小程序容器的场景,当时我们团队只有两位技术开发,另外一位同学还需要兼顾运维和其他开发事项,因此实际上真正开发的只有一个人。
面对这样的情况,我们只能选择冒险。但本质上,我们实际上信任的还是 mPaaS 具备原生应用与小程序兼容的框架能力,以及 mPaaS 技术团队的支持响应速度。
我们选择现有的 App 直接接入 mPaaS 进行开发,为了加快业务的迭代速度,第一版点货网 App 中我们只包含原有 App 的核心功能和监管 SDK 能力,并同时根据实际业务需求完成迭代。
目前,点货网 App 基于 mPaaS 小程序,已成功实现从欢迎页启动后自动进入小程序,并直接调用自定义 API 实现欢迎页面销毁和安卓端权限校验的功能。预计八月下旬,我们将正式上线,替换原有的 App 为客户提供服务。
价值沉淀
回顾接入 mPaaS 小程序的历程,我们也受益良多。对于 Java 开发同学而言,我们不再需要专门学习安卓的 UI,用熟悉的 HTML 即可直接进行页面开发,真正地以较低成本进行技术架构的升级。
而我们的 Web 端与小程序的网络请求全部使用相同的框架,因此 Web 端已开发完成的业务能够快速地迁移至 mPaaS 小程序中,只需简单的调整即可满足 mPaaS 业务逻辑的处理需要,从而避免业务逻辑代码重复编写,保证双端业务逻辑一致,降低多人协作中业务理解差异导致项目实现不一致的问题。
实现 mPaaS 接入后,只有在原生 SDK 插件变更时或增加时,我们才需要针对 App 进行更新。像一般小程序的功能调整、变更、升级,均可以实现用户无感知升级,避免对用户的打扰,同时也能充分满足我们业务快速迭代的诉求。
未来展望
作为一名非专业的 App 开发,我们也由衷希望 mPaaS 能够推出插件市场或者平台,为开发者直接提供如人脸核身、图片识别、手机号码校验等通用基础 API 服务或者功能。
开发者的诉求实际上很简单,如果能专注于业务的需求开发,而不是重复地接入通用化的能力,对于个人及业务的成长都具有一定价值。
未来“点货网 App”将继续依托 mPaaS,利用现有的移动端组件能力帮助 App 持续升级。以客户的需求为导向,结合实际业务随取,为客户提供简单、便捷和实用的 App 体验。对于“点货网 App”而言,我们同时也保持开放,希望能够跟更多开发者一起交流接入、使用 mPaaS 过程中遇到的问题,和大家一起共建 mPaaS 的开发者生态。
👉点击链接
了解更多关于「mPaaS 小程序」的相关信息
END
- mPaaS 小程序架构解析 | 实操演示小程序如何实现多端开发
- 让小程序在自有App中启动的技术来了:mPaaS 小程序架构深度解析
- 南京儿医在线 x mPaaS | H5 性能体验太卡,我们换了小程序试一试

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
阿里云 SAE 携手云效助力「石家庄掌讯」持续交付、降本提效
背景 石家庄掌讯信息技术有限公司创立于2009年,是一家提供企业信息化咨询、创新型软件产品、电商代运营服务,标准化管理、快速发展的高新技术企业。当前公司正处于企业互联网市场突破转型重要阶段,希望将更多精力转移到业务创新,提升开发和交付效率,低成本试错。因此选择一套低门槛开箱即用的持续交付、快速部署&运维平台尤为重要。 面对的挑战 组织、人员权限管理复杂:Jenkins的权限管理独立一套,与其它系统不能很好的对接,维护成本非常高。 好的工程实践、流程规范不容易复用,质量更无法保证:代码开发过程中加入了阿里巴巴P3C规范,与集成工作流无打通,不得不依赖人工介入的效果,当项目的时间紧,任务重,往往执行不到位,效果无法保证,形同虚设。代码质量很难保证。 FTP手工发布效率慢,Jenkins需要编写大量的脚本,降本提升效率成为了瓶颈:公司在很长一段时间在使用Jenkins作为自动化部署工具,Jenkins易用的插件化模式和灵活的流水线脚本编写能力是我们一直使用他的原因。不过对于我们这种0运维人员的小团队来说,一些平台细小的不便性也会团队效率带来很大的负面影响。Jenkins的流水线脚本编...
- 下一篇
PAI:一站式云原生AI平台
本文是《飞天大数据产品价值解读系列》之《PAI:一站式云原生AI平台》的视频分享精华总结,主要由阿里云机器学习PAI团队的产品经理高慧玲(花名:玲汐)向大家介绍了阿里巴巴整体的AI情况以及一站式云原生的AI平台PAI,并且做了简单的DEMO演示。以下是视频内容精华整理,主要包括以下三个部分:1.阿里巴巴整体AI介绍;2.PAI:一站式云原生AI平台;3.快速上手演示案例。 一、阿里巴巴整体AI介绍 阿里巴巴致力于打造A+B+C+D+E的AI研发、应用和生态合作体系。经过前面的几次直播,相信大家已经了解MaxCompute、Flink等大数据计算引擎。在我们的AI架构里,算法和大数据不分家,如下图所示,AI架构最底层由算法(A)、大数据(B)以及计算能力(C)提供了我们整个AI架构的基础能力。基于ABC孵化出了各个垂直领域里的AI应用场景(D),这些应用场景也在不断的反哺我们下层的算法及算力的不断前进和衍生。在ABCD之上,构建基于AI的生态体系(E)。阿里巴巴认为只有全面布局上述五个方面,形成软硬一体、应用驱动的研发形态,才能在人工智能时代形成强大技术优势。基于上图所示的架构所蕴含的指...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- MySQL8.0.19开启GTID主从同步CentOS8
- Hadoop3单机部署,实现最简伪集群
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题