进入路由器官网后怎么设置-(进入路由器官网后怎么设置密码)

192.168.1.1 次浏览手机阅读
进入路由器官网后如何设置? (进入路由器官网后如何设置?密码)

本文整理了华为云主任莫春辉 GMTC 2021年全球大前端技术会议(深圳站) 演讲《多技术栈与高低代码混合开发-华为云低代码平台架构探讨》。


目前,华为云部门的前端技术栈并不统一,如华为云官方网站 Console 控制台使用 Angular 技术栈开发,其他内部 IT 系统使 Vue 技术栈开发。因此,华为云应该建立一个低代码建设平台,同时考虑内部效率 Angular 和 Vue 两种技术栈,同时支持对外生态建设 Vue 和 React 技术栈。


此外,业内大多数低代码建设平台都局限于简单的应用程序开发。在华为云自身的业务逻辑中,有复杂的页面需要高代码开发,也有一些简单的页面。你很难完全通过可视化拖拉来构建这些复杂的页面,但对于简单的页面,你希望使用可视化拖拉来快速生成。因此,支持高低代码混合开发的需求摆在我们面前。

1. 华为云低代码平台建设背景及需求华为云低代码平台建设背景


在 Gartner 低代码平台被称为企业级低代码应用平台,支持快速应用开发,实现一站式应用部署、执行和管理的应用平台,采用陈述性、先进的编程抽象(如基于模型驱动和元数据编程语言)。与传统的应用平台不同,它支持开发用户界面、业务逻辑和数据服务,以牺牲跨平台的可移植性和开放性为代价提高生产效率。


由于牺牲了跨平台的可移植性和应用程序的开放性,制造商开发的低代码平台都朝着低的方向发展。越低越好,即使没有代码和智能生成代码,也很容易忽视高的需求和高的结合。此外,制造商希望用户从头到尾在自己的平台上开发和托管整个过程,因此很容易忽略委托或集成的需求,以及与股票应用程序的结合。此外,制造商希望用户从头到尾在自己的平台上开发和托管整个过程,因此很容易忽略委托或集成的需求,以及与股票应用程序的结合。


这种忽视其实是必须的。如果不牺牲跨平台的可移植性,可以支持不同平台的不同技术堆栈,生成可移植代码,结合现有的高代码(纯手写代码);如果不牺牲应用程序的开放性,可以更好地支持集成的需求,并灵活地与存量应用程序相结合。事实上,企业内存量应用很多,这些存量应用也希望通过低代码平台提高开发效率。


目前,华为内部有几个低代码平台。华为云的低代码平台涉嫌重复轮子吗?2021 年 7 月北京的 GMTC 在会议上,阿里巴巴研究员玉波在谈到前端现状时说:阿里巴巴有很多低代码平台,但当你深入到业务层面时,你会发现这些轮子是合理的,它确实在解决特定领域的特定问题。华为云低代码平台的初衷是通过低代码平台解决华为云领域内部存量应用想要提高开发效率的问题。


华为云低代码平台如何在不牺牲跨平台可移植性和应用开放性的情况下建设?这是本文要讨论的问题。在以下内容中,我们以华为云领域股票应用的业务需求为线索,分析这些业务需求背后的实质性问题,讨论用什么样的技术方案来处理这些问题,用什么样的平台架构来承载技术方案,最后讨论我们在施工过程中踩到的坑。

华为云 CRM 低代码需求分析系统


内部有一个华为云 CRM 该系统已开发并在线运行,属于存量应用。由于新面有新的需求,需要开发新的页面,那些新的页面和原来的页面非常相似,所以有很多重复的开发工作,所以 CRM 开发人员希望使用低代码平台来构建新页面。


由于新页面与原页面非常相似,CRM 需求实际上是将原始页面包装成可配置的页面模板。这样,在面对新只需在低代码平台上配置页面模板即可生成新的页面,无需重复开发。可配置的页面模板也是由 CRM 开发人员在低代码平台上建立,生成的新页面必须提供源代码 CRM 原系统一起编译构建,形成完整的应用,如下图所示:



左图是开发人员日常使用的 IDE(Visual Studio Code),作为低代码平台 IDE 插件嵌入 IDE 里。开发人员在平台上可视化地构建页面。当保存页面时,平台将生成页面的源代码(中图),并与原始纯手写代码(右图)一起编译生成应用程序。开发人员在平台上通过可视化构建页面。当保存页面时,平台将生成页面的源代码(中图),并与原始的纯手写代码一起编译生成应用程序(右图)。这里的可视化构建相当于部分工作取代了原始的手写代码。


CRM 低代码需求背后的实质性问题实际上是 ProCode 与 LowCode 混合开发。ProCode 是我们传统意义上的高代码开发,即所有代码都是纯手写的, LowCode 用可视化工具构建页面,只需编写少量代码。所谓的高低代码混合开发是:在本地 IDE 有的场景直接手写代码,有的场景用可视化工具构建,向当地工程生成代码。混合开发的目的仍然是充分利用低代码平台的能力,提高开发阶段的生产效率。

华为云 DevOps 低代码需求分析系统


让我们来看看华为云另一个领域的低代码需求。这个需求来自 DevOps 系统。在 DevOps 在装配线上,我们允许用户添加自定义插件,以干预构建和部署过程。


在使用插件之前,插件的参数需要通过一些页面来配置,这些页面目前是由 DevOps 团队开发。为了减轻团队的负担,他们希望用户能够使用低代码平台的能力 DevOps 页面直接在网站上建立,页面保存后也生成源代码,集成到 DevOps 系统里。这个需求与 CRM 有三点不同:


不同的目标用户CRM 是 CRM 系统的开发人员系统页面采用低代码平台搭建,DevOps 则是 DevOps 系统的用户插件配置页面采用低代码平台。不同的嵌入方式CRM 是在 IDE 嵌入低代码平台属于线下开发。DevOps 则是在 DevOps 嵌入在网站上的低代码平台在线开发。技术栈不同CRM 采用 Angular 技术栈,DevOps 采用 Vue 技术栈。所以在 CRM 构建低代码平台页面所使用的组件必须是 CRM 目前使用的系统 Angular 组件,而 DevOps 则是 Vue 组件。CRM 低代码平台生成的源代码必须是 Angular 技术栈,而 DevOps 则是 Vue 技术栈。如下图所示:



相信很多低代码平台都可以生成不同技术栈的源代码,但我们面对的是不同技术栈的组件。例如,钮,CRM 是用 Angular 开发的,DevOps 是用 Vue 开发的。两个技术栈开发的按钮,其属性、方法、事件甚至功能都不一定相同。例如,我们必须为这个按钮设置颜色,Angular 属性名称叫 type,属性的值是 success,而 Vue 属性名称叫 color,属性的值是 green,如下图所示:



所以,用 Angular 构件构建的页面,生成的 Vue 源码跑不通。有些人可能会说,通过 DSL 但是,如果功能不同,则使用属性映射 DSL 也无济于事。有些人可能会说,通过 DSL 但是,如果功能不同,则使用属性映射 DSL 也没用。那么,我们是否应该为不同的技术栈和领域搭建不同的低代码平台呢?


如果我们这样做,我们的成本将非常高,包括软硬件资源的投资,还包括研发和运维的投资。而且各技术栈的低代码材料不通用,也会导致材料生态分裂。因此,我们的低代码平台方案应该能够支持不同的技术栈。

与传统 Visual Studio 可视化 IDE 的区别


嵌入低代码平台 IDE 通过可视化构建生成源代码 20 年前流行的 Delphi/ C Builder/ J Builder/ Visual Studio 非常类似,当然,今天还有人在用这些工具。


如下图所示 Visual Studio,左边是可以拖动的组件,中间是画布,左边的组件可以拖动到画布,中间是代码编辑区,右边是文件系统和组件的属性配置面板。


如下图所示 Visual Studio,左边是可以拖动的组件,中间上面是画布,左边的组件可以拖到画布,中间下面是代码编辑区,右边是文件系统和组件的属性配置面板。可以看出,虽然技术正在向前发展,但解决问题的想法已经回到了原点。



两者的相似之处不难看出,都是可视化的,都会生成源代码。要澄清两者的区别,我们将从以下三个维度进行探讨:适用人群低代码平台面向的人通常是不太懂编程的业务人员,或者可以在帮助文档下写一些简单的业务逻辑代码。可视化建设是他们的主要工作,写少量代码只是辅助工作。在高低代码混合开发方案中,适用人群可分为两类,一类是不懂编程的业务人员,主要负责业务页面的构建,另一类是传统的专业编程人员,主要负责业务逻辑的编写,两者协同开发一个应用。Visual Studio 面向单一人群,即专业编程的开发人员,视觉拖动组件只起辅助作用,大部分时间都在编写和调试代码,独立完成应用程序的开发。开发语言

低代码平台本身与语言开发无关。即使在平台上写了少量代码,也是前端通用的 JavaScript 语言。在高低代码混合开发方案中,不懂编程的业务人员可能需要掌握 JavaScript 语言,用来编写业务逻辑的一小部分。此外,由于本文的低代码方案可以生成不同技术栈的源代码,专业编程人员需要掌握 Angular 或 Vue 只有在前端开发框架时,才能调用低代码平台生成的源代码。Visual Studio 可视化工具和 IDE 自然集成,子产品只支持开发语言,如 Visual Basic 等。由于主流前端框架没有统一的组件库,Visual Studio 没有这样的系列 Visual Angular 或 Visual Vue 市场上没有类似于成熟前端框架开发的子产品的可视化 IDE,因此,低代码平台的可视化搭建工具正好弥补了这一空缺。
协同开发

这是高低代码混合开发的独特方案,Visual Studio 没有这种情况。虽然低代码平台嵌入了 IDE 但还是独立的 IDE 为了实现混合开发的目标,模块生成的源代码需要与当地纯手写代码合作。根据模块度分为两种协同方式:一种是页面级,另一种是组件级。页面级别是指平台生成的源代码本身就是一个页面,地工程可以通过路由直接跳转到页面。这一级别与高代码部分耦合最小,也最容易集成。组件级别是指平台生成的源代码只是页面的一部分,需要与页面的其他纯手写部分进行通信和协调。这一级别与高代码部分耦合度很大,但却是混合开发的普遍场景,因此我们引入桥接源来解决协同开发的问题。

让业务人员参与低代码平台的开发


在澄清了两者之间的区别后,有些人可能会指出:为什么所有的专业编程人员都不能参与混合开发?为什么要混合开发高低代码?复杂化开发过程,增加学习成本。有人甚至指出:LowCode 它是行业毒瘤,没有未来,不值得我们任何投资和想法。让不懂软件开发的人写代码,这个想法是错误的,而且非常离谱。从以下两个方面回应这些问题和说法:


业务人员需要参与数字化转型

在企业数字化转型的背景下,应用软件呈爆炸式增长,开发应用所需的专业人员供不应求或成本过高。因此,降低开发门槛,让懂业务的人直接参与应用建设,成为低代码平台的发展机遇。对于企业的股票应用,仍然需要面对快速变化的业务需求,但这些应用很难直接放弃另一个炉子,而不是低 代码




























































喜欢 ()