什么是开源代码(源代码如何生成软件)

本周,我们正式在Github和Gitee开源了明道云容器版本(私有部署)的前端代码库,并将其命名为“明道云Openweb”。配合明道云私有部署社区版,所有用户不仅可以免费获得一个企业级APaaS产品的使用权,还通过Openweb获得了足够丰富的扩展开

本周,我们正式在Github和Gitee开源了明道云容器版本(私有部署)的前端代码库,并将其命名为“明道云Openweb”。

什么是开源代码(源代码如何生成软件)

配合明道云私有部署社区版,所有用户不仅可以免费获得一个企业级APaaS产品的使用权,还通过Openweb获得了足够丰富的扩展开发可能。商业客户购买明道云私有部署商业许可证后,依然可以在Apache 2.0协议下修改前端代码。

这种组合,在企业软件行业并不多见,因此我有必要说明一下我们的商业和技术考虑,以及未来的打算。

让客户拥有前端界面的绝对自由度

明道云在APaaS市场中拥有极高的“零代码程度”,意味着非开发者同样能够使用我们的产品。我们在制定设计目标时明确了“摒弃代码编写,减少表达式和函数使用”,尽全力使用符合直觉的可视化配置完成复杂应用构筑。我们之所以能够做到零代码、全能力,是因为选择牺牲了用户对前端界面进行完全控制的自由度。这个牺牲对于企业中后台应用来说是值得的,因为它交换的价值要大得多。

因为这样的设计策略,明道云给用户提供的前端交互是相当模式化的,用户可以较为自由地定义数据维度的属性,但是对前端却缺乏自主度,哪怕只是改一下字体颜色。

然而,用户的个性化需求始终是存在的,比如,有用户建议我们增加界面主题模版的选项,增加自定义组件能力。我们想更进一步,把整个前端代码库完全开源,在私有部署环境下,用户发布自己分叉的前端服务,通过一个简单的配置,让它和后台服务重新集成。这样,用户不仅可以自由修改前端表达的每一个细节,还能够通过外挂服务的方式来实现更大的定制。

概括来说,用户可以自定义前端界面的每一个要素,也能够增加自己私有的应用对象,并和明道云界面整合。我们在Github项目文档中提供了若干示例,将来也将不断丰富这个内容。

设计更好的插件规范

在我们宣布开源以后,有友商批评我们是在开历史的倒车,认为零代码产品不应该再让用户回到代码编程的老路上来。这是对我们目标的一个误解。明道云当然希望每一位终端用户都不用写代码能够实现各种各样的应用,但这在技术上是不现实的空想。要做到更强的用户适应性,需要花费大力气构筑一个应用软件的多层次用户社区。而在这个社区中,开发者将起到关键的作用。

因此,不难理解我们的开源是为了让更多人能够参与明道云产品的扩展开发。在开源条件下,用户可以自己定义前端组件,而如果通过明道云定义的Add-on规范,这个自定义的组件就可以成为普通用户可以直接复用的插件。少数人开发,多数人应用,是亘古不变的软件业范式。通过一段时间的开源,我们能够发现更多的扩展需求现象,就能够从中抽象出插件定义的规范。从而能够让私有的扩展开发成果转换为可以公开共享的“小组件”。比如,基于一个工作表构建的“甘特图”视图就可以五花八门的实现版本,而不仅仅是明道云官方提供的唯一一个。

为用户集成创造便利

成熟企业在应用APaaS的时候,有很多的系统集成诉求。有的是基于数据流的集成,有的则是希望整合效率更高的工作台(前端界面)。开源的明道云前端等于提供了一个非常方便接插的解决方案。既可以让明道云应用界面整合到其他系统中,也可以将其他系统界面或者界面元素整合到明道云应用界面中。

我希望很快能够为用户提供这个方面的丰富案例。

为更完整的开源作准备

前端代码只是明道云系统的一个部分,而且因为应用前后端分离的架构特点,前端开源是一个相对安全的做法。但我们有计划推进更全面的开源战略。这需要循序渐进地积累经验。开源并非仅仅为了让用户能够修改代码,而是为了培育更繁荣的应用生态,孕育更健康和持久的商业模式。由商业公司推动的开源项目能够有更好的财务支撑,也能够让参与者有更强的经济回报动力。虽然还有很多的繁重工作要完成,但这是我们在未来几年内希望达成的愿景。

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

(0)
新劵
上一篇 2021-09-14
下一篇 2021-09-14

相关推荐

  • 如何用阿里云建站(阿里云建站流程)

    如何用阿里云建站,阿里云建站流程 内容导航: 如何用阿里云ecs服务器搭建自己的个人网站 怎样用阿里云建站阿里云建站和别的不一样据说很简单 想做淘宝客用阿里云建站对于初期的创业者合…

    2022-09-01
    0
  • 如何建立网站数据库连接(怎么建立数据库连接)

    如何建立网站数据库连接,怎么建立数据库连接 内容导航: 怎么用html,php和数据库建一个网站。谢谢 如何将网页和数据库建立连接 网站怎样连接数据库 数据库连接网站连接不上,已经…

    2022-08-09
    0
  • 如何在Keras中进行序列标注任务

    在Keras中进行序列标注任务通常涉及使用循环神经网络(RNN)或者转换器(Transformer)来对输入序列进行处理并输出标签序列。以下是在Keras中进行序列标注任务的基本步骤:准备数据:将输入序列和对应的标签序列转换为适合Keras模型输入的格式。通常需要对文本数据进行分词,并将每个词转换为对应的索引。然后将输入序列和标签序列转换为独热编码或者整数编码的形式。构建模型:在Keras中可以使

    2024-03-18
    0
  • 如何利用h5页面做营销(如何推广利用h5推广)

    如何利用h5页面做营销,如何推广利用h5推广内容导航:怎么制作h5页去销售H5营销是什么意思优秀的H5页面营销需要准备什么每个H5都刷屏的腾讯动漫这次请来F4教你撩妹一、怎么制作h5页去销售是想制作H5页面吗?如果是的话,我可以教你,然后你可以分享到微信朋友圈进行宣传。二、H5营销是什么意思H5营销是指利用H5技

    2022-04-24
    0
  • C#变量与性能调优的方法是什么

    C#变量的性能调优主要涉及以下几个方面:变量的作用域:在使用变量时,尽量将其定义在最小的作用域内,避免在整个程序中都可以访问该变量,以减少内存占用和提高访问速度。变量的类型选择:选择合适的数据类型来存储变量,尽量使用值类型而不是引用类型,避免装箱与拆箱操作。另外,使用简单的数据类型(如int、float)而不是复杂的数据类型(如decimal、double)也可以提高性能。变量的初始化:在定义变量

    2024-05-06
    0
  • Ruby中如何防止常见漏洞

    在Ruby中防止常见漏洞可以采取以下措施:参数化查询:避免使用字符串拼接 SQL 查询语句,而是使用参数化查询来防止 SQL 注入攻击。输入验证:对用户输入进行验证,确保输入的数据符合预期格式,避免恶意输入导致的安全漏洞。防止跨站脚本攻击(XSS):对用户输入进行转义处理,确保用户输入的内容不会被当做 HTML 或 JavaScript 代码执行。防止跨站请求伪造(CSRF)攻击:在表单提交时添加

    2024-04-20
    0

发表回复

登录后才能评论