作为追求代码洁癖的软件工程师,我们对“紧耦合”的技术实现可以说是深恶痛绝。要解决当前企业移动端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. LGP5204题解

    @CF1327F 最小值看着有点怪,先转化成最大值吧...反正没啥区别... 考虑把最大值相同的区间和限制为这个最大值的区间都拿出来.然后离散化.问题变为让所有区间都满足最值为 \(c\). 考虑 D ...

  2. Window7环境下安装Scrapy 方法

    Window7环境下安装Scrapy Scrapy在CPython(默认Python实现)和PyPy(从PyPy 5.9开始)下运行Python 2.7和Python 3.4或更高版本. 如果您使用的 ...

  3. 用iptables封杀内网的bt软件

    我所在的网络情况是这样的!1台FC3和3台win2000组成一个局域网!四台机都接在100m的交换机上.在FC3上有两个网卡eth0接外网 adsl eth1接在交换机.FC3做nat带3台win20 ...

  4. linux下yum无法安装lrzsz,Error: Failed to download metadata for repo ‘appstream‘: Cannot prepare internal

    镜像下载.域名解析.时间同步请点击阿里云开源镜像站 linux虚拟机上准备安装一下rz sz,执行yum命令后提示如下: [root@tony001 ~]# yum install lrzsz Cen ...

  5. 4月23日 python学习总结 套接字UDP和 操作系统理论,多道理论

    一.套接字UDP udp是无链接的,先启动哪一端都不会报错 UDP(user datagram protocol,用户数据报协议)是无连接的,面向消息的,提供高效率服务.不会使用块的合并优化算法,, ...

  6. S2-045(RCE远程代码执行)

    环境搭建: https://blog.csdn.net/qq_36374896/article/details/84145020 漏洞复现 进入漏洞环境 (048和045一样) cd vulhub-m ...

  7. 什么是 Git

    概述 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件. ...

  8. SpringCloud和Dubbo?

    SpringCloud和Dubbo都是现在主流的微服务架构SpringCloud是Apache旗下的Spring体系下的微服务解决方案Dubbo是阿里系的分布式服务治理框架从技术维度上,其实Sprin ...

  9. 是否可以继承String类?

    String 类是final类,不可以被继承. 补充:继承String本身就是一个错误的行为,对String类型最好的重用方式是关联关系(Has-A)和依赖关系(Use-A)而不是继承关系(Is-A) ...

  10. java中的修饰符和基本数据类型

    1.java中的修饰符 java中的修饰符主要是用来对类资源进行一个权限控制,上面表格表现的很清晰,无需多言. 2.java中的基本数据类型 java中的数据类型分为引用类型和基本类型.基本数据类型有 ...