点货网 x mPaaS | 仅 2 位 Java 开发,使用小程序上线一款 App

简介: Java “司机”上路指南

封面图0821.jpg

一次真正意义上的低成本技术架构升级。

项目背景

衡东点货网是根据物流行业发展趋势及国家政策引导开发的网络货运平台,其主要功能承载“车货信息发布、匹配、运费支付与发放、信用管理等”。

而关于项目的开发人员组成,长期以来仅仅只是“核心开发 2 人 + 实习开发 2 人“的规模,在支撑日常的业务迭代方面力有不逮。同时,结合 2020 年网络货运平台政策的调整,点货网作为网络货运平台,我们的移动端 App 内需嵌入监管平台的 SDK 插件,从而日常业务运营数据能够与监管平台的系统打通,统一管理规范。

难点出现了。

因现有的开发团队组成主要以 Java 工程师为主,同时能够对接三方 SDK 的开发仅两位,开发资源突然捉襟见肘。而在原有的工程中,存在 Uni-App 的选型,在缺少对方技术团队支持的情况下,要我们现有团队实现原生 SDK 的接入颇有难度。同时考虑到后续“点货网 App”自身需具备接入原始 SDK 的能力,因此我们的视角开始转向了“如何保障项目顺利完成联调测试,并提升自有 App 的健壮性”。

我们开始筛选市面上各类跨平台的 App 开发技术,在此期间对比了 Uni-App、Weex、Flutter、mPaaS 等跨平台开发框架。

1.jpg

作为一名 Java 开发,以上各跨平台开发框架的对比仅作为第一印象。针对各框架的优劣对比没有展开深度分析,仅适用于大家在现有项目/工程中应对特定需求的技术选型参考。

因个人目前只具备 Java 和 Vue.js 的开发能力,无法在短时间内快速掌握一门全新的开发语音或原生 UI 组件开发的能力,但因业务要求我们务必要彻底提升 App 的健壮性,因此团队决定将 Uni-App 替换为 mPaaS。

接入过程回顾

hailuo_605291528_RF_全媒体用途.jpg

作为一名 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 为客户提供服务。

价值沉淀

vcg_VCG41N812948018_RF.jpg

回顾接入 mPaaS 小程序的历程,我们也受益良多。对于 Java 开发同学而言,我们不再需要专门学习安卓的 UI,用熟悉的 HTML 即可直接进行页面开发,真正地以较低成本进行技术架构的升级。

而我们的 Web 端与小程序的网络请求全部使用相同的框架,因此 Web 端已开发完成的业务能够快速地迁移至 mPaaS 小程序中,只需简单的调整即可满足 mPaaS 业务逻辑的处理需要,从而避免业务逻辑代码重复编写,保证双端业务逻辑一致,降低多人协作中业务理解差异导致项目实现不一致的问题。

实现 mPaaS 接入后,只有在原生 SDK 插件变更时或增加时,我们才需要针对 App 进行更新。像一般小程序的功能调整、变更、升级,均可以实现用户无感知升级,避免对用户的打扰,同时也能充分满足我们业务快速迭代的诉求。

未来展望

hailuo_147692165_RF_线上全媒体用途.jpg

作为一名非专业的 App 开发,我们也由衷希望 mPaaS 能够推出插件市场或者平台,为开发者直接提供如人脸核身、图片识别、手机号码校验等通用基础 API 服务或者功能。

开发者的诉求实际上很简单,如果能专注于业务的需求开发,而不是重复地接入通用化的能力,对于个人及业务的成长都具有一定价值。

未来“点货网 App”将继续依托 mPaaS,利用现有的移动端组件能力帮助 App 持续升级。以客户的需求为导向,结合实际业务随取,为客户提供简单、便捷和实用的 App 体验。对于“点货网 App”而言,我们同时也保持开放,希望能够跟更多开发者一起交流接入、使用 mPaaS 过程中遇到的问题,和大家一起共建 mPaaS 的开发者生态。

👉点击链接

了解更多关于「mPaaS 小程序」的相关信息

END


延伸阅读.png


搜索回流.png

动态-logo.gif

公众号媒体导流矩阵.jpg

相关文章
|
11天前
|
存储 编解码 小程序
抖音小程序开发中遇见的坑点
在抖音小程序开发中,需注意10大坑点:遵守小程序限制与规范;解决兼容性问题;优化数据加载速度;适应分享功能限制;处理视频播放挑战;优化图片加载显示;管理资源文件;提升用户体验;考虑安全性;及时更新维护。通过测试、优化和遵循官方文档,可克服这些问题,打造优质小程序。
|
4天前
|
小程序 前端开发 JavaScript
轻松学会微信小程序开发(一)
轻松学会微信小程序开发(一)
|
4天前
|
Java 索引
Java String应用与开发
Java String应用与开发
12 0
|
4天前
|
安全 Java 开发者
构建高效微服务架构:后端开发的新范式Java中的多线程并发编程实践
【4月更文挑战第29天】在数字化转型的浪潮中,微服务架构已成为软件开发的一大趋势。它通过解耦复杂系统、提升可伸缩性和促进敏捷开发来满足现代企业不断变化的业务需求。本文将深入探讨微服务的核心概念、设计原则以及如何利用最新的后端技术栈构建和部署高效的微服务架构。我们将分析微服务带来的挑战,包括服务治理、数据一致性和网络延迟问题,并讨论相应的解决方案。通过实际案例分析和最佳实践的分享,旨在为后端开发者提供一套实施微服务的全面指导。 【4月更文挑战第29天】在现代软件开发中,多线程技术是提高程序性能和响应能力的重要手段。本文通过介绍Java语言的多线程机制,探讨了如何有效地实现线程同步和通信,以及如
|
4天前
|
JSON 小程序 JavaScript
微信小程序开发1
微信小程序开发1
|
7天前
|
安全 算法 Java
写给Java开发的Go语言协程实践
写给Java开发的Go语言协程实践
13 0
|
9天前
|
开发框架 前端开发 安全
Java从入门到精通:2.2.2学习使用Spring框架进行Web应用开发
Java从入门到精通:2.2.2学习使用Spring框架进行Web应用开发
|
9天前
|
设计模式 存储 前端开发
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
|
9天前
|
存储 算法 Java
盘点Java集合(容器)概览,Collection和Map在开发中谁用的最多?
盘点Java集合(容器)概览,Collection和Map在开发中谁用的最多?
27 0
|
14天前
|
Java API 开发者
Java 8新特性解析及其在企业级开发中的应用
【4月更文挑战第19天】本文将深入探讨Java 8的新特性,包括Lambda表达式、Stream API、Optional类等,并结合实例分析这些新特性在企业级开发中的优势和应用。通过阅读本文,您将了解到Java 8的新增功能以及如何在项目中灵活运用这些功能,提高代码质量和开发效率。

相关产品

  • 移动开发平台 mPaaS