浅谈低代码
所谓低代码开发,即无需编码或只需少量代码就可以快速生成应用程序。也就是说,企业的应用开发通过“拖拉拽”的方式即可完成。通过低代码开发平台可一站式搭建:生产管理系统、项目管理系统、进销存管理系统、OA办公系统、人事财务等等。
低代码这些年一直在默默发展,2015年才渐渐形成赛道,暗潮汹涌。入局选手很多,微软、谷歌等巨头纷纷入局,互联网巨头的躬身入局,再次加速了低代码赛道的洗牌。现如今,中国低代码市场显现出巨大的增长空间,做与不做,已经不是一个问题。如何做,才是互联网巨头和各大厂商的新命题。
[Benchmark]
public Task Pooling()
{
return Task.WhenAll(from i in Enumerable.Range(0, Concurrency)
select Task.Run(async delegate
{
for (int i = 0; i < Iters; i++)
await A().ConfigureAwait(false);
}));
[AsyncMethodBuilder(typeof(PoolingAsyncValueTaskMethodBuilder))]
static async ValueTask A() => await B().ConfigureAwait(false);
[AsyncMethodBuilder(typeof(PoolingAsyncValueTaskMethodBuilder))]
static async ValueTask B() => await C().ConfigureAwait(false);
[AsyncMethodBuilder(typeof(PoolingAsyncValueTaskMethodBuilder))]
static async ValueTask C() => await D().ConfigureAwait(false);
[AsyncMethodBuilder(typeof(PoolingAsyncValueTaskMethodBuilder))]
static async ValueTask D() => await Task.Yield();
}
巨头为何纷纷躬身入局?解决了企业的什么痛点?
从业务价值看,低代码避免了重复造轮子,开发效率大幅提高,高性价与高灵活性;降低企业采购成本。
以往企业会通过每个部门不同的系统需求,各自采购自己的系统,这些供应商往往都是彼此孤立,独立运作,久而久之导致企业软件系统冗余。但是低代码可以让企业不用再去购买开发商的固定产品,更不用花高价定制软件,通过低代码根据自己的需求搭建应用,仅需通过配置,就可以实现客户OA、CRM、BPM等系统的需求,打破信息系统孤岛,同时降本增效,提升内部生产力。
在《中国报告》中,Forrester认为,低代码不只专注于某个领域,可赋能各种个性化应用场景。目前在国内主要应用于银行、保险、零售、医疗、政府、制造、电信和建筑行业等领域。
private const int Concurrency = 256;
private const int Iters = 100_000;
[Benchmark(Baseline = true)]
public Task NonPooling()
{
return Task.WhenAll(from i in Enumerable.Range(0, Concurrency)
select Task.Run(async delegate
{
for (int i = 0; i < Iters; i++)
await A().ConfigureAwait(false);
}));
static async ValueTask A() => await B().ConfigureAwait(false);
static async ValueTask B() => await C().ConfigureAwait(false);
static async ValueTask C() => await D().ConfigureAwait(false);
static async ValueTask D() => await Task.Yield();
}
这时候就有人要问了:
赋能各个领域?是包罗万象还是杂而不精?
低代码平台相当于一个通用性非常高的底座,能让绝大部分部门的业务系统都能在一个平台里搭建,彼此联系。成熟度高的低代码平台,不仅有各式各样的可视化工具来降低业务研发的难度和代码量,同时对业务研发生命周期各个环节的覆盖也越来越完整。从开发到测试,从测试到上线,再到高容错运行时自动化部署/恢复、运行时自动化运维等各个环节的可视化、自动化完成,这为无IT技能的业务技术员独立开发提供了可能性。
受益于众多大中小企业的服务实践,JNPF已形成了一套成熟解决方案体系,包括行业数字化解决方案、领域数字化解决方案和政务与公共事业数字化解决方案。其中,行业数字化解决方案覆盖金融、建筑、地产、制造、零售、教育等行业,领域数字化解决方案覆盖ERP、CRM、协同、HR、项目管理等多个横向的业务领域;政务与公共事业数字化解决方案包含社会治理一体化联动指挥平台、综合行政执法管理系统等解决方案。
例如国内一家软件信息服务企业,基于JNPF平台开发的综合行政执法管理系统,进一步深化了全省综合行政执法改革工作,探索打造“大数据+指挥中心+综合执法队伍”综合执法模式,加快构建权责统一、权威高效的综合行政执法体系。平台上线后,围绕城市治理综合行政执法工作的重点及薄弱环节,有效解决了行政处罚程序不规范、处罚标准不统一等问题,效率提升80%
private SemaphoreSlim _sem = new SemaphoreSlim(0, 1);
private CancellationTokenSource _cts = new CancellationTokenSource();
[Benchmark]
public Task WithCancellationToken()
{
Task t = _sem.WaitAsync(_cts.Token);
_sem.Release();
return t;
}
[Benchmark]
public Task WithTimeout()
{
Task t = _sem.WaitAsync(TimeSpan.FromMinutes(1));
_sem.Release();
return t;
}
[Benchmark]
public Task WithCancellationTokenAndTimeout()
{
Task t = _sem.WaitAsync(TimeSpan.FromMinutes(1), _cts.Token);
_sem.Release();
return t;
}
流水争先,靠的是绵绵不绝。 数字化转型必然遇到的一个问题就是长期性的问题。谁能看懂未来趋势、谁能判断未来走向、谁能提前布局卡位,谁就能成功。破局还是维持现状,决定权在于时代,但选择权在你。