一款App基于mPaaS小程序如何进行改造?

image.png


这篇故事围绕着一款 App 基于 mPaaS 小程序进行改造娓娓展开。
作为国内校园服务场景最丰富的平台,笑联 App 已覆盖国内 130 所高校,服务近百万高校学生。
截止目前,笑联 App 内的 12 个业务模块目前已顺利实现小程序化。不仅获得媲美原生应用的用户体验,同时有效规避“发版周期长”、“无法快速在线修复 Bug”等弊端,实现真正的动态发布与更新能力。


项目背景

开篇先做个自我介绍,笑联 App 目前已是国内提供校园服务场景最丰富的平台,目前已覆盖 130 所高校,服务近百万高校学生。

因我们提供的服务类型囊括洗衣机、热水器、淋浴等多项功能,业务模块多元化,并且需满足每所学校在服务类型、标准方面的个性化设计,笑联 App 长期堆叠业务模块,缺乏规范的模块化设计,导致代码愈发臃肿,开发效率低下。

与此同时,随着业务的持续扩张,任一需求的迭代均需要重新发版审核,很显然如此繁琐的发版工期已无法满足高频更新的业务需要。

我们急需在技术侧找到对应的解决思路,一方面简化业务模块之间的耦合,加速日常的开发速度;另一方面架构上需实现模块化,找到动态发布与更新的解决方式。

我们针对市面上已开放的技术选型做了调研,Flutter 和 mPaaS 理论上都可以满足我们当时的选型要求,但 mPaaS 小程序动态更新的能力跟我们业务需求相吻合,避免需要频繁更新整个 App。

接入过程

回顾 mPaaS 的接入过程,笑联作为早期用户,和 mPaaS 技术团队建立了深入合作的革命友谊:一方面对于 mPaaS 整体的技术体系有了更全面的了解,另一方面双方协作,针对“产品接入、功能丰富”做了很多改进工作。

  1. Android 接入初期使用 Inside 模式,适用于业务复杂的 App,尤其是多个业务模块并行开发、迭代且需要多人多团队协同。但由于框架中包含一些通用第三方 SDK(如支付宝支付、微信支付、微信分享等),因这些集成的第三方 SDK 自身版本过低或者功能不全,存在一定的解除依赖工作。
    后续 mPaaS 推出 AAR 原生接入模式后,由 Inside 升级至 AAR 在早期还需要技术同学的协助支持。

目前,mPaaS 已经实现针对 AAR 接入模式较好的支持:通过 mPaaS IDE 插件,可以简单地点击两下,便完成小程序能力的接入。而三方 SDK 的冲突,目前配备对应的详细文档说明。

  1. 作为早期用户,尤其是不熟悉 mPaaS 技术体系全貌的情况下,初期遇到接入出错时日志查看不够方便,不利于研发团队快速定位问题。
    关于这块,我们也和 mPaaS 官方团队做了交流,目前已将「问题定位」和「排查」作为专项重点跟进治理,我们期待后续的产品使用及问题自排查可以得到较大的体验改善。
  2. mPaaS 早期依赖的 Gradle 版本较低,笑联 App 在集成的时候由于 Gradle 版本的兼容问题,使得研发团队花费大量的时间定位编译失败的原因,后明确是低版本 Gradle 与其他第三方库的兼容性问题导致,如 ButterKnife。
    不过现在,mPaaS 已经完美适配了高版本 Gradle,初期接入过程中遇到的问题大部分已经迎刃而解。

价值沉淀

经过一段时间的调试,最终我们成功实现 mPaaS 的接入。一鼓作气,现阶段 12 个核心业务模块已全部完成改造,以“小程序”的方式嵌入到 App 中。

引入 mPaaS 小程序,虽过程有坎坷,仍然要多谢 mPaaS 的技术同学及时答复与支持,最终一个个问题都得到了相应的解决。

 

image.png


但实际上“mPaaS 小程序”对我们的价值远不止于此。

首先,借助小程序的开发标准能够快速覆盖 Android/iOS 双端。小程序的语法并不算难,对于新手而言上手也很快,作为客户端同学目前可以干两个人的活(开玩笑)

从研发效率的提升角度来看,小程序技术栈的引入确实给我们带来了很多改善。作为客户端开发,不用疲于在需求的高频迭代中,给自己更多的时间去思考去沉淀客户端本身的移动中台能力,利用 mPaaS 小程序提供的自定义扩展机制,反哺给小程序来使用。

其次,mPaaS 小程序使用了 Web 能力来进行 UI 渲染加 JSCore 处理逻辑。在渲染逻辑上,和纯原生开发的页面相比还有一点点差距,但换来的是强大的动态性以及一端开发双端适配的研发效能提升。

另外 mPaaS 提供了独立的 UC 内核,小程序凭借独立内核,针对性的渲染优化,其性能相较 HTML5 已做了明显优化。还有即小程序的这套设计,其实渲染引擎可以无感替换,期待未来 mPaaS 可以结合 Flutter 的绘制引擎,带来高性能的小程序方案。

再者,基于小程序开发标准,我们有能力做到丰富笑联的生态。

笑联 App 中可以嵌入自身业务相关小程序,也可以开放其他第三方小程序接入笑联的功能。像笑联是面对高校市场,未来是不是可以结合 mPaaS 开放接口,将小程序开放能力提供给高校开发者,让更多高校开发者参与进来共建生态?

接入 mPaaS 至今,笑联开发团队对 mPaaS 极为肯定:

  1. 站在开发者的角度来看,mPaaS 结构清晰,语法简洁明了,API 接口充足(还可以在客户端中自定义接口😎)。开发成本低、效率高发布简单,一套代码覆盖双端,不用去考虑复杂的适配问题,甚至无需顾虑打包、审核等繁琐流程。
  2. 站在用户的角度来讲,小程序带来的“即开即用”体验,其效果几乎与原生相同。不用单独安装,客户端抛去小程序所实现的功能后,体积小,大大节省了用户的手机存储空间。
  3. 站在公司角度来看,引入 mPaaS 后,我们已具备能力将 App 打造出生态。目前 App 扩展性非常高,将来有其他的业务,可以继续开发成小程序嵌入到 App 中,甚至在将来,还会像支付宝一样,可以把其他合作伙伴的小程序接入到我们的 App 中。

关于 mPaaS 小程序:源自于支付宝小程序框架,亿级线上业务体量的锤炼。安全性媲美支付宝原生能力,不仅面向自有 App 投放小程序,更可快速构建打包覆盖支付宝、淘宝、钉钉等应用。

原文链接

本文为云栖社区原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/515428.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

隐秘的角落里数亿场AI战争正在发生

云栖号资讯:【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! "科技领域不做安全风控,就等于造汽车的时候没有做刹车。”蚂蚁集团首席AI科学家漆远这样形容安全风控的地位…

锐捷发布极简以太全光解决方案 打造“不一样”的全光网

3月9日,锐捷网络举办以“不一样的全光网”为主题的媒体发布会,正式对外发布新一代全光网络解决方案——极简以太全光解决方案(以下简称极简光方案)。这个方案正是面向不断升温的全光网络市场需求,针对教育、制造、医疗…

写给迷糊的你看的 浏览器从输入URL到页面渲染过程(呕心泣血 1.6w字)

第一步:用户输入 1、 对用户所输入内容进行解析: 为什么需要解析:判断出所输入的关键字是 搜索内容 还是 URL 搜索内容:地址栏会使用浏览器默认的搜索引擎,来合成带关键字的 URL URL:输入内容符合 URL 规则…

在Saas发展的黄金时代里带你理解SaaS设计

云栖号资讯:【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 导读:软件即服务(英语:Software as a Service,SaaS),亦…

优秀技术人,如何做到高效沟通?

作者 | 鲁佳(鹿迦) 阿里巴巴项目管理专家 导读:世界上有两件最难的事:把别人的钱装进自己的口袋;把自己的思想装进别人的脑袋。 为什么沟通那么重要 谁都知道在工作中沟通是非常重要的,那大家有没有真正想过为什么沟通这么重要…

技术分享助你突破职场瓶颈

IT行业是吃“青春饭”吗?IT行业35岁“中年危机”是否真的存在?个人认为竞争是激烈的,危机是存在的,如何破局成为每一个IT人必须面对的严峻课题。遥想2015年,我的职场生涯度过了轻松的5年,在传统行业过着朝九…

抖音实战~手机号验证码一键注册登录流程(限制手机终端登录)

文章目录一、手机号验证码二、前端2.1. 点击登陆流程2.2. 点击登录源码三、后端登录3.1. 登录流程图3.2. 流程简述3.3. 手机号验证码登录流程一、手机号验证码 二、前端 2.1. 点击登陆流程 1.先校验手机号是否合法?不合法,则提示“请输入正确的手机号”…

阿里云高级技术专家:面向5G的云网一体及云原生应用实践

7月15日,阿里云高级技术专家李晓成在2020亚太内容分发大会上发表《面向5G的云网一体及云原生应用实践》主题演讲,从边缘计算产业机遇与挑战来解读阿里云边缘计算的布局,并分享阿里云在云网一体化、边缘云原生等领域的技术实践,本文…

抖音实战~用户登出

文章目录一、前端1. 登出流程2. 流程简述3. 源码二、后端2.1. 登出逻辑2.2. 源码一、前端 1. 登出流程 2. 流程简述 1.点击登出按钮触发登出事件2.调用登出后端api3.后端返回 3.1. 成功:删除终端缓存的用户信息和token信息3.2. 失败:提示错误信息 4.跳…

无法恢复,欧洲云服务巨头数据中心起火

数据中心起火事件频频发生,这次 OVH 数据中心被大火烧毁又堪称是数据中心历史上史无前例的灾难性事件,数据中心到底该如何保护呢?作者 | 郑丽媛出品 | CSDN(ID:CSDNnews)报!请注意,你…

128核云原生新力作:Ampere® Altra® Max性能参数公布,提升50%!

安晟培半导体科技有限公司(Ampere Computing)于日前公布了云原生服务器处理器Ampere Altra Max样片的基准测试数据。Ampere Altra Max是Ampere继去年3月发布的80核Altra 处理器后即将推出的重磅新品,内核数量达到业界领先的128核,…

《从单体迈向 Serverless 的避坑指南》

简介: 用户需求和云的发展两条线推动了云原生技术的兴起、发展和大规模应用。本文将主要讨论什么是云原生应用,构成云原生应用的要素是什么,什么是 Serverless 计算,以及 Serverless 如何简化技术复杂度,帮助用户应对快…

腾讯云~Docker安装RabbitMQ

文章目录1. 测试2. 安装策略组3. 控制台1. 测试 docker run -d --name myRabbitMQ -e RABBITMQ_DEFAULT_USERimooc -e RABBITMQ_DEFAULT_PASS123456 -p 15672:15672 -p 5672:5672 rabbitmq:3.8.14-management企业内部使用参考:https://gblfy.blog.csdn.net/article…

定义下一代存储,打造全新一代数据基础设施

简介: 智能时代,阿里云正重新定义下一代存储,打造全新一代数据基础设施。在未来,数据势必呈爆发式地增长,那么对于存储的性能,必然会提出更高、更严苛的要求。此次直播阿里云将为大家带来7款存储产品新功能…

Docker私有镜像仓库是什么?

来源 | 无敌码农责编 | 寇雪芹头图 | 下载于视觉中国Docker镜像仓库概述镜像仓库作为Docker技术的核心组件之一,其主要作用就是负责镜像内容的存储和分发。Docker镜像仓库从使用范围来说分为“公有镜像仓库”和“私有镜像仓库”,公有镜像仓库是可以被任何…

《掌门1对1微服务体系 Solar | 阿里巴巴 Sentinel 落地实践》

简介: 前言 掌门1对1精耕在线教育领域,近几年业务得到了快速发展,但同时也遭遇了“成长的烦恼”。随着微服务数量不断增加,流量进一步暴增,硬件资源有点不堪重负,那么,如何实现更好的限流熔断…

腾讯云~Docker安装Redis6.2.6

文章目录1. 测试2. 安装策略组3. 远程连接1. 测试 无密码 docker run \ -d \ --name redis-my \ -v /app/redis/data:/data \ -p 16379:6379 \ redis:6.2.6有密码(推荐) docker run \ -d \ --name redis-my \ -v /app/redis/data:/data \ -p 16379:63…

中台,很多人理解的都不对

简介: 最近中台比较热,但业界内并没有对中台有统一认可清晰的定义,很多人会把中台与数据仓库、数据湖混为一谈。但需要提醒读者注意的是,数据中台并不是一个系统,它首先是一种组织架构。前言: -更多关于数智…

被“钱”困住的开源开发者们!

「Given enough eyeballs,all bugs are shallow.」(只要有足够多的眼睛,就可以让所有 Bug 浮现)1997 年,随着《大教堂与集市》的到来,开源新时代的号角正式吹响,也将 Linus 法则深深地烙印在开源…

盘点技术史:流量运营(PC 时代)

简介: 流量分析只比互联网诞生晚几年,作为一个生态,互联网需要有人提供服务,同时也需要有人消费服务,而在互联网上经营服务跟在线下经营五金店一样,如果想要成功,需要时刻关注来访问的顾客的情况…