万字长文讲透低代码

按规则这篇应该叫做“数字技术名词解释—低代码”,但之前的名词解释篇都是一两天草就,这篇磨蹭了半个多月,七七八八写了过万字,于是做一把标题党。

低代码这个概念今年极火,争议也极大。有些人力捧,觉得以后“人人都是程序员”,, 又有不少人嗤之以鼻,如有ERP老兵讥讽《低代码,不要以比“中台”还快的速度臭大街》,有ThoughtWorks中国某徐姓CTO怒斥《“行业毒瘤”低代码》,还有很多认为低代码是新瓶装旧酒,早已有之,或者无非就是个高级外包。可惜的是,无论支持还是鄙夷,各路专家写文都是“草就”,至今也没一篇三观正且详实的。阿朱的几篇三观是正,但行文也过于简明,可能懂的自然懂,不懂的还是不懂。

本文希望对这个当前动荡不安的领域做一点“不草就”的综合说明,想说清楚七大问题:低代码和无代码(也称零代码)是什么关系、怎么判断一个低代码平台是否专业、国内是否有专业的低代码平台、低代码是不是新瓶装旧酒、低代码真的搞不定专业的企业应用吗、低代码不适合开发哪些应用、低代码并非银弹。

鉴于这个领域现在实在太乱,希望大家能多转发一下,让更多的人正确理解低代码。

01

低代码和无代码是两回事

第一步得把低代码和无代码分清楚,因为这俩差异巨大,但现在业界经常混为一谈,导致很多很多问题,比如双方争论但指的不是同一个事情,厂商的口径乱,行业报告的结果不能看。

低代码专指低代码应用开发平台(LCAP),是一个被业界广泛认可的概念,头部的分析机构如Forrester和Gartner都已经发布了多年低代码开发平台的报告。如下图所示,大家可以看到这两家的报告入选的产品都很接近,特别是头部的六家简直是一模一样。这说明低代码应用开发平台已经是一个比较成熟的市场。

3f527342f54549c94b8f1a76ec51ebf3.png

相反,分析机构对无代码的态度就很微妙了。虽然也有一些分析机构也提无代码开发平台的概念,如G2(当然更不用说目前混乱的国内分析机构),但Forrester和Gartner从未发布过无代码开发平台的报告。Forrester和Gartner倒也不是说无代码是个伪概念,他们的共识是无代码这个词只是一个营销用语,主要用来突出一个工具无需编程基础,消除业务用户的恐惧。

‘No-code’ is a marketing term, implying the tool is for non-professional developers. — By Gartner

(https://appian.com/resources/resource-center/analyst-reports/gartner-quick-answer-low-code-vs-no-code-dev-tools.html)

Businesspeople hankering to deliver their own apps love the “no-code” message. Thus, “no-code” has become a marker for products aimed at empowering business users. However, customers report that even powerful low-code platforms in some cases can’t produce apps without any coding. So what does this mean for the “no-code” promise? — By Forrester

(https://go.forrester.com/blogs/watch-your-language-low-code-and-no-code-are-not-the-same/)

无代码这个词通常用来形容一些细分领域的开发工具,最常见的是应用搭建平台(国外一般叫App Builder之类),如国外的Appy Pie、国内的宜搭、简道云等,还可以用来形容Airtable / AppSheet / Treelab这类在线表单工具或轻流这类的工作流工具。这几类工具差别巨大,如下图所示,还有人将无代码和低代码的江湖分成十二个“门派”,由此可见无代码是一个相当宽泛的概念

2cc07be29c6dd668b651ef37eac3eea5.png

无代码的“通用”开发平台,目前看并不存在,据我看将来也不会存在。因为开发软件必然要编写逻辑,就必然要写代码,除非哪一天人工智能能做到自动写代码。

我觉得低代码和无代码的关系有点类似于关系数据库和NoSQL。关系数据库专指一种特定的数据库,即便多家厂商的产品实现可能千差万别,但至少提供的功能很相似,都高度遵循SQL标准。低代码开发平台虽然今天的标准化程度还没关系数据库这么高,但无论是Gartner还是Forrester都已经开始给出比较清晰的筛选标准,如要支持通用场景(如UI、逻辑和数据三层都要有)、要满足专业开发需求等,随着行业发展标准化程度肯定会进一步提高。NoSQL则只要不是SQL都算,不管你是KV、wide-column、文档还是图,都可以叫NoSQL。NoSQL这个词热了有几年,但现在不太讲了,因为市场格局开始清晰之后,大家就不会关注过于宽泛的NoSQL,而是根据需要关注具体的类型。我个人认为无代码这个词将来也一样会慢慢淡出,虽然现在十二个门派很是热闹,但不出几年真正有影响力的门派肯定也不多,这时大家也就不关注无代码而是直接找具体的产品了。

本文后续只专注讨论面向通用应用开发的低代码。低代码不是一个想吸引业务用户的用语,业务人员见了“代码”两个字就吓跑了,再低也没用,如果业务人员写不了100行代码的话,那10行也一样写不了。低代码平台主要面向专业开发,这点已经是头部分析机构的共识,虽然Forrester之前走过弯路,曾经也发布过面向业务人员的低代码开发平台报告,但近两年已经不再发布了,只保留面向专

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
MySQL多数据源是指在一个应用程序中同时使用多个不同的MySQL数据库来存储和管理数据的技术。它可以帮助开发人员更灵活地处理各种数据库操作,提高程序的性能和可扩展性。下面是一个完整的MySQL多数据源教程。 一、设置数据库连接信息 1. 在应用程序的配置文件中,创建多个数据库连接的配置项。例如,可以为每个数据源创建一个配置项,分别命名为db1、db2等。 2. 在配置项中,设置每个数据源的连接信息,包括数据库地址、用户名、密码等。 二、创建数据源管理器 1. 创建一个数据源管理器类,用于管理多个数据源。该类需要实现数据源的动态切换和获取。 2. 使用Java的线程安全的数据结构,如ConcurrentHashMap来存储数据源信息。将配置文件中的数据库连接信息加载到数据结构中。 3. 实现方法来切换不同的数据源,通过传入数据源的名称来切换到对应的数据库。 三、实现数据源切换 1. 在应用程序中,根据业务需求选择需要使用的数据源。可以通过调用数据源管理器的方法来切换数据源。 2. 在DAO层的代码中,根据当前使用的数据源名称,选择对应的数据源进行数据库操作。 四、使用多数据源进行数据库操作 1. 在DAO层的代码中,区分不同的数据源,并将数据库操作的代码包装在对应的数据源中。 2. 在业务层的代码中,调用DAO层的方法来进行数据库操作。不同的数据源会自动切换。 五、处理事务 1. 如果需要在一个事务中操作多个数据源,可以使用分布式事务的方式来处理。 2. 可以使用开源的分布式事务框架,如Atomikos、Bitronix等来实现多数据源的事务管理。 六、监控和维护 1. 使用监控工具来监控多个数据源的使用情况,包括连接数、查询次数等。 2. 定期对数据库进行维护,包括索引优化、数据清理等工作,以保证数据库的性能和稳定性。 通过以上步骤,我们可以实现MySQL多数据源的配置和使用。使用多数据源可以更好地管理和处理不同的数据库操作,在提高程序性能和可扩展性的同时,也提供了更灵活的数据操作方式。同时,需要注意合理选择和配置数据源,以及监控和维护数据库,以保证系统的运行效率和数据的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值