悟空云  >   产品动态  >  前沿热点丨无/低代码软件开发的兴起

前沿热点丨无/低代码软件开发的兴起

悟空软件 阅读次数:340 次浏览

  本文选自中国工程院院刊《Engineering》2020年第9期

  作者:Marcus Woo

  来源:The Rise of No/Low Code Software Development—No Experience Needed?[J].Engineering,2020,6(9):960-961.

  导语

  纽约市为追踪新冠病毒肺炎(COVID-19)在城市中的传播情况,拟建立一个在线门户网站,用于收集 COVID-19感染者以及病例接触者的信息。该COVID-19门户网站经过3天筹备便上线运行了,而这一网站的上线过程中竟无需编写任何代码。这是如何实现的呢?

  中国工程院院刊《Engineering》刊发《无/低代码软件开发的兴起——无需经验?》指出,无/低代码软件开发代表着计算机科学向实现编码自动化这一目标又迈进了一步。文章指出,到2024年,低代码平台将用于65%的应用程序开发工作,这从侧面反映了企业日益数字化以及对定制应用程序需求的增长。随着机器学习和深度学习的不断深入发展,融入数据驱动的智能技术,可以使代码生成与合成更加智能化,人工智能将可以自动生成代码,即“程序合成”。

  纽约市的官员想要追踪新冠病毒肺炎(COVID-19)在城市中肆虐的情况,并有效地为有需要的人提供服务。为此,他们建立了一个在线门户网站,用于收集 COVID-19感染者以及病例接触者的信息。速度至关重要,COVID-19门户网站三天后便上线运行了,而这一切都无需编写任何代码。

  这一壮举由纽约市的初创公司Unqork所开发的无代码(no-code)软件开发平台实现,并很快得到了华盛顿特区的效仿,用于当地的COVID-19支持中心。与无代码平台类似的还有需要一些基本编码知识的低代码平台,而两者日益壮大的趋势代表着计算机科学向实现编码自动化这一几十年来的目标又迈进了一步。

  “想象一个不必编写代码的世界,”加利福尼亚大学伯克利分校的计算机科学教授Koushik Sen说道,“只要动嘴,计算机就能帮你实现,就像是一个用于编程的亚马逊Alexa智能助理。”

  除了众多初创公司,甲骨文(Oracle)、Salesforce、微软(Microsoft)和阿里巴巴(Alibaba)等科技巨头也拥有自己的无代码和低代码软件开发平台。在2020年1 月,谷歌公司收购了源于美国华盛顿州西雅图市的无代码平台AppSheet。根据总部位于美国康涅狄格州斯坦福德的全球研究公司高德纳的预测,到2024年,低代码平台将用于65%的应用程序开发工作。

  北京大学计算机科学技术系的讲席教授谢涛表示,这种增长反映了企业日益数字化以及对定制应用程序需求的增长。因为没有足够的软件工程师来满足需求,企业如今开始转向这些愈加强大的平台。

  在大多数的这些平台中,用户可以通过拖放元素(图1)来创建网页和移动应用程序,而无需编写代码。但是,这种高级编程的概念并非如此新颖。Sen表示,编程一直朝着更简便易懂的形式发展,无代码和低代码软件开发只是该趋势的一种延伸。例如,在20世纪50 年代,编程中的汇编语言过于烦琐,计算机科学家便创建了Fortran等更易于编写和理解的高级语言。甚至电子表格都是一种无代码或低代码的平台,用户几乎无需编写任何代码即可分析和处理数据。

  图1 Mendix等低代码平台允许用户通过拖放组件来设计应用程序,无需编写代码。该截图展现的是拖放界面。图片来源:Mendix,经允许

  如今,大多数商业化的拖放平台都是通过预定义的组件来创建应用程序的。但是,某些平台开始利用人工智能(AI)来更好地预测用户的需求。例如,美国马萨诸塞州波士顿市的低代码平台Mendix拥有一个由机器学习驱动的助手,可识别历史数据中的规律,以便在用户创建应用程序时为其提供建议。谢教授说道,融入这种数据驱动的智能技术反映了这些平台的下一步发展。“使代码生成与合成足够智能化将是一个重要的里程碑。”

  最终,人工智能也许可以自动生成代码,这一目标被称为“程序合成”。加利福尼亚大学伯克利分校的计算机科学助理教授Alvin Cheung表示:“能够让计算机自己编写程序一直是计算机科学家的梦想。”你可以通过提供输入和输出的示例,演示你想要完成的任务,或者简单地用自然语言描述你想要的程序,来告诉计算机你想要什么,计算机就会生成代码。

  但是,Cheung说道,解读人类需求、扩大规模并产生大量代码仍然是程序合成的重大挑战,即使是最先进的工具也远远无法达到目标。不过,由于深度学习的进步以及更高效的自动编码方法的出现,我们正在进步。从原则上讲,计算机可以查阅所有可能的代码,然后找出可以完成所需任务的组合来生成程序。但是,这不切实际,因此计算机科学家一直在开发更智能的方法来缩小搜索范围。Cheung表示,在使用这种方法的工具中,一个最好的示例就是微软电子表格的快速填充功能。当你输入数据时,它会识别规律并相应地自动填充剩余的单元格。

  IntelliJ IDEA(来自捷克共和国布拉格的JetBrains 公司)和TabNine(来自以色列特拉维夫的Codota公司)等其他商业工具分别使用机器学习和深度学习来识别人们的编码规律并在编码时提供建议。Sen说道:“这就像更加强大的自动填充功能一样。”与拖放平台不同,这些工具适用于编码人员。尽管它们不合成代码,但其目的是帮助程序员更快地编写代码,并减少错误。

  当前所有的这些技术都存在局限和挑战。谢教授说,没有专业的开发人员,使用拖放平台制作的应用程序可能难以更新从而满足新的技术要求。这些应用程序运行时的性能可能不那么高效,并且可能很难与一个公司里的大型软件系统整合。一些创建移动应用程序的无代码工具,即在线应用程序生成器可能会遇到安全问题。对于不懂代码的开发者来说,调试将是一个很大的挑战。

  如果程序合成成为现实(Sen表示“这会实现的”),即使是最好的程序员也许都很难理解代码。这些代码不会有注释,并且可能会使用难以理解的变量名。Sen说道,计算机认为最有效的代码对于人类来说可能是无法理解的。而且神经网络算法本身具有“黑箱”性质,它可能已经生成了代码,然而人们通常无法理解这一结果是如何实现的。

  但是,无论是使用程序合成还是拖放平台,越来越多的人以后将能够创建程序。这可以解放训练有素的编码人员,让他们专注于最棘手的问题。我们对编码人员的需求可能会减少,但是我们仍然需要专家。“我不认为人类会被完全取代,”Cheung表示,“现在仍然有大量的编程工作是自动化系统无法胜任的,而且即使在不久的将来也不行。”

  注:本文内容呈现略有调整,若需可查看原文。

  改编原文:

  Marcus Woo.The Rise of No/Low Code Software Development—No Experience Needed?[J].Engineering,2020,6(9):960-961.

  前沿热点:如何提升输电基础设施以更好利用风能

  前沿热点:三维芯片成像

  前沿热点:利用负排放技术减缓气候变化

  前沿热点:现代城市社会中的高性能抗震结构

  前沿热点:人类基因编辑技术及其伦理问题

  前沿热点:外科医生未来将与机器人医生一起协作

  中国工程院院刊

  工程造福人类

  科技开创未来

  微信公众号ID :CAE-Engineering

悟空云产品更多介绍:www.72crm.com

相关内容
最新文章

什么是客户订单管理系统?好用高效的客户订单管理系统推荐

相信有很多企业管理者都比较关注客户,因为只有拥有足够多的客户才能够让自己的营业额和利润得到提升,有的企业为了更好完成客户关系管理,会考虑选择客户订单管理系统来满足自己的客户关系管理需求。那么,什么是客户订单管理系统呢?好用高效的客户订单管理系统推荐哪一个呢?接下来一起来看看这两个问题的答案。 什么是客户订单管理系统 客户订单管理系统是一种专门针对商业运营而设计出来的软件解决方案,它的核心目标在
最新文章

智能营销客户管理系统是什么?智能营销客户管理系统哪家好用

在企业管理的过程当中,有不少企业管理者可能会考虑选择智能营销客户管理系统来帮助自己,让自己的客户关系管理工作可以顺利进行,从而让客户管理效率得到提升。那么,智能营销客户管理系统是什么呢?智能营销客户管理系统哪家好用呢?下面就一起来看看这两个问题的答案。 智能营销客户管理系统是什么 智能营销客户管理系统是一种现代企业数字化转型过程当中需要使用的现金工具,它本身结合了人工智能、云计算技术以及大数据
最新文章

国内常用的CRM系统推荐,腾讯使用的CRM系统

现在有很多企业管理者都会使用CRM系统来帮助自己,让自己的企业客户关系管理工作可以顺利进行,但是,在选择相关的CRM系统的过程当中,有的人表示,自己不知道国内经常使用的CRM系统到底是哪个。所以,他们希望知道国内常用的CRM系统推荐,也希望可以知道腾讯使用的CRM系统是哪个。 目前,在国内常用的CRM系统是悟空云系统,它是国内自主研发的本土化的CRM系统,这个系统,在腾讯使用以后也备受认可。它针
最新文章

快速注册,立即使用

仅需一分钟,立即注册悟空云。悟空CRM免费试用。
客户端下载