前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Stimulus:让web应用在移动端达到原生体验

Stimulus:让web应用在移动端达到原生体验

作者头像
企鹅号小编
发布2018-02-07 15:06:35
9990
发布2018-02-07 15:06:35
举报
文章被收录于专栏:企鹅号快讯企鹅号快讯

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

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

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

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

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

单凭这一策略就可以使大多数应用程序中的操作变得快速(如果能够在100-200ms内返回服务器响应,这对于高速缓存来说是非常可能的)。

Stimulus计划将最佳模式汇集到一个适度的小型框架中,围绕着三个主要概念:控制,目标和动作属性。

Stimulus是一个谦虚但雄心壮志的JavaScript框架。它并不试图接管整个前端-事实上,它根本不关心HTML渲染。相反,它的设计是为了让HTML有足够多的行为。Stimulus不会自动创建HTML,而是将其附加到现有HTML文档。Stimulus与Turbolinks配对可以最小的努力为快速,引人注目的应用提供完整的解决方案。

它是如何工作的呢?用控制器,目标和动作属性来丰富HTML:

▲代码示范

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

▲代码示范

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

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

安装Stimulus

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

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

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

本文来自企鹅号 - IT168媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文来自企鹅号 - IT168媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档