AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

VueConf.US 大会第一天上午会议内容概述

  • 2018-04-09
  • 本文字数:2266 字

    阅读完需:约 7 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

第一届 VueConf.US 大会于 3 月 26 日到 28 日在新奥尔良市举行,Vue 核心团队与来自世界各地的数百名 Vue 开发人员齐聚一堂。大会包括一天的研讨会,全部由 VueJS 核心团队成员讲授,接下来两天是演讲。演讲者会宣布新版本和项目进展,详细介绍 Vue 内部构件,分享最佳实践。

下面是第一天上午的演讲内容。

主题演讲——日渐成熟的项目流程

Vue 创建者 Evan You 的主题演讲拉开了大会的帷幕,重点介绍了 Vue 自 2016 年以来的发展以及即将到来的新开发流程和新项目流程。关于 Vue 的增长:

2017 年,我们经历了指数式增长,比 2016 年增长更快。2016 年,我就认为我们经历了爆炸式增长,但在 2017 年,增长甚至更快了。

2017 年,我们是 GitHub 上得星最多的项目。

随着增长,流程日趋成熟。除了升级工具如重写 vue-loader 让它可以更好地适应标准 webpack 配置和 vue-cli ,从而改进可升级性之外,其在演讲中宣布的重要公告都是关于采用的新流程。

Vue 将转而采用一种标准化的发布周期,新的小版本每三个月发布一次,重大版本发布至少提前 6 个月通知。这一变化将使发布通道由一个变成四个。此外,随着 Rust、Ember 等最佳实践项目示例的推出,近日,React VueJS 将创建一个正式的 RFC 流程。

VueJS 内部构件——揭秘 Vue 反应性系统

VueMastery.com 创始人 Gregg Pollack 呈献了“VueJS 解密”,深入介绍了 Vue.js 反应性系统。他首先教给观众,如何创建一个简单的反应式系统,通过实现一个简单的依赖跟踪类,并使用 Object.defineProperty 设置 get 和 set 方法钩入依赖跟踪。

接下来,他带领观众浏览了 VueJS 的源代码,深入调用栈,了解 Vue 在哪里实现了反应性,使用了他刚刚讲过的模式。这让 Vue 可以跟踪函数的所有数据依赖,随着数据变化自动计算相关的值。

最后,Pollack 向观众介绍了 Vue 如何渲染模板,它使用一个简单的两步流程把模板编译成一个渲染方法,然后使用这个渲染方法生成虚拟 DOM 节点,由框架传给浏览器。把渲染简化为一个函数意味着可以插入上文提到的依赖跟踪,让模板反应性成为核心反应式系统的自然结果。

Vue 在 Gitlab 的使用

Jacob Schatz 是 Gitlab 前端负责人,他呈献了一个案例“Gitlab 如何使用 Vue”,介绍 Gitlab 如何应用 Vue,把它带入一个现实生活项目。许多演讲者都假设开发人员在开发一个新项目,而 Schatz 带领观众进入到一个已有的、主要使用 jQuery 编写的大型应用程序,并详细介绍了决策及迁移过程。他介绍了在团队提供建议之前如何对多个框架进行评估。对于他们为什么使用 Vue,Schatz 是这样说的:

Vue 提供了最多的特性和最低的学习曲线。

所有这些框架都可以,但是考虑到你正在开发的应用程序的规模,它是否仍然有效?Vue 自始至终都很简单。

他们面对的是一个已有的大型项目,没有复杂的前端构建过程。Schatz 详细介绍了在把 Vue 添加到页面之后,他们使用 Vue 分步、分组件重写了他们的应用程序,而不用停止新特性的开发工作。

Vue 动画

Rachel Nabors 是《Animation at Work》一书的作者,她做了题为“Vue 动画”的演讲,介绍如何使用 Vue 实现动画和切换。Nabors 首先把 CSS 切换解释成 CSS 属性事件查看器,然后她展示了 Vue 元素如何生成一系列逐步应用的类,让开发人员可以在元素增加、删除、显示和隐藏时钩入,简单地创建动画。例如,一个名为“uncloak”的切换将会在切入时应用类 uncloak-enter、uncloak-enter-to 和 uncloak-enter-active,在切出时应用类 uncloak-leave、 uncloak-leave-to 和 uncloak-leave active。

接下来,她展示了如何使用切换组协调多个元素的动作和切换模式,确定元素替换时的顺序。对于每一组 css 切换钩子,都会有一组等价的、使用标准 vue 事件绑定的 JavaScript 钩子。你可以使用 v-bind:leave="animationFunction"简单地绑定到“leave”事件,而不是绑定一组“leave”类。

Vue 应用程序测试

在上午最后一场演讲中,Vue 核心团队成员兼“vue-test-utils”作者 Edd Yerburgh 谈了 Vue 应用程序测试。他展示了一个适应不同环境的前端测试金字塔,包括端到端测试、快照测试和单元测试。

接下来,Yerburgh 分类介绍了每种测试类型的优缺点。端到端测试使用浏览器运行代码,这最接近用户实际使用代码的方式,但难以调试,而且速度慢。另一端是单元测试,这类测试易于调试,而且速度快,但是如果不小心,就非常脆弱,而且对不重要的实现细节很敏感。在速度和脆弱性方面,快照测试介于 E2E 组件和单元测试之间。这类测试会获取已渲染组件代码的快照,然后通过对比得出变化。这些测试用于防止意外修改,阻止开发人员在修改功能时意外修改已渲染的标记或者删除重要的 CSS 类。

自始至终大力强调社区

大会自始至终都在强调社区,与会者相当积极,“Vue”双关语泛滥。当问他对于这次大会的看法时,与会者 Kelvin Spencer 表示:

这次大会给了我完美的“Vue”供我将来编程使用。
其他与会者也同意,而且,还特别指出了社区是多么的让人舒服、受人欢迎。

与会者 Mike Skott 说:

我最欢的事情是见人——来参会,不怕接近陌生人,了解到我们有共同之处,并发现了许多真正优秀的人。

与会者 Richard Tallent 插话说:

要选出最喜欢的演讲很难——我好想记了 15 页笔记。但是,最值得一说的是遇到了各种各样的开发者,了解到了各种各样的开发经验,每个人都对这个平台及其可能性有着同样的兴奋。

所有演讲都有录音,将发布在 VueMastery.com 上。InfoQ 正以 Q&A、概述的形式追踪报道 VueConf 大会。

查看英文原文 Opening Sessions from VueConf.US

2018-04-09 19:001592
用户头像

发布了 1008 篇内容, 共 424.0 次阅读, 收获喜欢 346 次。

关注

评论

发布
暂无评论
发现更多内容

技术实践丨Prometheus+Grafana搭建HBase监控仪表盘

华为云开发者联盟

开源 Grafana Prometheus HBase 开源数据库

uni-app跨端开发H5、小程序、IOS、Android(六):uni-app事件绑定

黑马腾云

微信小程序 uni-app 大前端 iOS Developer 3月日更

Cobar SQL审计的设计与实现

捉虫大师

Disruptor Skywalking cobar 数据库中间件

精选2021互联网大厂Java核心面试题库(金三银四面试必备)

比伯

Java 编程 架构 面试 程序人生

跟随报文,开启一段奇妙之旅

华为云开发者联盟

报文 Windows主机 路由器 Linux主机 路由表

字节跳动单点恢复功能及 Regional CheckPoint 优化实践

Apache Flink

flink

力扣(LeetCode)刷题,简单题(第16期)

不脱发的程序猿

面试 LeetCode 28天写作 算法面经 3月日更

【Doris Weekly】2020.03.08~2021.03.21

ApacheDoris

【Doris Weekly】

分布式任务 + 消息队列框架 go-queue

万俊峰Kevin

微服务 分布式任务 消息队列 Go 语言

彩色图像的二值化,取经之旅第 6 天

梦想橡皮擦

28天写作 3月日更

【IstioCon 2021】最佳实践:从Spring Cloud 到 Istio

华为云原生团队

开源 Kubernetes 云原生 istio 服务网格

LiteOS:剖析时间管理模块源代码

华为云开发者联盟

时间管理 时间 LiteOS huawei 任务

vivo 应用商店推荐系统探索与实践

vivo互联网技术

架构 推荐系统 服务器

Flink SQL 在网易云音乐的产品化实践

Apache Flink

flink

墨天轮精选:数据库问答集萃第一期-2021

墨天轮

MySQL 数据库 sql dba

力扣(LeetCode)刷题,简单题(第15期)

不脱发的程序猿

LeetCode 编程之路 28天写作 算法面经 3月日更

微信聊天记录里的文件又失效了?试试这个文件同步开源项目吧

HelloGitHub

开源 文件传输 Go 语言

基于感染原理判断图的连通性算法

大奎

图算法 子图 连通性

开发也要防“沉迷”?IDEA插件教程详解

京东科技开发者

Java 开发 IntelliJ IDEA

EGG公链强势来袭!去中心化社交革命先驱EFTalk

币圈那点事

基于NA公链(Nirvana)的应用和NAC公链社区共识探究公链的发展未来

区块链第一资讯

一文了解数据库资源管理技术

华为云开发者联盟

数据库 存储 GaussDB(DWS) 资源管理

对于移动开发,人工智能的到来意味着什么?

故胤道长

人工智能 机器学习 ios开发 Android开发

数据库周刊62丨央企2021年数据库成交公告,国产占90%;流数据库HStreamDB开源;MySQL主从双写导致数据丢失;Oracle 19c升级最佳实践;PG日常工作分享;MySQL MGR运维指南;SQL语法手册……

墨天轮

MySQL 数据库 sql postgre

【遇见Doris】基于Apache Doris的小米增长分析平台实践

ApacheDoris

【LeetCode】位1的个数Java题解

Albert

算法 LeetCode 3月日更

ThreadLocal 慌不慌?

叫练

JVM ThreadLocal 引用 软引用

书单|互联网企业面试案头书之架构师篇

博文视点Broadview

架构

java好还是嵌入式好?做IT开发该如何选择

cdhqyj

Java 编程 发展 开发 嵌入式

终于有阿里高工把SpringBoot+SpringCloud+Docker+MQ整合在一起了

Java架构追梦

Java 架构 微服务 springboot SpringCloud

揭秘盒马鲜生,如何打破收益增长天花板!

博文视点Broadview

VueConf.US大会第一天上午会议内容概述_JavaScript_Kevin Ball_InfoQ精选文章