程序员该如在低代码和无代码开发中抉择?

时间: 2019-06-13阅读: 818标签: 代码

“低代码开发”旨在开发人员可以通过编写少量代码就可以快速生成应用程序的一种方法。“无代码”开发平台是为那些不知道也不需要知道任何实际的编程语言来使用应用程序的公民开发者而构建的。在本文中,让我们深入了解低代码与无代码开发的本质,看看它们区别在哪里。以下为译文:

对于一个人第一次是如何了解低代码/无代码这两种开发方式,我总是充满好奇。这就是为什么我觉得贸易展会是如此有趣的原因;因为我可以拿同样的问题问每一个走进你的展台的人们。通常这是我问他们的第一个问题,当然是在扫描了他们的胸牌之后。

在问这个问题时,我很快发现大多数人对低代码开发平台和无代码开发平台之间的区别其实并不清楚,这经常让我情不自禁地长篇大论地解释一番。低代码开发平台和无代码开发平台之间存在着很多非常显著的差异,如果你正在考虑放弃传统的应用程序开发方式,或者只是想尝试一下可视化应用程序开发方式,那么你需要了解这两个平台能给你带来什么好处。

让我们深入了解低代码开发与无代码开发的本质,看看它们区别在哪里。


图形用户界面-现今编程环境的起源

自1804年穿孔卡片可编程式提花织机问世,编程语言已经存在200多年了。而在20世纪50年代,新的编程语言出现。到现在为止,事实上已经出现了256种编程语言。这意味着开发人员必须习惯的一件事就是“改变”。

编程界最近的一个变化是集成开发环境(IDE)的出现。IDE是为专业开发人员和公民开发者(终端用户)提供的一套用来简化编码工作的软件开发工具。IDE的起源可以追溯到1982年,当时詹姆斯·马丁写了一本书,叫《没有程序员的应用程序开发》。马丁在这本书中提到,有了IDE的帮助,创建应用程序需要的开发人员可以减少,在某些情况,甚至可能根本不需要开发人员。(开发人员不必惊慌,我们现在仍然需要你们。)

时间快进到2019年,形势又发生了变化。我们现在已经处在了这样一个阶段:由于太多的代码已经被编写出来,导致我们不需要每个应用程序都从零开始编写了。事实上,当你使用一个健壮的低代码开发平台,而其中的可视化代码块就已经包含了大多数应用程序所需的90%的功能时,这个低代码开发平台就能够完成大部分繁重的工作。


什么是低代码开发?如何使用它?

你可以通过阅读我们这篇标题为“什么是低代码开发”(https://www.outsystems.com/blog/what-is-low-code.html)的博客文章来深入了解低代码开发到底是什么意思。简而言之,“低代码开发”就是开发人员可以通过编写少量代码就可以快速生成应用程序的一种方法。我们有时把“低代码”作为名词用,这时候我们把它看作一个像Python语言和C#语言一样的一种“东西”。我们有时也把“低代码”作为动词用,这时候它表达的是它字面上代表的一种应用程序开发方式,因为用这种方式开发应用程序时,你需要手写的代码比通常的开发方式要少。

使用低代码开发平台类似于使用IDE,因为它包含了一套可以供开发人员直接使用的功能,和一套供开发人员使用的工具。然而,它实际上能提供的远远超过一个传统的IDE。简单来说,低代码开发就是将已有代码的可视化模块拖放到工作流中以创建应用程序的过程。由于它可以完全取代传统的手工编码应用程序的开发方法,技术娴熟的开发人员可以更智能、更高效地工作,而不会被重复的编码束缚住。相反,他们可以将精力集中于创建应用程序的10%部分,并使其具有与众不同的功能。


与“低代码”开发相对的另一种方式是编写数千行复杂的代码和语句,然后对其进行调试。而使用“低代码”开发并且使用可视化地方式来构建应用程序,你可以将开发速度提高10倍,并且最大化技术娴熟的开发人员的价值。(看,前面我说过我们仍然需要你们开发人员。)

这就是为什么Forrester预计到2022年,低代码市场的支出仍将达到210亿美元开发费用的一个重要原因。


低代码开发的好处

你可以写一篇关于低代码开发的好处的文章。事实上,我们已经写过。但现在,让我们先从高层次了解一下低代码开发的好处,然后再研究一下“无代码”开发能带给我们什么。

低代码开发的好处主要有以下四点:

  • 速度:使用低代码开发,你可以同时为多个平台构建应用程序,并且在几天甚至在几小时以内就可以向项目相关人员提交工作示例。

  • 更多的资源:如果你在一个大型项目上工作,使用低代码开发,你就不必再等待具有专业技能的开发人员完成另一个冗长的项目,这意味着项目可以更高效、以更低廉的成本完成。

  • 低风险/高投资回报率:使用低代码开发,意味着强大的安全流程,数据集成和跨平台支持已经内置,并且可以轻松定制,这通常意味着更低的风险,并且可以将更多的时间集中在业务逻辑的实现上。

  • 快速部署:项目上线总是会让人神经紧张。而使用低代码开发,部署前的影响评估可以确保你的应用程序按预期工作。如果有任何异常发生,只需要一次单击,你就可以回滚你所做的所有改变。


什么是无代码开发?

乍一看,很容易将低代码开发和无代码开发混淆起来。因为他们听起来就像一样。“无代码”开发平台是为那些不知道也不需要知道任何实际的编程语言来使用应用程序的公民开发者而构建的。无代码平台供应商认为用户构建应用程序需要的所有内容都已经内置到平台中。无代码平台类似于现在流行的博客平台,或者电子商务网站设计平台。这些平台有预先构建的页面,可以让你在几分钟内启动你的博客或你的电子商务业务。

听起来不错吧?如果你的应用没有任何独特的和很难定制的功能,并且不需要解决数字现代化方面的挑战的话,无代码平台当然是个好选择。然而,大多数无代码平台最初设计用于解决单个业务问题,如业务流程管理。从业务增长的角度来看,这是天然的局限。所以许多无代码平台供应商已经开始了将自己的平台归类于低代码平台,并进行了大肆炒作。

然而,他们称自己冠为“低代码”平台的荣耀可能已经过去了。行业分析师们已经识破了他们的游戏套路,已经开始将一些无代码平台供应商从一些相关报告中移出(如Forrester Research公司发布的报告《2019 Q1 Forrester Wave™:面向应用程序开发和交付专业人员的低代码开发平台》),同时将它们转移到那些只适用有限用例的平台报告中。


使用低代码平台和无代码平台的技能要求

从字面上看,有成百上千的小细节和功能点可以区分强大的低代码平台和受限的无代码平台解决方案。然而它们中的大多数在UI层面上区分并不明显,这是这两种平台容易混淆的主要原因。

但是,如果将我们的讨论严格限定在应用程序开发层面的话,某些类型的用户以及他们需要开发的内容可能会促使他们倾向于使用低代码平台而不是无代码平台。

  • 无代码解决方案只适合业务用户或公民开发者。他们很少需要专业培训。你可以把它视为一大优势,但是由于这种类型用户的技能有限,加上无代码平台本身也有功能局限。大多数专业的开发人员都发现无代码平台无法提供他们需要的开发能力,并且无代码开发工具也限制了他们的开发能力。

  • 低代码平台旨在同时服务业务用户和专业开发人员。对于业务用户来说,在经验丰富的IT人员指导下创建经过深思熟虑的与实际需求相符的应用程序,实际上在一定的管控下扩展了技术团队的业务能力,并且使得技术团队获得了更多的处理能力。对于专业的开发人员来说,通过可视化的操作搭建应用程序,可以更加有效地提高开发效率。同时低代码平台也允许他们根据需要手工编码,这意味着在提高技术团队的业务价值的同时,降低了开发工作的积压量。

不妨问问周围的人,你可能会很难找到一个专业的开发人员,他会对企业开发人员必须处理的大多数项目使用无代码平台感兴趣。

那么,无代码开发平台不适合专业的开发人员,对吗?

这是对的。无代码平台的吸引力在于,组织中几乎任何具有一点技术背景的人都可以快速创建业务应用程序。这可能是一个巨大的优势。但它同时也带来了诸多问题。

首先,无代码应用程序开发不需要任何编码的想法并不总是事实。因为这些平台是为公民开发者设计的,IT技术部门还是不得不在最后一英里处介入,以完成与现有系统的集成。就这一点面言,“无代码”开发最终可能很容易导致这样的“我们现在需要大量的编码,并且非常迫切”的困境。

这种困境的另一面可能更糟。如果你们的IT技术部门根本不参与应用程序开发时会出现什么状况?这将会产生可怕的结果:那就是你们的应用程序开发很可能根本没有适当的监督或经过充分的论证。可以预见,各种各样的安全问题、合法性问题、系统集成问题都会出现,最后会产生一个个设计不当的应用程序。最好的情形是这些应用程序浪费了很多不必要的资源,而最坏的情形则是,用户会对这些应用程序望而却步。

那么,低代码开发就一定比无代码开发好吗?

也不完全是。低代码平台和无代码平台都是基于同样的“敏捷性”这一思想而构建的。虽然粗略地看上去(或者在无代码供应商的网站上看),它们很相似。但实际上它们适用于非常不同的目的。

低代码开发平台适合开发复杂的应用程序,这些应用程序通常为你们的核心业务服务,运行那些重要的和关键性的业务流程。它还可以用来构建独立的移动和Web应用程序,这些应用程序可能需要也可能不需要复杂的集成。事实上,它可以用来开发任何应用程序。

相反,无代码平台的局限性意味着它们只能用于前端用例开发。

话虽如此,在现代企业中,两种平台都有应用空间,或者至少两者能结合在一起。对于那些DevOps(另一种用于在开发中创造更大的灵活性的方法)的拥趸来说,低代码平台和无代码平台的组合可以提供完美的应用程序开发环境。

事实上,有些人认为这些技术的兴起最终完全可以导致手工编码时代的终结。就像我们的首席执行官保罗·罗萨多(Paulo Rosado),去年他发表了一次演讲(https://www.youtube.com/watch?v=w-W4rx26m1g&feature=youtu.be),谈到了在不久的将来,开发人员可能会被人工智能和机器学习所取代。而这正是詹姆斯·马丁在1982年所说的。


应用程序开发的未来

在一个一切都必须快速发展的世界中,低代码平台和无代码平台都可以为开发人员和使用它们的组织提供竞争优势。但是,除非你只是开发最简单的应用程序,并且对定制的要求很低,否则低代码平台总是更好的选择。

低代码开发提供了更多的灵活性和更强的控制能力,这意味着你可以构建更加多样化、功能更强大,响应更快速的应用程序。然而,与手工编写应用程序相比,它仍然保留了使这些应用程序快速启动和运行的简单性。同时,由于低代码开发仍然需要一些编码知识,所以你知道创建应用程序的人员会正确地执行这些操作,而且你的新应用程序不会给你带来任何安全风险或法律问题。

原文:https://dzone.com/articles/low-code-vs-no-code-form-following-function
作者 | Chris Souther
译者 | 苏本如,责编 | 屠敏
出品 | CSDN(ID:CSDNnews)


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

链接: http://www.fly63.com/article/detial/4193

关于 Google 发布的 JS 代码规范

Google为了那些还不熟悉代码规范的人发布了一个JS代码规范。其中列出了编写简洁易懂的代码所应该做的最佳实践。代码规范并不是一种编写正确JavaScript代码的规则,而是为了保持源代码编写模式一致的一种选择。

js优秀代码

es6数组去重此技巧适用于包含基本类型的数组:undefined,null,boolean,string和number。(如果你有一个包含对象,函数或其他数组的数组,你需要一个不同的方法!)

黑客攻击用的最短代码是什么?

我们讲的是攻击过程中用到的代码,不是你攻击过程中准备的软件代码。我们讲的是现在应当能成功攻击的。不是你已经装好后门你去连接了,像菜刀服务端、跨站代码等。真正的dir溢出、现在很多黑客黑了服务器之后,会装一个shift后门。

js跳转代码

所谓的js页面跳转就是利用javesrcipt对打开的页面ULR进行跳转,如我们打开的是A页面,通过javsrcipt脚本就会跳转到B页面。常规的JS页面跳转代码:在原来的窗体中直接跳转用

13段常用Js代码

JavaScript 可以做很多好玩的事, 从复杂的框架到处理API,有太多的东西需要学习。但是,它也能让我们只用一行就能做一些了不起的事情。

Js高程:教你如何写出可维护的代码

在平时工作开发中,大部分开发人员都花费大量的时间在维护其他人员的代码。很难从头开始开发新代码,很多情况下都是以他人成果为基础的,或者新增修改需求,自己写的代码也会被其他开发人员调用

32个JavaScript工作中常用的代码片段

初衷: 整理一下工作中常用的JavaScript小技巧分享给大家,希望能帮助到各位小伙伴们,在工作中提升开发效率。适合人群: 前端初级开发,大佬绕道。

后端传过来一个JS代码,前端拿到之后执行

今天收到了一个需求,居然是后端给我传过来一个JS代码,然后前端去执行。因为后端传过来的JS代码是一个字符串,所以刚开始有点懵,以前也没有做过这样的东西所以刚开始没有方法。

怎么避免写出烂代码

命名规则:除非在小于 5 行的函数里,否则不要使用单字命名变量,规则:不要使用名词加数字的命名方法,规则:应该且只有方法和函数以动词开头

什么才是优秀的代码?

究竟什么是优秀的代码?Robert Martin的一句话可以完美诠释。代码质量的唯一衡量标准是每分钟说多少次WTF,我来解释一下这句话。当我在做code review时,通常会有三种不同的感受:

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!