V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zzzzzzggggggg
V2EX  ›  程序员

NoCode 系列 1:到底什么是 NoCode 和 LowCode

  •  1
     
  •   zzzzzzggggggg · 2021-11-24 11:16:30 +08:00 · 2078 次点击
    这是一个创建于 1094 天前的主题,其中的信息可能已经有所发展或是发生改变。

    转一篇文章: https://mp.weixin.qq.com/s/1Rl4_VLK1Yqs_E2VsITErw

    这是 NoCode 系列的第一篇文章。

    PS:低代码=LowCode ,零代码=NoCode

    印象中大概是从去年( 2020 )开始,各种 NoCode 、LowCode 、可视化搭建等等概念铺天盖地的充斥着各个技术社区,很多大公司也开始火急火燎的造自己的 NoCode 产品,生怕错过了这个技术(晋升)风口。

    我想大部分人应该是看的一脸懵,到底是什么 NoCode ,什么又是 LowCode ,它们之间的区别是什么,市面上有哪些相关的产品?如果我是个小白的话,我能不能自己写一个简单的 NoCode 产品?

    这些问题也是我好奇的,刚好我现在在公司负责做一个 NoCode 的产品,我准备写一个系列文章来记录我对 NoCode/LowCode 的学习理解和思考。

    来源于 HPAPaaS

    在 NoCode 和 LowCode 之前,其实还有一个更早的概念叫 HPAPaaS ( Enterprise High-Productivity Application Platform as a Service ),它是由 Gartner 公司在 2017 年的报告中给出的概念,它的详细定义是:

    application infrastructure functionality enriched with cloud characteristics and offered as a service” with “high productivity” supporting “declarative, and model driven design and one-step deployment.

    这里面有几个关键词值得注意,支持描述性的、模型驱动设计和一步部署,这基本已经有点雏形了。

    不过 HAPPaaS 这个概念在 2019 年的 Gartner 报告中被 LowCode 替换掉:

    This “Magic Quadrant for Enterprise Low-Code Application Platforms” replaces 2018’s “Magic Quadrant for Enterprise High-Productivity Application Platform as a Service.” Its definition relaxes the requirement for each vendor to be a cloud PaaS vendor, though all the vendors included in this Magic Quadrant have PaaS capabilities anyway.

    并且在报告中,Gartner 给出了未来 5 年的市场预期:

    ● 到 2024 年,四分之三的大型企业将使用至少四种低代码开发工具进行 IT 应用程序开发和公民开发( citizen development ,可以认为是非 IT 背景的用户进行开发,例如:业务用户 /产品经理 /业务顾问等)。

    ● 到 2024 年,低代码应用程序开发将承担 65%以上的应用程序开发活动。

    从这一段我们可以知道 LowCode 的来源是由 HPAPaaS 演变或者说进化而来,它的目标是可以让非 IT 背景的用户进行部分开发工作。

    前面说到了 LowCode ,那么 NoCode 又是什么?

    在 2019 年的 Gartner 的 Low-Code 报告中,可以看到这样的解读:

    Gartner has covered low-code development for mobile apps used in the workplace under rapid mobile app development (RMAD) tools (see “Market Guide for Rapid Mobile App Development Tools”). We have also observed that no-code development tools are being marketed toward lines of business as a way for them to own their data applications. The idea is to “democratize” application development by enabling and facilitating citizen development (see “Citizen Development Success Depends on an Equal Partnership Between Business and IT Leaders”).

    However, the no-code tools targeted at minimally skilled citizen developers often end up requiring trained IT staff for certain use cases. Therefore, we consider no-code tooling as a subset of the larger low-code tool market, especially as enterprise-class low-code platforms increasingly strive to address both citizen and professional developers.

    可以看出来 NoCode 是个从属于 LowCode 的概念,即 NoCode 是 LowCode 的子集:

    NoCode 和 LowCode 之间的区别和定义

    那么 NoCode 和 LowCode 有什么区别?

    准确来说,LowCode 和 NoCode 在很多时候界限并不明显,在维基的描述上,通过下面这三个方面来区别它们俩之间的区别:

    1. 使用者:NoCode 产品可以让任何用户使用,包括非技术和技术; LowCode 产品需要用户懂得编程知识

    2. 用户界面:NoCode 产品通常依赖于预置的用户界面层(模板),这些模板可以简化产品的设计; LowCode 产品则提供更灵活的 UI 配置选项,但是这样的代码是某些选项可能需要通过写代码的方式去配置

    3. 核心设计:NoCode 内置业务和开发模型,但是最终用户是使用拖拽或者简单的逻辑编排来决定应用的设计; LowCode 产品也会内置类似的业务和开发模型,但是更依赖于硬编码来实现应用的设计

    通过上面的这些分析,我们可以总结大致对 NoCode 和 LowCode 下定义:

    NoCode 产品对外展现的是一个普通非技术用户可接受的工具类产品,通过拖拽、勾选等等图形化操作来完成目的;

    而 LowCode 产品对外展现的是一个半编程工具,减少从头写的代码,但是仍然需要一定的编码或者技术人员的介入来完成目的。

    所以如果你想研发或者选择 NoCode 和 LowCode 产品,你需要搞清楚以下几个问题:

    1. 这个产品的使用者是谁? ta 们有技术背景吗?

    2. 这个产品解决的问题和场景是否可以抽象或者穷举为固定的流程?

    搞清楚这些问题后,才能开始接下来的事情。

    NoCode 会抢走程序员工作吗?

    这是个有趣的问题,也是很多程序员在担心或者质疑的问题。

    我先说我的答案:

    NoCode 会抢走部分程序员的工作

    因为 NoCode 解决的是那些可以被高度抽象成固定流程的问题,比如说如果你只是想做一个简单的增删改查页面,那么这个场景就很固定很好抽象,NoCode 产品就可以很好的解决它;但是如果是很灵活无法模式化的问题,那就只能靠程序员手写代码来解决。

    比如说有一个产品叫 retool ,它的卖点就是节约研发工作,快速的开发内部系统。所以只能提高解决问题的能力了,固定、重复的场景迟早会被自动化。

    NoCode 解决重复性模式化的问题,剩下的复杂的灵活的问题,就靠我们程序员来解决了。

    下一篇

    下一篇讲讲市面上的 NoCode 和 LowCode 产品和项目

    8 条回复    2021-11-25 10:47:25 +08:00
    3dwelcome
        1
    3dwelcome  
       2021-11-24 14:21:24 +08:00
    我个人觉得 nocode 地位还是挺尴尬的。

    现在前端开发都是组件模式,意味着界面也只需要写一次,以后更新页面,数据变一下就可以了。

    正常公司的开发流程,已经是向数据驱动靠拢了。既然全部码农都在用 lowcode 理念写代码,那就不存在什么 lowcode 产品和项目。只不过加了一层组件属性可视化罢了。
    BeijingBaby
        2
    BeijingBaby  
       2021-11-24 14:51:23 +08:00
    炒,炒,炒,一些公司会从这个概念中获利。
    zzzzzzggggggg
        3
    zzzzzzggggggg  
    OP
       2021-11-24 15:25:36 +08:00
    @3dwelcome 我的理解是这样的,虽然现阶段是组件写页面,但是有很多场景是非常固定的,比如说广告落地页这样的,需求量巨大,而且页面比较相似完全可以穷举出来,这样的场景就完全可以做一个 nocode 平台,一大半需求就可以让运营来配置,不用很多前端去手写;这种算是前端能力的一种外溢吧
    zzzzzzggggggg
        4
    zzzzzzggggggg  
    OP
       2021-11-24 15:26:00 +08:00
    @BeijingBaby 确实会有公司获利,潮水退去看看谁在裸泳
    3dwelcome
        5
    3dwelcome  
       2021-11-24 15:44:53 +08:00
    @zzzzzzggggggg

    “这样的场景就完全可以做一个 nocode 平台,一大半需求就可以让运营来配置,不用很多前端去手写”

    这样固定的场景,那就是几个前端组件稍微组合一下,就能完成的事情。

    组件属性里,文字内容和位置不同,表现出来就是广告的标题和文字不同。

    有经验的前端,不会为了改几个广告页,去改相关代码,只会更新前端的配置文件。说好的 MVVM 开发理念,就是尽可能把数据分离到代码外层。
    zzzzzzggggggg
        6
    zzzzzzggggggg  
    OP
       2021-11-24 16:23:13 +08:00
    @3dwelcome 那是需求少的情况下,如果需求很多呢?我之前在的字节广告系统,这种需求非常多,弄个 NoCode 让运营去配,前端生产物料,何乐而不为?
    zachlhb
        7
    zachlhb  
       2021-11-25 08:16:36 +08:00 via iPhone
    其实所谓低代码零代码只不过是个噱头罢了,只不过是把一些通用需求和功能封装起来,让一些不懂编程的用户可以通过搭积木方式组装出自己想要的功能,但是遇到复杂的功能还是得靠专业程序员来开发,而且低代码零代码完全就是炒剩饭,照现在的逻辑曾经的 QQ 空间、博客是不是零代码平台,所谓的智能建站自助建站这些是不是低代码平台,如果真有这么好,这些平台为何会逐渐没落?
    zzzzzzggggggg
        8
    zzzzzzggggggg  
    OP
       2021-11-25 10:47:25 +08:00
    @zachlhb 嗯嗯,确实不排除炒冷饭的嫌疑,不过既然有这么多人在说,还是需要搞清楚这些概念,万一有机会呢对不对
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   939 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 21:10 · PVG 05:10 · LAX 13:10 · JFK 16:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.