18岁的时候,我第一次听到NCDP这个概念。当时只是稍微研究了一下,并没有太在意。但是我发现这两年这个概念越来越流行了。NCDP的全称是:No-codedevelopmentplatform。无代码开发平台。乍一看这个名字很牛逼,甚至很多人会问:以后程序员会失业吗?事实上,我认为这个名字更多的是一个噱头而不是实际意义。的确,NCDP的出现,间接地恰好符合我国供给侧改革的主基调。因为之前很多互联网公司都享受了人口红利带来的大量市场需求,所以并没有太注重内部降本增效。而技术人员占据了互联网公司人力成本的大头。其次,很多传统企业希望做数字化转型,但是搭建完整的技术团队成本太高。如果你购买的是标准化的SAAS产品,并不能完全贴合自己的业务情况,那么一定有或多或少的工作场景无法覆盖。不过很多文章都提到程序员会不会因为NCDP而失业,我觉得有点夸张。甚至有人厉声喊出口号:过了中期,就没有代码编程了。其实这两个概念是没有任何关系的。唯一能算得上有联系的是,他们既能降低成本,又能提高效率。不得不说现在NCDP产品的UI设计非常好,界面很漂亮,特效也很炫酷。但是很多人只看到了presentationlevel很棒,却可能忽略了“process”这个概念。一个完整的系统离不开流程,流程是人与人之间通过软件进行高效协作的基础,仅靠信息共享是不够的。虽然目前确实有一些无代码平台提供了通过可视化界面设置流程的功能,但这些流程更倾向于简单的表单信息流转。不能很好地满足实际业务中存在的拆分、合并等不同形式之间的转换等复杂操作。因为NCDP本质上是一种“在给定范围内做事”的解决方案。如果要满足各种交错复杂的情况,对基础元器件数量的需求呈指数增长。这不能仅由NCDP背后的开发团队完成。因此,仅就实际功能而言,是不可能取代程序员的。我们从程序员的价值角度来看。程序员的价值不就是把业务逻辑翻译成编程语言交给计算机执行吗?绝对不认为。程序员的核心工作不是编码,而是“抽象”和“建模”。编码只是将这些信息通过编程语言传递给计算机进行计算的一种媒介。比如WMS系统就是对现实中物流的建模。电子商务网站是真实世界交易的模型。...即使是一个简单的应用程序,也需要抽象和建模这两个动作才能完成开发工作。如果你认同这个观点,那么再看看“NCDP会不会取代程序员”这个问题,变成“NCDP能否取代程序员进行抽象和建模?”。我认为答案是显而易见的。因为任何一个NCDP都不可能通过有限的模块和组件来表达现实中的所有事物。更重要的是,我们的世界仍在快速发展。我们可以再大胆想象一下,如果真的存在一个能够满足上述要求的NCDP,那该有多复杂?有许多配置和组件。看起来像你现在的软件系统中配置和引用的二方库和第三方库吗?到时候学习NCDP的使用,就会类似于学习一门更高级的编程语言,就像从汇编到c++一样。只是门槛比较低,就像汇编和C++的区别一样,但是还是需要专业的人才去做。所以,我更愿意认为未来NCDP是类似于现代上班族使用excel的基本技能。它可以用来解决一些简单的问题,但不会取代程序员。但是,作为程序员,面对这样的趋势,也不得不做出一些改变。大概有三种方法可以走。第一种方式是更深入地掌握业务知识,成为一个懂业务的程序员。因为基于CRUD的系统最容易被业务人员替换成NCDP。而如果你能成为开发团队中的业务专家,自然能胜任业务中最复杂的工作。第二种方式是深入技术底层。类似于NCDP的LCDP(LowCodeDevelopmentPlatform)也在蓬勃发展。它的特点是它允许通过额外的编码来自定义实现未满足的场景。但是那个时候的编程环境会和现在不一样。你通过编码能掌握的东西是有限的。如何编写出高性能、稳定的代码变得更加重要。另外,如果NCDP继续发展,可能会有组件和项目模板制作者的位置,为平台提供更丰富的组件和模板。这时候,你还得熟悉NCDP背后的技术。最后一种方式,你也可以进入软件不规范的行业。比如游戏行业。在那里找到您熟悉的编程感觉。总之,以后做程序员的门槛又要提高了。其实仔细想想就会发现,NCDP所提倡的软件开发方式早已出现在一些特定的领域。比如CMS系统。甚至微软在20年前就推出了拖放控件式的编程方式WinForm和Asp.Net,虽然都未能成为主流。如今的新民党风起云涌,自然有其优势。但我们也不能忽视其背后可能出现的新麻烦。想象一下,未来人人都可以构建应用,会不会导致更多的数据冗余和信息孤岛?而且,如果冗余数据没有及时同步,后果可想而知。此外,如果没有限制,通过NCDP构建的应用数量将呈爆炸式增长。如何长期保养?谁来维护它?太多的问题在等着我们。好的,总结一下。在这篇文章中,Z哥将和大家谈谈他对当下风靡一时的NCDP的看法。首先,我不认为它会从功能或价值的角度取代程序员。当然,基于CRUD的软件肯定会受到影响。以后NCDP顶多是像Excel一样的通用技能,大家知道一些简单的使用方法,比如拉报表什么的。但是,作为程序员,我们还是要未雨绸缪。我可以想到三种方法来应对这种趋势。更深入地掌握业务知识,深入技术底层,进入软件不规范的行业。我希望它能启发你。不管怎样,“人人都是程序员”的时代即将到来,你准备好了吗?
