为什么现代的低代码开发平台都不支持导出源代码?(为什么源代码不出第二部)

初次接触低代码的程序员大多会纠结一个问题,为什么功能越强大的低代码开发平台越不会提供导出源代码的功能?

要想回答这个问题,我们得回顾一下低代码开发的发展史。事实上,支持导出源代码的低代码工具,是上一个时代的产品了。现在,大多数还有研发能力而且愿意推进产品化的低代码厂商都已经完成了或者正在进行向元数据驱动的转型。

站在2023年,国内低代码行业的厂商多样性太强,鱼龙混杂。为了说清代码生成器和元数据驱动的差异和优缺点,我们可以用Windows桌面程序的可视化开发作为类比,毕竟Visual Studio可以算是低代码的鼻祖之一了。

最初Visual Studio和更早期的Visual Basic在设计界面时采用了代码生成器的技术方案,IDE将用户拖拽控件、设置属性的动作直接翻译成操作这些控件的代码。用户可以直接获取到这些代码,如果有需要则可以通过修改这些代码来实现对VS可视化开发能力的扩展。

为什么现代的低代码开发平台都不支持导出源代码?(为什么源代码不出第二部)

(Visual Studio 生成的WinForm代码)

这种做法历史悠久,可以上溯到90年代。有点很明显,这种做法对IDE来说,实现起来最简单,用户动手修改起来也是比较方便的。然而,如果用户真的使用这种做法开发一个大型的项目并长期维护,就会发现放任开发人员对designer generated code部分进行修改,先不提如何读懂设计器生成的没有注释的代码,很容易导致后续的可视化操作冲掉一部分手工修改的代码,甚至连可视化设计页面都无法打开。可视化开发成了“一锤子买卖”,长期来看,可视化开发带来的开发效率和可维护性优势都非常有限。毕竟,软件不是一蹴而就的,而是需要长期的维护和迭代,才能充分发挥出价值。

为了解决这个问题,让可视化开发可以长期发挥效用,微软在做新一代桌面应用开发方式时参考了Web中使用的HTML技术,2008年推出了WPF技术。使用Visual Studio开发WPF应用的界面时,IDE将用户拖拽控件、设置属性的结果保存为XAML格式(一种XML)的元数据。因为XAML本身就是可视化设计的结果,可以和可视化设计器一一对应,用户对XAML的修改可以实时反馈到可视化设计页面,这就是Visual Studio默认的Split视图。用户可以随时在可视化开发和编码扩展之间切换,适配开发阶段和维护阶段。

为什么现代的低代码开发平台都不支持导出源代码?(为什么源代码不出第二部)

(Visual Studio生成的WPF元数据)

将面向过程的代码切换为面向结果的元数据,可视化开发从“一锤子买卖”到持续覆盖,可视化开发终于发挥出了应有的价值。下面是两种技术路线的特性对比:

评价标准

生成源代码

生成元数据

产品化程度

低(需通过混淆来保护版权)

扩展开发的推荐方式

修改生成的源代码

开发插件(元数据标签)

可视化开发覆盖度

创建时

全生命周期

总体的可维护性

总体的开发效率

低(与编码开发接近)

回到文章开头的问题。作为一名程序员,如果你希望使用低代码开发工具构建并长期维护一个软件项目,请趁早抛弃“导出源代码”的想法,因为低代码最大的价值并不是像可配置的代码模板一样,初次创建一个页面或业务逻辑,而是降低长期的开发和维护成本。选择一个产品化程度高(重点关注页面和逻辑设计的灵活度、文档、教程和开发者社区),采用元数据驱动技术路线的低代码开发平台吧,比如葡萄城的活字格低代码开发平台,如果有必要按照厂商提供的类似于“插件”或“子系统集成”的方式进行扩展开发。

如果你做的是“一锤子买卖”的项目,后续将维护工作完全移交给甲方,那就别用低代码。读别人写的代码很痛苦,读机器生成的没有注释的代码简直是噩梦。大家都是程序员,同行何苦为难同行?

如果想了解更多低代码信息,欢迎私信回复“低代码”了解更多~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月16日 下午12:11
下一篇 2024年5月16日 下午12:23

相关推荐

  • 软件项目管理 案例

    软件项目管理案例 软件项目管理是软件开发过程中至关重要的一环。一个好的软件项目管理计划可以帮助团队更好地管理项目进度,资源,风险和交付物。本文将介绍一个软件项目管理案例,以供参考。…

    科研百科 2024年5月30日
    102
  • 课题算科研项目吗

    课题算科研项目吗 科研项目是一种用于研究问题和解决问题的项目,通常由科学家、工程师、教师或学生等人员组成,通过使用科学方法和技术手段,探索并解决特定领域的问题。科研项目可以涉及各种…

    科研百科 2025年3月9日
    0
  • 钍基熔盐堆

    钍基熔盐堆 钍基熔盐堆是一种重要的高温结构材料,其应用领域涵盖了核能、航空航天、化工等多个领域。它是由钍盐和盐类化合物在高温下熔融形成的晶体结构,具有高强度、高硬度、耐腐蚀等特点,…

    科研百科 2024年10月3日
    36
  • 新功能|好的生鲜配送企业如何做订单核价(生鲜订货要点)

    01 订单核价功能上线 在生鲜配送行业,基本上每天商品的采购价都会变化,所以经常会有修改客户订单价格的情况,客户都付完钱了怎么修改客户的订单价格呢? 那就需要用到生鲜配送系统中的订…

    科研百科 2022年11月16日
    211
  • 电子科技大学研究成果(电子科技大学科研项目)

    电子科技大学科研项目 电子科技大学位于中国四川省成都市,是中国著名的综合性大学之一。学校拥有一流的科研实力和强大的研究队伍,一直致力于推动科技创新和社会进步。在 recent ye…

    科研百科 2024年8月3日
    54
  • 悟空crm永久免费

    悟空CRM永久免费: 改变传统CRM体验的最佳平台 随着数字化时代的到来,企业正在变得更加敏捷和高效。但是,传统的CRM系统往往需要大量的投资和技术支持,而且难以满足现代企业的需求…

    科研百科 2024年11月5日
    0
  • 企业管理软件定制服务,帮您打造独一无二的智能运营(企业管理软件定制开发)

    在企业长期发展的道路上,不同的发展阶段公司经营策略和管理需求也不同。如今企业对自身的管理逐渐精准化、精细化、个性化以及深入化,需要相应的管理软件为企业用户提供一个合适的办公环境。市…

    科研百科 2023年3月21日
    250
  • 广州深圳区域CRM客户关系管理软件分享(crm客户关系系统)

    最近一段时间,软件产品网收到不少广州地区客户资讯CRM管理系统,CRM管理软件的目标是缩减销售周期和销售成本、增加收入、寻找扩展业务所需的新的市场和渠道以及提高客户的价值、满意度、…

    科研百科 2024年4月27日
    130
  • 科研项目评委提问

    科研项目评委提问 随着科技的不断进步,科研项目的质量和成果也在不断提高。在科研项目的评审过程中,评委们会针对每个项目进行深入的分析和评估,以确保项目的质量和创新性。在这个过程中,评…

    科研百科 2025年2月21日
    0
  • 开源python管理系统项目

    开源python管理系统项目 随着互联网的发展,企业和个人对管理系统的需求也越来越多样化。开源python管理系统项目是一种能够满足企业和个人需求的优秀解决方案。本文将介绍一个开源…

    科研百科 2024年12月24日
    0