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

更新日期: 2019-06-13阅读: 1.9k标签: 代码

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

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

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

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


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

自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)


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

不要浪费时间写完美代码

一个系统可以维持5年,10年,甚至20年以上,但是代码和设计模式的生命周期非常短,当对一个解决方案使用不同的方法进行迭代的时候,通常只能维持数月,数日,甚至几分钟的时间

Google内部在代码质量上的实践

良好的编程习惯涉及到很多方面,但在软件行业内,大多数的公司或组织都不会把良好的编程习惯列为主要关注点。 例如,具有可读性和可维护性的代码比编写好的测试代码或使用正确的工具更有意义,前者的意义在于可以让代码更易于理解和修改。

减少嵌套,降低代码复杂度

减少嵌套会让代码可读性更好,同时也能更容易的找出bug,开发人员可以更快的迭代,程序也会越来越稳定。简化代码,让编程更轻松!

关于 Google 发布的 JS 代码规范

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

你解决的问题比你编写的代码更重要!

程序员似乎忘记了软件的真正目的,那就是解决现实问题。您编写的代码的目的是为了创造价值并使现有世界变得更美好,而不是满足您对自我世界应该是什么的以自我为中心的观点。有人说:如果你拥有的只是一把锤子,那么一切看起来都像钉子一样

tinymce与prism代码高亮实现及汉化的配置

TinyMCE是一个轻量级的基于浏览器的所见即所得编辑器,由JavaScript写成。它对IE6+和Firefox1.5+都有着非常良好的支持。功能方强大,并且功能配置灵活简单。另一特点是加载速度非常快的。

js函数式编程与代码执行效率

函数式编程对应的是命令式编程, 函数式编程的核心当然是对函数的运用. 而高阶函数(Higher-order)是实现函数式编程的基本要素。高阶函数可以将其他函数作为参数或者返回结果。所以JS天生就支持函数式编程

接手代码太烂,要不要辞职?

朋友发表了一条说说:入职新公司,从重构代码到放弃”,我就问他怎么了?他说,刚进一家新公司,接手代码太烂,领导让我先熟悉业务逻辑,然后去修复之前项目中遗留的bug,实在不行就重构

js高亮显示关键词_页面、搜索关键词高亮显示

页面实现关键词高亮显示:在项目期间遇到一个需求,就是搜索关键词时需要高亮显示,主要通过正则匹配来实现页面关键词高亮显示。在搜索结果中高亮显示关键词:有一组关键词数组,在数组中筛选出符合关键字的内容并将关键字高亮

写优雅的代码,做优雅的程序员

软件工程学什么? 学计算机,写程序,做软件,当程序员。听说学计算机很辛苦? 是的,IT行业加班现象严重。在计算机世界里,技术日新月异,自学能力是程序员最重要的能力之一。选了这个专业,就要时刻保持好奇心和技术嗅觉,不能只满足于完成课内作业。

点击更多...

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