本文介绍了跨平台技术的演进,跨平台技术选型的要素以及各个方向的优劣势,以及结合Flutter平台能力结合后台实现低代码面向业务的具体落地实践。Flutter结合如今大红大紫的低代码(Low-Code),实现研发到业务、平台到具体场景的轻、快、易;实现业务应用的快速交付、降低业务应用的开发成本。期望读者对新技术有所了解,乐于学习分享,勇于落地实践。创新是经济的原动力。
01前端跨平台演进
1.1 为什么需要跨平台技术
任何一个稳定的政治经济体,无论什么时候,竞争都是激烈的,无论哪行哪业。移动互联网更是如此,全球经济内存抖动、新冠隔三差五的继承多态、国内经济人口结构的内存溢出泄露、反垄断、K12等一系列蝴蝶效应,任何一个公司都可能会很大,一个公司的任何一个部门都可能被GC。所以如何将好想法快速落地、快速试错,成为备受关注的问题。提升研发效率、缩短研发周期,保障产品快速试错并能快速迭代新功能,让新产品新功能以最快的速度同时抵达多端用户。
Android 应用采用 Java 或 Kotlin 编写,iOS 应用采用 Objective-C 或 Swift 编写,Web 端采用 HTML /CSS/JavaScript 编写。当需要开发支持多端的应用,每一端都需要独立研发、测试,一直到上线,以及后续的维护工作,工作量成倍增涨,势必延长研发周期。
为了解决多端独立开发的问题,跨平台技术便应运而生,各大互联网公司为此都投入大量人力,于是出现了各种跨平台技术框架,面对移动领域的跨平台技术方案的层出不穷,又该如何做技术选型呢?
1.2 移动端技术选型要素
图1 跨平台技术选型要素
1. 研发能效:减少多端差异的适配工作量,代码复用最大化,降低研发人效成本,专注业务开发功能实现。效率提升是贯穿整个业务的生命周期线,即便业务上线后,可持续降低后续的维护成本,加快新需求的迭代速度,这是一个持续的效率收益。任何一门新技术在开发启动学习阶段会有一些成本,但上手后的收益是长期的。
2. 动态实现: 可快速迭代新功能,降级处理事故页面