作为追求代码洁癖的软件工程师,我们对“紧耦合”的技术实现可以说是深恶痛绝。要解决当前企业移动端App日益沉重、难以真正迭代、投入产出比低的问题,首先在技术架构上要实现真正的“松散耦合”。
 
那需要松散到什么程度呢?那就是是在一个相对稳定的App“内核”基础上,让绝大部分的应用功能(不管是因为创新需要、业务部门诉求等等而产生)必须可以(1)独立开发,(2)独立部署,(3)独立运维,(4)独立管理生命周期——随时上下架而不影响App主体。

化整为零,把功能高度“碎片化”

“碎片化“现在已经是一个潮流。首先,在移动互联网时代,用户的阅读时间、应用使用时间都是高度碎片化的。与之相对应的,就是前端用户体验的碎片化。全中国的手机用户都已经被微信小程序充分教育,各种场景下“随需随用”、“用完即扔”,是非常典型的“效用计算”。
 
而在云端,过去几年来“微服务”大行其道,本质上也是把传统“单体应用”碎片化。碎片化当然带来管理它们(小程序、微服务)的耗损,但是现在这些问题早就被越来越成熟的开发运维平台、工具链解决了。例如:Docker容器化生态、Kubernetes容器编排管理技术、FaaS函数即服务工具链等等让云侧的小粒度服务开发运维更便利、稳定、弹性可扩。而微信本身则实际上在端侧充当了小程序的“运行时”及管理工具。

解决方案:利用小程序实现敏捷迭代

微信本身与运行在它上面的数以百万计的小程序,就是一个“松散耦合”的最佳例子 :微信自身的版本迭代,从来与任何第三方小程序无关;每天互联网上各种小程序的迭代升级、上架下架,也不会影响到微信运行的稳定性。
 
如果目前市面上的APP都能把自己的App做成像微信一样稳定,把App中的业务功能拆分出去以类似小程序的技术载体进行碎片化、单一职责、独立生命周期的开发部署,是不是这些APP既需要维稳又需要敏捷迭代的矛盾就有希望得到解决?
 
这种程度的松散耦合,让业务功能可以独立于App进行开发、测试与上下架,有这样一些显而易见的好处:
(1)新业务功能单独测试单独发布,不影响基础App的稳定性,也无需对App进行全回归测试。
(2)业务功能开发可以高度并行 – 只要有人手,人多好办事(想想微信让全互联网的开发者都可以同时互不影响为它提供海量应用场景),而在传统原生App的技术体系下,这是不可能的。
(3)容易蓝绿测试、灰度发布 – 粒度细到碎片级(例如一个微信小程序是可以仅在测试白名单的范围内试点)。
(4)形成技术生态 。一家企业如果掌握了微信这样的技术,它也可以成为一个技术生态中心,让外部开发者、合作伙伴们将自己开发好的小程序直接上架至自身APP,然后企业运营人员对这些小程序进行审核,这样在一个企业APP内可覆盖多数服务场景。
 
在这个讲究快速敏捷迭代的时代,企业机构们应该需要考虑对自己的App进行瘦身,把新旧功能剥离,以独立生命周期、独立开发测试团队的方式进行开发 – 有用的场景继续深入、无效的尝试即时废弃。总体技术架构必须让基础App保持稳定、让频繁增删变更业务功能成为可能,同时最大程度降低开发门槛、减少试错成本、实现敏捷迭代。

我们如何获取互联网巨头才拥有的小程序技术

凡泰极客借鉴互联网成熟小程序技术方案,推出FinClip小程序容器技术,任何 App 均可以通过引入 FinClip小程序运行时 SDK 来获得运行小程序的能力,同时,它还提供一个后台管理系统,统一管理小程序的上架和下架,以及收集和分析小程序数据,对于开发人员,可谓是极其便捷了。

而且FinClip是完全遵循兼容微信小程序的开发标准与规范。也就是说,如果你本身已经开发好了一个微信小程序,可以在不改一行代码的情况下,直接放进你的 App 里面,运行效果和在微信上面保持一致,不必额外二次开发和改造,大大节省了人力成本。
 

 
而且由于FinClip提供的 SDK 是相同的,你所开发的小程序,可以在同样集成了 FinClip SDK 的 APP 里运行,做到一次开发,到处运行的效果。这样业务功能小程序也不局限于自有APP或者微信上使用,还能覆盖更多渠道。
 
此外,FinClip 支持包括 Linux、Windows、MacOS、麒麟等操作系统。这意味着,PC 端、车载设备、智能电视都能使用小程序了,反正现在IOT也是大势所趋。

FinClip还提供小程序 IDE 开发工具,界面与微信小程序的开发工具类似,自带调试和真机预览,简单易上手。你可以在这个 IDE 里面,对现有项目进行二次开发,扩展功能和接口,或者从零开始写出一个小程序,貌似他们最近打算针对这个IDE做一些功能优化,实现小程序直接生成APP功能,感兴趣的朋友可以后续关注一下。

App必须减重、瘦身、变成入口、合规可控对接互联网公共社交平台,通过这样的技术架构打造下一代超级APP,代表未来的方向。
 
FinClip凭借插件化、嵌入式、轻量而灵活的产品特点及行业领先优势已经赋能银行、证券、政企、电商、航空、园区、零售等多个行业,在无界开放银行、数字券商、监管与合规科技、电子政务、信创等方面形成较有特色的创新应用案例。现在登陆官网点击咨询即可获得行业解决方案! :https://www.finclip.com
 
Tips:
最近正好访问他们的官网。留意到他们正在举办黑客马拉松的比赛,主办方准备了价值十万元的大赛奖金池!感兴趣的朋友可以了解一下!点击链接即可报名参赛:「码」力集结,与众不「凡」 - 小程序容器技术领导者 | FinClip

小程序容器技术,App热更新与敏捷开发新方案的更多相关文章

  1. 小程序容器助力打造企业超级App

    阿拉丁研究院发布<2021 年度小程序互联网发展白皮书>显示,2021 年全网小程序数量已超 700 万,其中微信小程序开发者突破 300 万,DAU 超过 4.5 亿:日均使用次数同比增 ...

  2. APP跳转小程序,小程序跳转APP

    关注公共号,搜索 "APP跳转小程序,小程序跳转APP",查看原文 前置条件: 开发环境:windows 开发框架:uni-app , H5+,nativeJS,mpvue 编辑器 ...

  3. 快成物流科技 x mPaaS | 小程序容器加持下的技术架构“提质增效”

      导言 从 2017 年开始,GMTC"移动技术大会"就更名为"大前端技术大会".发展至今,混合开发.原生开发.前端开发等概念正在深度融合,组成"大 ...

  4. 黄文俊:Serverless小程序后端技术分享

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 黄文俊,现任腾讯云SCF无服务器云函数高级产品经理,多年企业级系统开发和架构工作经验,对企业级存储.容器平台.微服务架构.无服务器计算等领域 ...

  5. 微信小程序、安卓APP、苹果APP对比分析

    今天的话题主要是关于微信小程序.安卓APP.苹果APP对比分析.既然是对比分析肯定是将它们一个一个说明. 本篇不涉及技术话题,只讲解微信小程序.安卓APP.苹果APP它们各自的优缺点及其应用场景. 一 ...

  6. Docker应用程序容器技术_转

    转自:百度百科 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相 ...

  7. 微信小程序中的app.js-清除缓存

    微信小程序中的app.js 关于小程序app.js生命周期的介绍 App(Object) App() 函数用来注册一个小程序.接受一个 Object 参数,其指定小程序的生命周期回调等. App() ...

  8. Ionic APP 热更新

    开门见山,本文主题:cordova-hot-code-push 作用:cordova热更新插件,提供了在应用程序中对基于Web的内容进行自动更新的功能. GitHub地址:https://github ...

  9. C# WinForm小程序(技术改变世界-cnblog)

    WinForm小程序(技术改变世界-cnblog)   需求: 1.点击按钮  更新 当前时间 2.输入 身份证,必须身份证 排序(类似银行卡那样的空格),自动生成空格排序 3.实现 必须按 第一个按 ...

随机推荐

  1. k8s集群Job负载 支持多个 Pod 可靠的并发执行,如何权衡利弊选择适合的并行计算模式?

    k8s的Job负载 支持多个 Pod 可靠的并发执行,如何权衡利弊选择适合的并行计算模式? 简单聊聊你对工作负载Job的理解? Job 支持多个 Pod 可靠的并发执行,如何权衡利弊选择适合的并行计算 ...

  2. CVE-2017-12615漏洞复现附EXP

    CVE-2017-12615复现 0x00 漏洞介绍 漏洞编号: CVE-2017-12615 CVE-2017-12616 漏洞名称: CVE-2017-12615-远程代码执行漏洞 CVE-201 ...

  3. Python安装wxPython和ubuntu使用apt提示不能更新

    [空两格]昨天憨批室友搁我面前装b,说他会用pip安装Python包了,说是安装wxPython的时候通过换源解决了之前安装出错的问题.我一听,这事不对劲啊,是这个b直接看不懂输出了吧.果然,我让他在 ...

  4. 【推理引擎】ONNXRuntime 的架构设计

    ONNXRuntime,深度学习领域的神经网络模型推理框架,从名字中可以看出它和 ONNX 的关系:以 ONNX 模型作为中间表达(IR)的运行时(Runtime). 本文许多内容翻译于官方文档:ht ...

  5. protocol 协议语言介绍

    Protocol Buffer是Google提供的一种数据序列化协议,是一种轻便高效的结构化数据存储格式,可以用于结构化数据序列化,很适合做数据存储或 RPC 数据交换格式.它可用于通讯协议.数据存储 ...

  6. hanoi(老汉诺塔问题新思维)

    #include <stdio.h> //第一个塔为初始塔,中间的塔为借用塔,最后一个塔为目标塔 int i=1;//记录步数 void move(int n, char from,cha ...

  7. 团队vue基础镜像选择思考

    前端镜像可以考虑使用nginx或者openresty; 镜像 大小 说明 nginx:1.20.2-alpine 8.41 MB 最小最新版本 nginx:1.21.4 50.95 MB 最新版本 n ...

  8. @Controller 注解?

    该注解表明该类扮演控制器的角色,Spring不需要你继承任何其他控制器基类或引用Servlet API.

  9. Dubbo 用到哪些设计模式?

    Dubbo 框架在初始化和通信过程中使用了多种设计模式,可灵活控制类加载.权 限控制等功能. 工厂模式 Provider 在 export 服务时,会调用 ServiceConfig 的 export ...

  10. Mybatis有哪些执行器?

    Mybatis有三种基本的Executor执行器:           SimpleExecutor.ReuseExecutor.BatchExecutor. SimpleExecutor:每执行一次 ...