ecmascript 5浏览器-经过十多年的浏览器革命,ECMAscript5 已成为标准

2023-08-21 0 8,398 百度已收录

为什么要浪费时间学习新的语言和框架,并冒着随时过时的风险?如果Java可以直接在浏览器中运行呢?在本文中,中级全栈Java程序员Niels Gorisse介绍了VertxUI的优势。

像大多数资深的Java程序员一样,我在2000年之前编写了我的第一行JavaScript代码。现在,经过十多年的浏览器革命,ECMAscript5 已成为标准:超过 97% 的浏览器支持它的使用。JavaScript 并非不足,但可以编译一段可在任何地方使用的 JavaScript 代码。JavaScript 正在成为一种体面的语言,具有类、异常、lambda 表达式、工作线程、包装器、注释、库管理等。

现在,JavaScript的许多新颖功能早已添加到Java中。在几乎所有情况下,这意味着多年来它看起来相当稳定和成熟

VertxUI 和 Fluent

VertxUI是一个100%的Java库。由于纯HTML和CSS足以构建网页,因此VertxUI不仅易于访问浏览器,而且还提供了一个名为Fluent的轻量级和流畅的API,它简化了仅使用代码重构HTML和CSS。Fluent使用与HTML标签对应的方式名称,并且这种方式的第一个参数始终是CSS类。所以 VertxUI 没有任何模板,它都是代码。使用 HTML,我们定义一个引导菜单,如下所示:

变量主体是从 Fluent 类的静态导出。同样,程序员也可以以相同的方式使用控制台、文档和窗口。

实际上,Java 源代码中的代码量略低于前面的 HTML 代码片段。它还演示如何在单击菜单项时调用 Java 代码。在我们的示例中,控制器::someMethod 的一个实例负责处理风暴。

上面的代码片段中没有显示它,还有一个维护类模型列表的类存储。这些传统的MVC(模型-视图-控制器)设置不是必需的,在编译JUnit测试时很有用。

事实上,程序员也可以使用 lambda 表达式。例如,让我们创建一个引导窗体。模式 .css() 和 .att() 也用于显示它们的工作原理。这基本上需要编译 HTML 和 CSS:

必需的 HTML 代码段:

使用Fluent收集一些代码:

查看...型

当程序员想要修改DOM时,Fluent的真正实力就暴露出来了。更改尽可能高效地更新,与 ReactJS(来自 Facebook)相当,它确保当一个状态被修改时,其他列表不会完全重新呈现。

程序员可以使用 .add() 创建 ViewOn。它有两个参数:初始模型(或对模型的引用)和将该模型转换为 Fluent 对象的方法。如:

结果

法典:

你可能已经注意到了syncPerson()方法。这将重绘具有指向 Person 实体的链接的所有 ViewOn 对象。请注意,编写复杂的用户界面(如向导)特别容易,因为您只能以声明方式写下 UI 的外观,甚至嵌套 ViewOn 对象。

所有代码都是纯Java,所以如果你喜欢流媒体,那很好。 tbody – 与许多其他容器(如标签)一样,它需要一个 CSS 类和一个 Fluent 对象的列表或流。

查看...州

在前面的 Bootstrap 菜单示例中,当程序员单击它时,具有“active”类的 CSS 项目应切换到所选项目。这就是我们称之为“状态”的方式,这使得识别状态并将其视为不会保存到数据库中的实体变得容易,或者您可以使用 ViewOn 作为状态:

JUnit - 单元测试

由于Fluent内部有一个虚拟DOM,因此可以轻松用于JUnit测试,而无需启动浏览器。这是非常快的,因为JavaScript没有编译,但浏览器不是在后台启动和停止的。

在下一个示例中ecmascript 5浏览器,我们直接模拟控制器调用:

JUnit - 集成测试

随着项目的发展并开始使用外部JavaScript库,集成测试变得越来越重要。在Fluent中,程序员可以在具有“注册和运行”结构的浏览器中执行双语测试。运行时环境比Selenium具有更多的控制权,因为JavaScript和Java可以在一次测试中轻松运行和组合。

对于 Bootstrap 菜单示例,我们通过直接调用 controller.onMenuAbout() 来模拟菜单。让我们看看前面更改“active”类内容的反例是否真的有效,Java到JavaScript编译正在发生:

请注意,此示例可能已加载到非 DOM 测试中并且运行得更快。

顶点X

程序员可以在任何前端软件中运行VertxUI,并且与VertX一起,它提供了多种功能,如FigWheely和POJOtraffic。VertxUI比VertX更容易使用:只需启动main()并将浏览器指向 http://localhost。无需安装IDE插件,无需处理*.war或*.jar。

VertX 是完全异步的,类似于 Bounce,就像 JavaScript 一样。最大的区别在于,因为Java是一种非常结构化的语言,所以你永远不会在JavaScript中遇到反弹。当异常异步发生时,可能会在另一个类中调用另一种方式。

VertX-FigWheely

FigWheely是VertxUI的运行时助手。它通过浏览器使 WebSocket 保持打开状态,并在服务器上修改文件时接收通知。如果修改后的文件恰好是.java文件,图像将重新编译浏览器代码并通知浏览器。

它的工作方式类似于没有任何IDE插件的VertxUI,因为JavaScript的编译发生在(VertX)服务器启动并找到源代码时。在启动期间,还会生成索引.html,但也可以将其关闭。

VertX-POJO

VertxUI,以便服务器和浏览器之间的POJO流量用于ajax调用ecmascript 5浏览器,WebSocket,sockJS和VertX风暴总线。这意味着强类型流量,尽管下面使用了 JSON。让客户端和服务器使用相同的语言有一些不错的优势:当您想要添加列时,它可能只是向实体添加一行代码,向视图添加额外的“TD”行。

无论将来客户端和 JavaScript 语言发生什么,程序员都可以使用任何出色的 CSS 框架(如 Bootstrap)以非常成熟的语言创建特别好的可测试单页 Web 应用程序,这些应用程序由已建立的 VertX 服务器环境提供支持。

JavaScript 及其库将会增长,但这需要数年时间。为什么不一次选择一个好的框架来帮助编写干净整洁的代码呢?这就是VertxUI的想法!

版本: vue0.11,

vue0.12,vue1.0ecmascript 5浏览器, vue2.0

软件语言:JavaScript

初始和稳定版本:0.11、2.6.16

MVVM

Vue 的 MVVM 的概念可以分为三个部分:

数据/视图

数据 (VM)。

const app = new Vue({
 el: '#main',
 data: {
 message: 1
 }
})

视图 (V)。


{{ message }}

组件

官方定义:组件系统是 Vue 的另一个重要概念,因为它是一个比喻,允许我们使用大型、独立且通常可重用的组件构建小型应用程序,几乎任何类型的应用程序接口都可以体现为组件树。

组件是 Vue.js 最强大的功能之一ecmascript 5浏览器,它扩展了 HTML 元素以封装可重用的代码。在高层次上,组件是 Vue.js 编译器添加特殊功能的自定义元素。在个别情况下,组件也可以显示为使用 is 属性扩充本机 HTML 元素。

所有 Vue

组件也是 Vue 的实例。

Vue.component('todo-item', {
 template: '
  • 这是个待办项
  • ' }) ​

    兼容开发模式浏览器Vue

    不支持 IE8 及更低版本,因为 Vue 使用了 IE8 无法模拟的 ECMAScript 5 特性。但是,它支持所有兼容 ECMAScript 5 的浏览器。

    基本原则:ES5 -> Object.defineProperty()。

    收藏 (0) 打赏

    感谢您的支持,我会继续努力的!

    打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
    点赞 (0)

    悟空资源网 ecmascript ecmascript 5浏览器-经过十多年的浏览器革命,ECMAscript5 已成为标准 https://www.wkzy.net/game/134003.html

    常见问题

    相关文章

    官方客服团队

    为您解决烦忧 - 24小时在线 专业服务