快捷搜索:  汽车  科技

esim框架图:Web应用要想在移动设备上获得原生体验

esim框架图:Web应用要想在移动设备上获得原生体验Stimulus可以不断刷新页面,只要属性出现或消失,就会踢入页面。 它适用于DOM的任何更新,无论是整页加载,Turbolinks页面更改还是Ajax请求,Stimulus可以管理整个生命周期。代码示范为了避免这种重新初始化,Turbolinks像单页面应用程序一样保持一个持续的过程,它拦截链接并通过Ajax加载新页面,服务器仍然返回完整的HTML文档。代码示范然后写一个兼容控制器。Stimulus使其自动生效:

很多开发者一年来通过Basecamp写了很多JavaScript,但是并没有用它来创建现代意义上的“JavaScript应用程序”。所有的应用程序都以服务器端呈现的HTML为核心,然后添加一些JavaScript来使其看起来更棒。

当然,并不是说单页JavaScript应用程序的激增没有什么好处。主要的是更快,更流畅的接口让整页快速刷新。我们希望所有应用程序用客户端渲染重写所有东西,或者在移动设备上完全原生。

这个愿望可以得到一种解决方案:Turbolinks和Stimulus。

Turbolinks从Github上一种叫做pjax的方法开始,基本概念保持不变。整页刷新通常感觉慢,因为浏览器必须处理从服务器发送的一堆HTML。浏览器很快,而且在大多数情况下,HTML有效载荷往往比JSON有效载荷更大(特别是使用gzip),原因是CSS和JavaScript必须重新初始化并重新应用到页面。无论文件本身是否被缓存,如果你有相当多的CSS和JavaScript,这可能会很慢。

esim框架图:Web应用要想在移动设备上获得原生体验(1)

为了避免这种重新初始化,Turbolinks像单页面应用程序一样保持一个持续的过程,它拦截链接并通过Ajax加载新页面,服务器仍然返回完整的HTML文档。

代码示范

然后写一个兼容控制器。Stimulus使其自动生效:

esim框架图:Web应用要想在移动设备上获得原生体验(2)

代码示范

Stimulus可以不断刷新页面,只要属性出现或消失,就会踢入页面。 它适用于DOM的任何更新,无论是整页加载,Turbolinks页面更改还是Ajax请求,Stimulus可以管理整个生命周期。

开发者可以根据Stimulus手册花费五分钟的时间写下一个控制器。

安装Stimulus

Stimulus与webpack资产包装器集成,以自动从应用程序中的文件夹加载控制器文件。

开发者也可以使用Stimulus与其他资产包装系统。而且,如果不需要构建步骤,只需在页面上放置一个<script>标记,就可以轻松完成业务。

感兴趣的用户可以自行在Github上搜索,欢迎交流使用体验!

猜您喜欢: