企业IT部门在工作积压以及今年在疫情的双重影响下,关于低代码的讨论逐渐升温。企业期望快速实现数字化转型,而低代码开发可以快速构建原型,这将有助于企业将数字化等创新计划从构思转变为现实。
可以肯定的是:低代码应用程序构建者简化了传统开发并使其民主化,这使低代码平台开发人员承担了大量责任,以保证一切顺利运行。
本文详细介绍了低代码开发人员为提供最佳用户体验而需要考虑的三个主要问题。
1、与第三方服务集成
将移动应用程序与第三方服务集成是绝对必要的,比如终端用户和客户需要能够使用谷歌或Facebook登录移动应用程序、集成谷歌地图、从web上检索数据等等。一个典型的现代应用程序应该与5到10个第三方服务进行交互。
第三方集成的一个普遍问题是开发人员无法控制第三方服务,API或安全策略可以随时更改。这是第三方的特权,以保护他们的安全和声誉,当他们这样做,低代码平台的开发人员的工作则是尽快更新自己的应用程序。
- 向导和中间件
首先,为使应用程序配置变得简单,低代码平台所有者可以向用户隐藏所有配置复杂性。他们可以放置一个设置向导或其他工具来代替开发人员,以帮助开发人员浏览每个配置步骤。
其次,也是最重要的一点,平台所有者可以使用中间件,它位于第三方服务和低代码开发人员之间。这意味着当第三方做出更改时,低代码平台所有者可以更新中间件,而开发人员不需要担心更改任何东西。大多数API都会事先通知他们将进行更改,这使所有者有足够的时间来整理其中间件。
如果平台所有者漏掉了第三方服务的更改,低代码开发人员都会通知他们,平台所有者可以对中间件进行更改,这些更改将自动应用到使用该第三方服务的所有产品上,无需单独更新处理每个应用程序的更改。
最后,平台所有者通常会在其中间件中缓存来自第三方服务的数据,因此低代码产品将显示数据,即使它不是最新的。并且通常情况下,应用程序会通知最终用户数据已过时而不是直接显示断开链接。
2、自定义组件
低代码开发人员通常希望在不同的应用程序中使用相同的UI组件、相同的屏幕和相同的逻辑。为了满足这一需求,应用程序构建平台使用定制组件来简化用户体验。
- 兼顾的办法
创建自定义组件的第一个选项是使用可自定义元素创建高级智能屏幕。为此,平台所有者必须尝试预测低代码开发人员可能需要的所有东西,然后制作一个庞大的可配置组件。
这种方法的问题是,配置组件几乎和从头创建UI一样困难。首先,低代码开发人员将有一长串属性要定制,他们必须阅读、内部化和应用的所有文档。用一个组件覆盖每个用例实际上是一项不可能完成的任务,这意味着这种方法经常会产生比它解决的问题更多的问题。
- 定制组件
第二种也是更合理的选择是让用户创建自己的定制组件。通过这种方式,平台所有者提供用于制造组件的构建块,而不是组件本身。
这样可以节省时间,并且可以帮助低代码开发人员解决错误。如果开发人员在多个应用程序中发现了组件中的错误,他们可以在一个定制组件中解决这个问题,且此修复程序将应用于所有应用程序。
此外,具有社区意识的开发人员可以与其他人共享他们的组件,构建自己的组件库,并控制外部人员可以查看、使用和操作这些组件的参数。他们可以通过完全开源或受限开源来实现这一点。
这种方法有一个折衷办法:低代码开发人员需要对整体情况有更深的理解,以便在没有预定义选项的情况下构建优秀的定制组件。但是通过这项额外的工作,他们将获得更大的灵活性。
3、设计时与实时之间的区别
低代码应用程序开发的第三个主要问题是如何区分设计时和实时。当低代码开发人员在构建应用程序的过程中,他们看到的(设计时)与用户使用应用程序时看到的(实时)是不同的。简单地说,应用程序在编辑器中和在设备中使用时看起来是不同的。
- 为什么不同?
发生这种情况是因为两个环境使用不同的逻辑,库和框架来表示UI。例如,如果应用程序是在React Native中创建的,则UI将使用HTML组件,因为浏览器的UI是用HTML编写的。平台使用者实际使用的时候,开发者看到的是真正的本地应用程序(比如一个iOS按钮),但在设计时,他们看到的是一个HTML按钮。
通常,低代码工具使用不同的库,一个用于设计时,一个用于iOS,另一个用于Android。
- 一个库,更少的表达式
为了解决这个问题,低代码平台可以在编辑器中使用手机在所有情况下使用的相同UI库:设计时、iOS和Android。
在开发应用程序时,这是非常有利的,因为开发人员知道最终用户将会体验到什么,所以不会有什么意外。它们在iOS和Android中也有完全相同的UI。
不过,这种方法仍然存在明显的缺陷。库就像语言,经常有一些短语和表达不能从一种语言翻译成另一种语言。将应用程序限制在一个库中,可以交换唯一的惯用语言,以实现最大的清晰度和一致性。
4、完成工作
低代码的方法有利有弊,但归根结底,这是达到目的的有力手段。低代码允许开发人员以相对较低的专业技能快速、高效地构建功能应用程序,即使是低代码开发的主要问题也可以得到解决。在数字时代,低代码无疑是一个关键角色。