2020低代码技术体系发展介绍(2020低代码技术体系发展介绍)
导语
2020年如期而至,2020是新十年的开始,新十年的命运是谁都猜得到的。但到2020年,软件世界将发生重大变化,这将彻底改变企业及其客户、开发人员和员工体验技术的方式。软件技术将变得更容易获得,更个性化,更注重价值。解放生产力是软件行业一直喊着的口号,而低代码则是解决这种问题的强有力的武器。
模型驱动开发
如果我们必须确定一个原则来统治所有低代码开发的其他各种准则,没有它,就不会进行企业级应用开发,这就是第一个核心原则:模型驱动的开发。
我们以这种方式描述了模型驱动开发的内容和原因:
抽象性、自动化和开放性是将想法转化为可提供真正业务价值的应用程序的关键。
这是我们达到这一原则的背景知识:
Mendix的成立是为了改善业务领域专家与软件开发人员之间的协作和沟通,并加快创建应用程序的过程,同时还提高了应用程序的关联性和质量。
协作和交流的最大障碍是,业务和IT根本不会讲相同的语言。传统的瀑布开发过程强调而不是解决这种脱节。业务专家用他们的语言描述业务需求,开发团队通过软件语言和IT体系结构的筛选进行聆听——因为他们的头脑敏捷,并且始终在关注下一步——因此只能听取业务专家描述的部分内容。然后,在解决方案交付之前,甚至几个月甚至几年之后,他们什么都不会发言,当然,整个项目没有达到目标。
可以肯定地说,大多数开发人员都没有上过商学院。而且大多数商学院的毕业生都不知道计算机代码。他们学习了不同的语言,他们需要在自己的工作中达到最佳状态。(有趣的是,我们的一位创始人Roald Kruit是软件方面的天才,他回到学校并获得了MBA学位,以帮助他从双方的角度来解决这一问题。)
模型驱动的开发弥合了这种语言鸿沟。该模型为每个人提供了一种通用语言。使用可视化的构建块,领域专家可以向开发人员展示问题或业务需求是什么,开发人员可以理解它。反过来,开发人员可以向领域专家展示可能的解决方案,以及一些解决问题的新颖方法。他们反复沟通,达成共识并达成一致意见,然后再进行下一步。
因此,失误少了很多,开发过程进行得更快,成品很可能是最终产品,成功交付具有商业价值的项目。
- 是什么构成模型?
虽然模型驱动的开发为用户提供了图形或视觉界面,但视觉效果却是与众不同的。(非低代码也可能具备可视化界面,但没有可视界面就没有低代码。)
使用低代码,模型从代码中抽象出来。与具有严格语法的复杂语言不同,您可以使用构建块或“预构建的应用程序组件”,每个组件都有自己的特定于领域的语言,这些语言处理应用程序的所有技术方面——逻辑、数据模型、用户界面、安全性、集成等等。这些组件或“功能块”被抽象出来,并以可视化的方式呈现给用户。
从业务领域专家到核心开发人员,这些构件都是团队中每个人都能理解的通用语言。当他们一起探索解决方案时,他们可以从字面上看到彼此在谈论什么,安排和重新排列组件,然后,由于模型中的魔力,因此可以快速试用该应用程序。
模型的魔力就是自动化,这是模型驱动开发的另一个基本方面。拖放式可视化开发顶层的所有流程,所有配置,测试和质量检查,集成以及各种细节,都可以无缝自动化。(这减轻了专业开发人员的繁琐工作,这是低代码提高生产率并加快开发过程的主要方式。)
- 没有代码
因此,许多人此时提出的问题是:您如何拥有一个没有代码的应用程序?事实是,有一些低代码平台依赖代码。很多代码。100%的代码。因为他们的可视化模型被解释为成为应用程序的代码。当然,随之而来的是典型的具有代码的应用程序的所有传统陷阱,质量和操作问题。
在真正的模型驱动的低代码应用程序中,模型本身可以在运行时执行。不需要代码。无需编写代码和对代码进行故障排除,该过程可以成倍地加快速度,并且完成的应用程序的质量更高。在那些需要的功能无法在预建组件之一中提供的情况下,专业的开发人员可以编写代码来构建自己的组件,该组件随后成为模型的一部分(并可以通过以下方式供社区中的其他开发人员使用:Mendix App Store)。
- BizDevOps的终极实
模型驱动的低代码使BizDevOps的想法变为现实。
由于直观,易于理解的可视化建模工具消除了代码的所有奥秘,因此业务专家成为了流程的组成部分。他们甚至可以自己构建应用程序。(我们创建了一个工具,一个环境,让他们可以做到这一点— Mendix Studio。)对代码的知识为零,他们可以将自己的方式拖放到工作的应用程序中。
借助可视化模型,开发团队大大提高了速度和生产率。通过自动化,他们摆脱了那些降低他们效率和热情的重复性工作。他们不必花很多时间来选择语言,数据结构,逻辑流和体系结构方面的内容,该模型为他们做出了正确的选择。
从操作的角度来看,由于模型中内置了自动化流程,质量检查和按钮部署,一切都变得越来越轻松。
- 开放
瞬息万变的技术和席卷整个领域的重大新现象——物联网,人工智能,增强现实,区块链,边缘和环境计算,以及其他即将到来的事物——软件自适应和集成。模型驱动的低代码恰巧是处理未来创新的理想平台,因为它是开放的并且可以无限扩展。
低代码不仅是构建单个应用程序的工具。核心模型是如此抽象,任何东西都可以在其中建模。由Mendix设计的模型驱动的低代码是一种用于创建、调整和演进整个场景的工具,它利用了所有新、旧的和尚待想象的工具和技术,这些工具和技术都可以用来提升企业的数字能力。Mendix平台在每一层都是开放的,通过我们的模型API和软件SDK,可以与任何系统集成。
- 结论
使用模型从较低级别的代码中抽象出来,使团队中的每个人(包括技术人员和业务专业人员)都可以专注于较高级别的概念和解决方案。自动化减轻了日常工作和重复性工作的负担,并减少了人为错误,从而提高了质量并提高了生产率。开放性确保从旧系统到新兴技术的所有地方的连通性。结果是更相关,更强大的应用程序,与传统的以代码为中心的平台相比,构建速度提高了几个数量级。这就是模型驱动的低代码开发的强大功能。
协作,创新在此发生
第二个原则,即“合作原则”,实际上与模型构想是分不开的,但它是如此重要,以至于值得关注和讨论。
这是我们的陈述方式:
协作:视觉语言是在业务领域专家和开发人员之间传递知识和想法的最清晰、最明确的方法。
- 语言不通
我们都有不同的方式来看待和描述我们面前的现实。当一方的描述方式是PowerPoint,而另一方是计算机代码时,从一开始就面临着沟通的挑战。除非双方都能在以下两点达成共识:A)他们所看到的,无论是看问题还是解决方案,B)描述问题的语言。否则就不会取得有意义的进展。
在每个团队中,每个人都有自己的知识和专长。一些商务人士精通技术,可以直观地掌握数字环境以及软件的工作方式。其他一少部分技术人员确实了解市场,业务概念和流程。其他人很少冒险超越他们的技术领域。
这种沟通断开的后果是巨大的。沟通失败是IT项目失败的主要原因之一。从各种研究中我们知道,大部分软件预算都花在返工上,而沟通问题是返工的主要驱动力。
简单地说,业务和IT之间的沟通越好,解决方案就越好,无论是推出新的数字模式来服务客户并将产品推向市场,还是改进遗留系统以满足业务不断变化的需求。
- 每个人都能理解的“规范”语言
低代码平台的可视化开发环境专门用于解决沟通难题,从而增强团队成员之间的协作能力,而无论他们的专业领域或技术水平如何。
凭借强大的视觉语言和图标,每个人从字面上清楚地了解了问题或需要解决的问题以及可用于构建解决方案的工具和资源。对象和形状,图表和图形,依赖关系和逻辑的表示——从定义问题和探索解决方案到构建,测试和部署应用程序,视觉语言是整个生命周期的通用语言。
使用通用的视觉语言,团队成员可以坐在屏幕前一起尝试想法,功能化面条或调整界面。各方都可以理解讨论的细微差别并做出有意义的贡献,因为他们可以看到一切。无需解释代码或翻译PowerPoint。
由于视觉语言的学习曲线很短,因此团队成员很快感到有能力为超出其主要技能范围的应用程序创建做出贡献。例如,业务分析师或产品工程师实际上可以自己对应用程序进行粗略处理,或者添加,减去或重新排列组成该应用程序的组件。相反,核心开发人员可以使业务流程或客户交互方案焕然一新,并提供创新的想法来优化效率或用户体验,从而产生更大的业务影响。这一切都是实时发生的,每个人都可以看到。在真正开放的协作环境中,没有人力会被浪费。
- 面对面互动的力量
因此,业务团队经常在业务角上使用白板,而开发团队在IT角上使用白板——实际上,大多数时间是在传统的、线性的、瀑布式的开发方法中。这两个人从来没有见过面。这肯定会导致很多误解和适得其反的结果。
当人们使用同一种语言时,他们更容易坐在一起,在一块白板或屏幕上描绘他们的想法。他们彼此建立联系,阅读彼此的非语言交流,了解彼此的关心点。最重要的是,他们分享彼此的知识。一个领域探索得越新或越少,知识转移就变得越重要。
实时的、面对面的交流可以帮助团队中的每个人最大限度地参与进来,并更聪明地工作。这些变成了每个人都想参加的会议。
- 协作式低代码环境
这并不是说合作必须实时进行或亲自到场才能有效。企业级别的低代码平台将内置同步和版本控制并实现自动化,因此没有人会过时,协作可以在任何时间和任何渠道继续进行,无论团队成员是在不同的办公室还是在不同的大陆。所有管理和过程细节的工具,例如需求、用户故事、任务、反馈、修订跟踪等等,都在每个人的指尖。对敏捷工作流的支持已经被考虑在内。只要你想,你总是在圈子中。
传统的开发模式发现领域专家使用彼此不理解的语言相互交谈。但是在一个低代码平台中,当每个人都在同一个虚拟空间中工作,并且使用一种共享的语言时,通信圈可以毫不延迟地完成。团队可以自主工作,但仍然与整体紧密相连。
- 扭转积压
一些组织在他们掌握了在低代码平台中协作的艺术之后,在开发动态中看到了一个有趣的,也许是讽刺的转折。通常情况下,IT现在是在等待业务团队的输入,将典型的业务等待IT瓶颈抛在脑后。通过协作的能力,专业开发人员能够比以往更快地进行迭代,解决方案也比以往更加准确和相关。业务专家必须重新培训自己,以便更快地做出响应,以使解决方案继续前进。
- 无需翻译
当业务人员和开发人员使用相同的语言(如可视化模型)讲话时,无需翻译,那么每个人都可以理解所呈现的问题以及解决方案的发展,迭代的速度,并且每个人从一开始就对过程保持投入部署的想法。协作可以快速构建正确的解决方案,并减少返工。
成功实施协作原则,您将立即进入指数级更有效的应用程序开发过程
敏捷方法和低代码
敏捷是在低代码之前几年推出的。这是一种进行应用程序开发的变革方式,而低代码平台恰好反映了敏捷的基本原理。“优先考虑人与人之间的互动。快速部署可运行的应用程序。激烈的协作。不断响应变化。”这些既是敏捷的基本价值,也是低码的基本价值。
敏捷和低代码共享相同的总体目标:更好地进行软件开发。
敏捷方法论:通过敏捷的工作流来管理整个企业应用程序开发生命周期,以消除瓶颈,支持迭代交付并实现最短的价值实现时间。
思维方式、方法论和支持它们的平台
敏捷是一种心态。这是一种软件开发的哲学,是一种优先级和价值的表达,目的是优化过程和创建最好的可能结果。它本身并不是一种方法论或框架。各种各样的方法(例如Scrum、XP等等)被创建出来,用来将敏捷原则组织成过程。
低代码完全支持并改进了敏捷思维和敏捷方法,它们在许多关键领域交叉。
人。即使在今天,AI发挥着越来越大的作用,人们也在创造软件。业务线所有者、开发人员、最终用户——都是不可或缺的贡献者。低代码的创建在很大程度上是为了让那些对应用程序最感兴趣的人密切地参与到应用程序的创建中,每个人都是团队中活跃的一员。
协作。任何团队的协作能力都是有限的。我们的创始人认识到缺乏有效的沟通几乎总是软件失败的原因。团队成员具有不同的专业领域,使用不同的语言。低代码的可视化模型有助于克服这些挑战,并支持敏捷对客户协作的强调。
应对变化。本质上,这就是敏捷中的敏捷。“唯一不变的是变化”这句格言本来不是用来描述应用程序开发的,但是现在非常适用。实际上,一旦构思了最初的想法,应用程序就会随着开发和部署而不断变化和发展。敏捷方法欢迎变化,而低代码可以适应变化——通过紧密协作的小型团队、专注和努力的基于微服务的体系结构和即时云部署来将变化付诸行动。
可工作的软件。快速做出有效的应用。然后继续工作。没有什么能代替观察应用程序的运行,以了解什么可行,什么不可行,并可能触发一个天才的想法。通过基于模型的设计和可视化开发环境,低代码可以将开发加速一个(或多个)数量级。低代码运行绕过了传统的瀑布方法;从最初的想法到软件的运行,再到快速迭代,在时间上根本无法与之相比。敏捷将“工作软件”置于“全面文档”之上,所以我们在Mendix SDK中实现了文档处理的自动化。
健壮的反馈循环。无论是敏捷还是低代码,这都不是一个具体的原则,但它是隐含的。协作、变更管理、工作软件——如果没有一个积极的、持续的、有效的反馈机制,这些都是不可能发生的。这就是为什么需要将其内置到低代码平台中。故事线和更新,更正和评论,注释和回应——所有都是自动和容易获得的。这是我们特殊的低代码平台的关键优势,也是我们将敏捷哲学带入生活的重要贡献之一。
- 着手业务
低代码真正带来敏捷承诺的地方是使业务团队成员(内部拥护者/客户)深入且持续地参与开发过程。我们认为,在适当的时间构建正确的应用程序,最重要的是与业务和开发部门密切配合。
这提出了BizDevOps的概念。像敏捷一样,DevOps是一项旨在消除障碍,简化流程和流程并创造出可带来更好结果的更好产品的活动。与敏捷一样,DevOps与低代码紧密结合。总而言之,我们到达了BizDevOps,它现在第一次在实现业务目标的背景下解决了整个应用程序生命周期。
换句话说,敏捷性,低代码和DevOps的好处不仅在于开发过程,还在于业务及其目标。企业可以更快地应对竞争压力。可以迅速将创新推向市场。运营效率大大提高。客户拥有更好的体验和更深入的参与。
低代码平台注入了敏捷的思维方式,并融合了BizDevOps流程,从而实现了最终目标:将正确的解决方案交到正确的人手中,帮助他们更好地工作并赚更多的钱,同时还实现通过大幅度减少返工来节省巨额成本。
- 低代码将敏捷思维转变为现实
敏捷不仅仅是速度。在流程的每个步骤中促进协作,即可实现真正的敏捷性:在工作流程中实施最佳做法时、在平台上自动进行测试和反馈时、小型团队拥有自己的软件时、既简单又快速将应用部署到云时。“速度,协作和控制”是真正敏捷过程的口号,该过程可加速整个生命周期并将创新快速推向市场。
云——智能应用程序和易于部署关键
很快,我们将无法想象没有云的生活。
当我想到如何走到今天这一步的时候,有两个事件比其他事件更为突出:2006年首次推出Amazon Elastic Compute Cloud(第一个主流商业云服务),并在2007年推出了iPhone。为企业打开了变革之门。第二种方法实际上是使数以百万计的消费者可以访问云中的所有内容,并为整个技术领域采用云铺平了道路。
并非巧合的是,低代码也是在这个时候开始成型的。我之所以说“并非巧合”,低代码所带来的许多范式转换优势是由于平台对云服务的战略性和全心全意的利用,以及使这些服务变得容易的原因。
云:云使客户能够轻松便捷地部署应用程序,并为构建强大、智能应用程序的大量资源和功能打开了大门。
- 在云中诞生并成长
早在2000年的时候,我们就认识到,如果没有快速部署,就很难进行快速开发。事实上,它几乎扼杀了我们与一些早期客户的合作。我们很快就开发出了应用程序,但要花三个月的时间才能投入生产。那时,我们决定安装服务器并创建我们自己的云,这解决了眼前的问题,但显然不打算扩展。此外,我们并不一定想要进入云业务,云业务当时还不存在,是后来亚马逊为我们铺平了道路。
云不仅是低代码的理想选择(现在仍然如此)。很明显,云将成为所有软件开发形式的核心。敏捷方法当时也很流行,云也非常适合支持它。然后,随着2010年代的到来,“12要素应用”成为web应用程序的一个受人尊敬的标准,并要求应用程序适合部署到云上。不管你朝哪个方向看,地平线上都有云。
在今天环顾四周时,我们看到基本上有两种企业:拥抱云的企业。和那些即将拥抱的企业。在没有云的情况下,根本不可能执行任何严肃的数字化计划——能够更好地吸引客户,提高运营效率,将创新推向市场或产生新的收入流的任何类型的数字化转型。
云是如此重要,以至于Gartner和Forrester都认为对任何低代码平台都要求全面的云支持。那么低代码和云不可分割的主要原因有哪些呢?
- 启用基于微服务的敏捷架构
微服务是近几年来另一种极为重要的技术趋势,已经颠覆了传统的开发方法,总的来说,软件因此而变得更好。如果您想将敏捷思维付诸实践,微服务可以提供支持。如果您希望小型自治团队能够实现速度,聚焦和敏捷性,则微服务也提供支持。如果您想构建持久的应用程序,以适应不断变化的业务需求和新技术,并不断发展,请使用微服务。
低代码和微服务共同使BizDevOps团队能够在构建大型景观时也可以保持敏捷性,协作和速度。云计算使得将自主微服务团队的工作部署到该场景中变得可行、简单和快速。在某种意义上,云将小型自主团队联合成一个功能整体。
另一个好处是,在一个适当架构的、基于微服务的低代码环境中,很容易隔离组件和功能片段,以实现治理和控制的目的。隔离关键部件使爆炸发生时的爆炸半径最小。这就创造了一个更可靠、更有弹性的环境。
- 各种资源,立即可用
云的主要论点和用例是具有即时可用的灵活,可扩展的计算资源(服务器,存储,计算能力等)。但是,对于支持以下应用程序中的应用程序的资源和服务的可发现性和可用性也存在令人信服的情况开发和生产中。例如,通过Mendix App Store和开发人员社区,低代码开发人员可以访问庞大的预构建组件存储库-连接器和API,可插拔的小部件和操作,各种功能模块,等等。开发人员可以抓住需要的东西并将其插入应用程序中,从而轻松地添加特性和功能,并极大地提高了生产率。
- 支持ML,AI,AR,IoT,ETC²
机器学习,人工智能,增强现实,物联网以及几乎所有其他突破性技术有什么共同点?这些新技术要求具备强大的对数据的处理能力,这意味着对云服务需求也相应增加。
无论您是在运行工厂自动化,在全球范围内管理工艺路线,寻找治疗癌症的方法,还是在构建面部识别技术,这些例子都不胜枚举,但总之,致力于数字化领导力的企业和组织绝对需要随时需要海量、灵活的云计算和数据处理能力。
低代码平台为云提供了构建智能应用程序所需的所有资源和能力。更一般的企业(以及所有规模的组织)可以通过“站在巨人的肩膀上”(如Amazon、IBM、Microsoft和谷歌)来访问和利用他们需要的资源来构建他们自己永远无法构建的功能,从而增强他们的能力。
- 想要自动化吗?
在云计算方面,自动化确保了最佳实践的遵循,持续保护措施,以及应用程序是云计算兼容的。最重要也是最重要的是,自动化使得将应用程序部署到云上(公共的、私有的或混合的)非常容易,完全支持敏捷工作流和CI/CD。
- 小结
云是为下一代应用程序开发提供支架的两个架构组件之一(另一个是微服务)。云提供了灵活性和可伸缩性,可以在应用程序需要的时候提供所有资源。将抽象和自动化的核心低代码原则应用于云,使部署变得简单和快速,并将敏捷性注入到应用程序生命周期的这个阶段。从本质上和遵循12因素应用程序的要求来看,低代码应用程序必须是云原生的。
开放性,消除应用孤岛
因此,您想为全球化的企业构建下一个出色的应用程序,或者启动您的初创公司。您将需要一些帮助。当前不再存在独立的,或孤立的应用程序了。即使要构建最简单的应用程序,也需要高度的互联性。因此,低码原则5的重要性就是:开放性
企业应用程序开发平台需要开放,以便可以集成任何内容,并且对构建内容没有任何限制。
在一个平台上,没有任何理由不让你保留所有的选择。您需要连接创建magnum-appus所需的所有资源。你需要与你所处的任何技术环境进行充分的交互。这就是为什么开放是低编码的基本原则。
- 真正的开放性
“开放”对不同的人意味着不同的事物。“开源”是一种普遍且广受欢迎的软件许可形式,也是一种自由知识交流的文化。“开放系统”意味着软件环境中的互操作性和开放标准。从技术上讲,开放意味着透明,可访问性和可连接性。
一个适当的低代码平台要求具备全面的开放性,以适应各种可以想象的需求。为了在复杂而广泛的环境中取得成功,低代码必须毫不费力地与核心系统和遗留系统融合,即使它结合了全新的技术以推动可能的极限。
真正的开放性是使低代码平台永远不会过时的基本原则,它面向未来,可以优雅地采用或者整合所有尚未想到的下一代功能。
- 连接所有的可能性
如果我们必须自己发明所有东西或从头开始构建所有东西,那么我们将尖端创新融入我们的应用程序的能力将受到严重限制。我们将如何组装教授面部识别算法所需的大量数据?我们如何负担得起计算基础架构来支持复杂的AI流程或参与AR体验?我们如何容纳区块链?而如何连接到应用程序需要连接的任何物联网“物品”——烤面包机,汽车,对温度敏感的药品,组装线机器人或重要的生物医学设备?
- 我们该怎么做?
通过开放的可能性。它只需要正确的连接。
需要构建一个低代码平台(或者,实际上是任何可行的平台),以适应其需要连接的所有内容。好消息是,许多开发人员必须建立类似的连接,因此其他人可能已经建立了连接器来执行所需的操作,这就是开发社区的来历。
在每个主要的技术发展中,社区如雨后春笋般涌现,低代码也不例外。拥有开放社区的开放技术意味着集体的智慧可以供所有人使用。在企业内部,然后在低代码领域,然后在整个技术世界中。
低代码还使在需要时构建新连接器异常容易,就像使所有内容易于构建一样。
- 走向开放的实用途径
使低代码应用程序能够连接到所有内容的工具是众所周知的。API和SDK是主要支柱,支持开放模型,开放数据以及应用程序和平台可扩展性。在这种情况下,需要高度专业的连接器时,总有可能……编写代码。(因为即使是真正开放的低代码平台,也必须考虑并容纳这种可能性。)
可扩展性是指实践中的开放性。这些自定义连接器上面提到的可扩展性的重要组成部分——如果有一些基本low-code模型不能适应,如果你真的需要定制代码特性或功能或将任何Java动作(例如),如果你需要处理现有/遗留的细微差别和特质的企业应用程序,如果您需要使用其他应用程序或应用程序服务无论您想做什么,低代码都提供了优雅、简单和开放的扩展模型的方法来实现它。
关于Mendix如何实现开放性和可扩展性,以及我们如何使其能够与任何东西(包括您最喜欢的现有工具)集成,我们的网站上有更详细,更技术性的解释。这些都是低代码平台如何能够并且应该遵守开放性原则的很好的例子。
- 变得智慧
在低代码环境下的开放性是一个非常令人兴奋的概念,因为它使连接和合并任何您需要的资源变得非常容易。但当我们2020年坐在这里时,真正令人兴奋的是围绕构建智能应用程序。上面提到的那些想法——人工智能、增强现实、边缘计算等等——取决于与各种数据和资源的集成能力,包括来自谷歌、IBM、Facebook等公司的数据和资源。数字双胞胎、联网工厂等概念,以及各种各样的创新,它们都依赖于大量数据的消化、处理和分析,然后形成算法和触发响应——低编码使它们在此时此刻就可以被访问和实现,而不需要一群编码天才。
- 小结
应用程序需要容易地与现有的遗留系统集成,并在新技术出现时适应它们。智能应用程序需要连接大量的数据资源、各种传感器、外部人工智能功能、边缘计算和其他技术,这些技术使应用程序变得更加相关、上下文关联、主动、智能,并且通常能够适应用户的需求。
当你对一切都开放的时候,一切都是可能的!
- 多用户开发
低代码开发的设想是,最好的应用程序是不同技能专业团队构建的产品——专业开发人员、业务分析人员、领域专家、客户支持人员、UX设计人员等等。在这个场景中,有时团队成员会实时地一起工作。有时异步。有时来自一个地方,大多数时候来自几个地方。但是,他们的工作总是需要协调、同步、质量检查、控制和集成。
因此,一个低代码平台完全支持这些团队和分布式工作流,而在功能或性能上不做任何妥协,这是绝对必要的。
多用户开发
多个开发人员应该能够同时处理一个应用程序。该平台必须支持并同步其工作流。
协作是贯穿所有低代码原理的主题。支持协作开发需要企业级的多用户功能。低代码成功地展示了基于模型的可视化开发平台,它能够支持各种类型的开发人员,核心开发人员即使在多用户环境中也能实现他们所期望的复杂性和功能。
- 区别在哪里?
任何多用户功能的核心都是版本控制,这对于任何开发环境都是强制的。没有一个认真的开发人员会考虑在没有健壮可靠的版本控制的情况下工作。因此,当Mendix的创始人构思我们的低代码平台时,他们构建的版本控制与其他任何开发平台都不相上下,甚至更好。
一个合适的低代码平台允许开发人员回顾过去,跟踪bug和问题的根源;退回到以前的版本来分析和解决问题;控制使用者及其特权,以维持适当的管治及遵从性;并执行“代码审查”,即使没有代码(原则保持不变)。
扩散、分支、合并——在真正成熟的企业级开发环境中所期望的所有多用户开发功能,都可以在功能齐全的低代码平台(如Mendix)中找到。
- 远程协作成为“新常态”
我想我们会永远记得2020年的春天,我们的工作方式发生了根本性的改变。我们必须组建分布式团队并进行分布式工作,未来,远程工作可能会在更多的行业和职业中普及。对于习惯于多用户、基于云的环境(包括Mendix)的开发人员来说,这种转变并不会带来什么痛苦。根据他们的远程设备和连接,它几乎是无缝的。
在低代码平台中,所有事情都在云中完成。没有人需要独自工作。这是一种类似于谷歌文档的应用程序开发体验。用户可以在任何地方一起开发应用程序。我能够实时看到你在做什么,你看到我在做什么。最终,多个用户将能够在同一时间一起进行编辑,尽管到目前为止,这种功能还在不断发展。但是远程配对编程的效率提升正在发挥显著的作用。
- 开发民主化
低代码还有一个其他开发方法无法比拟的多用户优势:非技术用户积极参与应用程序开发的能力。无处不在的可视化语言意味着,从专业开发人员到业务分析人员,每个人都可以看到组成应用程序的各个部分,理解它们,操作它们,并添加和删除它们。这在充满代码的环境中是不可能的。
这种协作完全重新定义了竞争环境。在整个过程中,业务和IT之间的持续交叉交流总是会产生比典型的瀑布式工作流更相关、更有用、更有业务影响、甚至可能改变游戏规则的解决方案。
- 当其他用户是AI时
随着人工智能变得越来越复杂,它可以变得更人性化。它可以像结对程序员一样工作,审查工作,评论“代码”,提供建议,提供真正的帮助,而不是像机器人那样。因此,即使是在车库里开发应用程序的孤独天才也能从多用户环境中受益,在这种情况下,我们有一组人工智能研究员将他们的专业知识添加到应用程序中。
- 真正的多用户
多用户的低代码原则意味着真正的多用户,就像开发人员习惯于使用“git”一样。真正的多用户,所有的代码构件——库、扩展、自定义Javascript和Java组件,所有应用程序需要的资源——都实时地呈现在模型中,并且可供所有用户使用。
低代码环境的神奇之处在于,它可以优雅地容纳理想的开发团队,包括来自业务和it领域的各种技能和思维模式。期望专业开发人员接受功能不全的企业级多用户的环境是不现实的。同样不切实际的是,期望非技术的普通开发人员掌握复杂的(基于代码的)开发工具和语言。
很明显,远程协同和分布式工作将在企业中或多或少地发挥作用。使用低代码,团队中的每个人都可以高效地一起工作,不管是实时的还是异步的,无论他们位于何处。
实验与创新:勇敢地追求未来
任何重大的事件,诸如使您部门的工作更轻松,或者以某种新的方式提升客户满意度,或者彻底改变企业的运作方式。都是从一个经过测试的想法开始的。创新就是这样产生的。这就是为什么原则7对于低代码平台至关重要的原因:实验与创新
创新者需要进行实验,探索和创造,而不必担心或妥协。开发工具必须灵活,智能且价格合理才能支持它们。
托马斯·爱迪生(Thomas Edison)用了数千种灯丝材料进行实验,最终找到了一种灯丝材料,它可以在灯泡烧坏之前使用很长时间(碳化棉线最终证明了他的想法是可行的)。
安装这成千上万条细丝中的每一条,然后看着它们烧断,这一定是非常令人沮丧的。但我们今天很幸运,他坚持了下来。
在软件驱动的数字世界中,传统的实验和测试方法是一个耗时且繁琐的过程。对于高技能的人来说,编写代码、审查代码、部署代码并最终测试代码所花费的时间非常长——可以这样说,如果爱迪生也必须经历所有这些,我们今天可能仍然在烛光下阅读。幸运的是,我们现在正处于led和低编码时代。
所有这些使低代码成为引人注目的开发平台的因素,也帮助它成为执行各种实验的完美“实验室”,从简单的现实检查到测试看似疯狂的、不切实际的想法。可视化的拖放式开发环境、与一切的连接、来自社区的大量可用资源、自动化的质量检查和控制、简单的一键部署到云中——所有这些结合在一起,使低代码成为开发人员的梦想游乐场。
但实验并不仅仅是突破技术的界限或创造终极界面。它还包括在市场上测试创意,寻找吸引客户的创新方式,尝试新产品创意,响应变化的条件或利用及时的机会。如果你能快速建立一些东西并将其推向市场,你就能发现这个想法是否可行,如果不行,就尝试另一个。这就是为什么我们的一位保险客户最终开发出了一款面部识别应用,只需一张自拍,就能在五分钟内为客户提供报价。以及其他保险公司如何利用物联网(IoT)进行产品创新,利用健身追踪器或汽车电子控制模块等设备。当涉及到商业创新时,那些最先或接近它的人会获得最大的回报。
- 快速达到领先地位
我们周围有很多令人兴奋的新技术。但它能为你的企业做些什么呢?如果你知道如何使用人工智能(如上面的面部识别应用程序),有一个确定的方法来看看它是否会工作:构建它。连接的设备和传感器、会话聊天机器人、增强现实、边缘AI解决方案、AI驱动的一切——你能用低代码创造的唯一限制是你的想象力,当然,还有你的应用平台。
要获得竞争优势,就需要尽早介入,这就需要能够集成这些新技术,需要连接器。因为低代码是按设计开放的(请参阅原则#5,开放性),并且受到广泛社区的支持,所以可以找到或构建连接器来获得必要的资源。无论是IBM Watson的人工智能能力,谷歌的巨大图像数据库,还是Hololens的增强现实技术,低代码都可以连接并让应用程序访问这些令人兴奋的新功能。(注意:连接器确实需要构建,所以它们不是每个低代码平台的一部分;这里提到的这些都可以从Mendix的开箱即用中获得,并且我们不断地为不断发展的技术创建新的连接器)。
现在,一旦这个想法被建立起来,它的惊人之处被证明,它就必须迅速扩大规模,在市场上抢占先机。低代码是云原生的,因此它是为响应式伸缩而设计的。构建在云中以在云中运行,低代码应用程序可以根据需要扩展和增长,仅受可用的云资源的限制——也就是说,它们的伸缩能力在理论上是无限的。
- 创新的业务
低代码平台的一大优点是,它使没有编写代码经验的非技术人员能够参与、动手创建应用程序。这是一个巨大的好处,当它涉及到实验的想法,可能会有重大影响的业务。商业领袖关注客户互动,产品设计师探索可用性,生物化学家召集资源来解决紧急医疗危机,其他领域专家——这些都是身处前线的领导者能够观察到的数字化能够产生巨大影响的方面。
低代码平台是一个虚拟的白板或便签板,专业开发人员可以描绘出他们的天才想法,低代码平台也是一个开发平台,可以实际制作一个应用程序。在这两种情况下,低代码都能帮助他们将创新带入生活。最终,根据其范围和规模,他们可能会寻求开发团队的帮助来充实技术细节。
- 在路上安全行驶
所有这些关于实验和创新的谈论会让一些IT领导者感到紧张,这是可以理解的。当个人开始考虑一些所谓的疯狂的东西,甚至不那么疯狂的东西,他们正在制作和部署应用程序,看看什么是有效的,这就成为了一个治理问题,不管这些人是公民开发者还是专业人员。可靠的治理必须构建在低代码平台中。
当团队成员走得很快,当每个人都在协作,当您有自主的团队探索未知,您最好有一些严格的防护措施。但与此同时,你也不想限制所有的创造力。通过自动化控制、继承最佳实践、人工智能、对人们正在做的事情的可见性、可靠的跟踪性和可审核性,以及其他安全措施的组合,对生态系统的任何部分造成破坏的危险都被最小化了——无论创新者尝试挑战极限的程度有多高。
- 不要害怕犯错
从一张白纸开始,去做一些事情——这是所有发展的美丽和艺术。实验导致发现,发现导致创新。基于模型的平台支持路径和解决方案的可视化,这是传统编写代码永远无法做到的,并且是从想法到工作原型的最快路径,相应地,最快速地将创新引入市场以最快速度交付业务价值。
所以请大胆的尝试你的想法,创造一些神奇的事情。
更多Mendix信息,请访问以下链接:
Mendix官网:
https://www.mendix.com/demos/
Mendix行业解决方案:
https://solutions.mendix.com/
Mendix平台指南:
https://www.mendix.com/evaluation-guide/
Mendix动画展示:
https://www.mendix.com/demos/
Mendix课程学习:
https://gettingstarted.mendixcloud.com/link/home
优酷课程学习:
https://i.youku.com/mendix