写到一定的时候都会推翻重写么?

本贴最后更新于 2914 天前,其中的信息可能已经渤澥桑田

一提到重写,就想到 Angular 2.0,但好在大部分兼容。

下文转自 http://www.infoq.com/cn/news/2016/05/Vuejs-2


Vue.js 的团队最近发布了 v2.0 版本,该版本被描述为是对框架的一次“完全改写”。

Vue 创建者 Evan You 称 Vue 由“一个核心视图层、伴随工具以及支持库”所构成,这次发布的 2.0 版本更快速更精简。

“渲染层现在基于一个轻量级的 Virtual-DOM 实现,在大多数场景下初试化渲染速度和内存消耗都提升了 2~4 倍。”You 提到。

此外,开发者可以将 template-to-virtual-DOM 编译器和运行时分开,允许预编译模板,发布应用时只需要运行时间。Vue 运行时代码 min+gzip 后小于 12kb,而 React 15 min+gzip 后需要 44kb。

You 说 Vue 同时提供“一些针对 template-to-virtual-DOM 编译阶段的优化”,包括在初始渲染之后“检查那些没变的静态类名和属性”。

宣布 Vue.js 2.0 发布的官方博文中,You 提到尽管 2.0 版本是一次完全改写,但是“除了一些有计划的弃用,API 和 1.0 版本在很大程度上兼容”。其中最显著的的是对过滤系统的变更。

从 2.0 版本之后, 过滤器仅可以在{{}}标签中使用,You 解释说团队发现含有指令的过滤器,包括 v-model 和 v-on“导致了更多的复杂性,而不是方便性”。

此外,Vue 2.0 将不提供任何内置的过滤器,推荐开发者使用单独的库,例如 moment.js 来格式化日期,accounting.js 来格式化货币。对过滤器的决定性改变是对其语法的改变,使其与函数调用{{ date | formatDate('YY-MM-DD') }}内联。

Vue 2.0 目前是公共预览版,预计在六月会发布 Beta 版本,预览版收到的反馈基本都是积极的。

系统分析师 Victor Bastos 评论说“他对过滤器弃用感到很失望”,他认为过滤器是“Vue 中他最喜欢的功能”之一。并不是所有人都同意 Bastos 的观点。教育工作者 Chris Fritz 回复道“我个人支持去除过滤器,它们只是 JavaScript 函数似,但它们使用了一种特殊的管道语法,好像在变魔术一样。对我个人而言,这是对库初学者的另一道障碍。”

Vue.js 是基于 MIT 许可协议的开源项目。InfoQ 的读者如果想对项目作出贡献必须先阅读贡献指南

查看英文原文:Rewritten Framework for Vue.js 2.0 Release

  • Vue.js

    Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

    261 引用 • 662 回帖 • 1 关注
  • 重写
    2 引用 • 26 回帖
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    397 引用 • 3416 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • R

    @Vanessa 我想知道的是你想重写啥项目,哈哈

  • 其他回帖
  • Vanessa

    @R 所以我现在正在努力的培养开发,教前端使用 Linux,配置 NGINX(虽然我也很菜,但是基本的开发环境我就不用再操心了,哇咔咔咔)。

  • LyZane

    我经手的项目,经常都有推翻重构的过程。

    • 有时候是为了重新解构项目、整理代码。
    • 有时候是为了更好的实现。
  • Vanessa

    @R 等手头空闲下来还是要把前端抓起来的。我现在在看 PMBOK,我觉得你才是大牛,每每听到 D 给我说你给他啥啥啥建议的时候,我都觉得你用户体验上研究的很棒。

  • 查看全部回帖
Vanessa
我们终此一生,就是要摆脱他人的期待,找到真正的自己。 昆明

推荐标签 标签

  • 禅道

    禅道是一款国产的开源项目管理软件,她的核心管理思想基于敏捷方法 scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能,在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。

    5 引用 • 15 回帖 • 217 关注
  • ZooKeeper

    ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 HBase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

    59 引用 • 29 回帖 • 24 关注
  • 分享

    有什么新发现就分享给大家吧!

    241 引用 • 1746 回帖
  • 国际化

    i18n(其来源是英文单词 internationalization 的首末字符 i 和 n,18 为中间的字符数)是“国际化”的简称。对程序来说,国际化是指在不修改代码的情况下,能根据不同语言及地区显示相应的界面。

    7 引用 • 26 回帖 • 5 关注
  • 服务

    提供一个服务绝不仅仅是简单的把硬件和软件累加在一起,它包括了服务的可靠性、服务的标准化、以及对服务的监控、维护、技术支持等。

    41 引用 • 24 回帖 • 11 关注
  • Git

    Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    205 引用 • 357 回帖 • 2 关注
  • 黑曜石

    黑曜石是一款强大的知识库工具,支持本地 Markdown 文件编辑,支持双向链接和关系图。

    A second brain, for you, forever.

    10 引用 • 85 回帖
  • Love2D

    Love2D 是一个开源的, 跨平台的 2D 游戏引擎。使用纯 Lua 脚本来进行游戏开发。目前支持的平台有 Windows, Mac OS X, Linux, Android 和 iOS。

    14 引用 • 53 回帖 • 512 关注
  • Sublime

    Sublime Text 是一款可以用来写代码、写文章的文本编辑器。支持代码高亮、自动完成,还支持通过插件进行扩展。

    10 引用 • 5 回帖 • 2 关注
  • SOHO

    为成为自由职业者在家办公而努力吧!

    7 引用 • 55 回帖 • 94 关注
  • Unity

    Unity 是由 Unity Technologies 开发的一个让开发者可以轻松创建诸如 2D、3D 多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

    25 引用 • 7 回帖 • 244 关注
  • OkHttp

    OkHttp 是一款 HTTP & HTTP/2 客户端库,专为 Android 和 Java 应用打造。

    16 引用 • 6 回帖 • 55 关注
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    6596 引用 • 29609 回帖 • 251 关注
  • GAE

    Google App Engine(GAE)是 Google 管理的数据中心中用于 WEB 应用程序的开发和托管的平台。2008 年 4 月 发布第一个测试版本。目前支持 Python、Java 和 Go 开发部署。全球已有数十万的开发者在其上开发了众多的应用。

    14 引用 • 42 回帖 • 689 关注
  • WebComponents

    Web Components 是 W3C 定义的标准,它给了前端开发者扩展浏览器标签的能力,可以方便地定制可复用组件,更好的进行模块化开发,解放了前端开发者的生产力。

    1 引用 • 24 关注
  • RIP

    愿逝者安息!

    8 引用 • 92 回帖 • 293 关注
  • Gzip

    gzip (GNU zip)是 GNU 自由软件的文件压缩程序。我们在 Linux 中经常会用到后缀为 .gz 的文件,它们就是 Gzip 格式的。现今已经成为互联网上使用非常普遍的一种数据压缩格式,或者说一种文件格式。

    9 引用 • 12 回帖 • 112 关注
  • Sillot

    Sillot (汐洛)孵化自思源笔记,致力于服务智慧新彖乄,具有彖乄驱动、极致优雅、开发者友好的特点
    Github 地址:https://github.com/Hi-Windom/Sillot

    19 引用 • 6 回帖 • 28 关注
  • WiFiDog

    WiFiDog 是一套开源的无线热点认证管理工具,主要功能包括:位置相关的内容递送;用户认证和授权;集中式网络监控。

    1 引用 • 7 回帖 • 545 关注
  • LaTeX

    LaTeX(音译“拉泰赫”)是一种基于 ΤΕΧ 的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在 20 世纪 80 年代初期开发,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由 TeX 所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。

    9 引用 • 32 回帖 • 160 关注
  • 链书

    链书(Chainbook)是 B3log 开源社区提供的区块链纸质书交易平台,通过 B3T 实现共享激励与价值链。可将你的闲置书籍上架到链书,我们共同构建这个全新的交易平台,让闲置书籍继续发挥它的价值。

    链书社

    链书目前已经下线,也许以后还有计划重制上线。

    14 引用 • 257 回帖 • 4 关注
  • JetBrains

    JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA

    18 引用 • 54 回帖
  • 持续集成

    持续集成(Continuous Integration)是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。

    14 引用 • 7 回帖 • 3 关注
  • 强迫症

    强迫症(OCD)属于焦虑障碍的一种类型,是一组以强迫思维和强迫行为为主要临床表现的神经精神疾病,其特点为有意识的强迫和反强迫并存,一些毫无意义、甚至违背自己意愿的想法或冲动反反复复侵入患者的日常生活。

    15 引用 • 161 回帖 • 2 关注
  • TextBundle

    TextBundle 文件格式旨在应用程序之间交换 Markdown 或 Fountain 之类的纯文本文件时,提供更无缝的用户体验。

    1 引用 • 2 回帖 • 50 关注
  • Mac

    Mac 是苹果公司自 1984 年起以“Macintosh”开始开发的个人消费型计算机,如:iMac、Mac mini、Macbook Air、Macbook Pro、Macbook、Mac Pro 等计算机。

    164 引用 • 594 回帖 • 1 关注
  • JavaScript

    JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。

    711 引用 • 1173 回帖 • 161 关注