Webpack 创始人:希望能有更多时间写更多代码

栏目: IT资讯 · 发布时间: 5年前

内容简介:Tobias Koppers 是一位自由软件开发者,家住德国纽伦堡。他因写出 Webpack 这个已有数百万开发者使用的开源软件而名噪一时。他目前专注于 JavaScript 和开源项目。以下是我对他个人的专访,希望对大家有所启发。 ...

Tobias Koppers 是一位自由软件开发者,家住德国纽伦堡。他因写出 Webpack 这个已有数百万开发者使用的开源软件而名噪一时。他目前专注于 JavaScript 和开源项目。以下是我对他个人的专访,希望对大家有所启发。

Gregor:你好,Tobias,JavaScript 社区都在谈论 Webpack,就连谷歌也已经把它集成到了自己的 Angular CLI 项目中了。很高兴 Webpack 诞生于纽伦堡,离我的老家英戈尔施塔特(德国)不远。跟我们分享一下,你当时怎么想起来写 Webpack 的,它怎么那么快就受到了大家欢迎的?

Tobias:你好,Gregor。实际上,谷歌也在参与 Webpack 的开发,只不过是间接参与。我在迷上 JavaScript 以前,也写过 Java 。谷歌曾经推出过一个工具,叫 GWT(Google Web Toolkit),让 Java 程序员能用 Java 编写客户端应用。GWT 其实是一个 Java 应用到 JavaScript SPA 的编译器,也使用了谷歌的一些应用。

GWT 有一个功能我研究了很长时间,就是代码拆分(code splitting)。这个功能可以延迟加载不常用的代码。对于要保持初始加载速度的大型应用,这个功能非常重要。但我没发现 JavaScript 的开源工具(2012年)中哪个具备这个功能,于是我就想写一个这样的工具,也就是 Webpack 。

换句话说,Webpack 诞生之初主要想解决代码拆分的问题。而在我看来,这也是 Webpack 今天这么受欢迎的原因所在。随着 Web 应用越写越大,而移动设备越来越普及(但上网环境相对不好),拆分代码的需求与日俱增。如果不拆分代码,就很难实现期望的性能。

Gregor:很多人拿 Webpack 跟 NPM 脚本、Grunt 和 Gulp 等进行比较。有人也确实通过 Webpack 实现那些 工具 的功能。我以后也会使用 NPM 脚本和 Webpack 。你对此怎么看,你除了 Webpack 之外,还会用其他任务工具吗?

Tobias: NPM 脚本对我而言足矣。实际上,说 Webpack 是 Grunt/Gulp 的替代器并不完全准确。Grunt 和 Gulp 以及 NPM 脚本都是任务执行程序。

Webpack 是模块打包程序。这两类程序的目标不一样。但 Webpack 简化了 必须“过度使用” Grunt 和 Gulp 和 NPM 脚本才能实现的 Web 开发任务也是事实。NPM 脚本才是 Grunt 和 Gulp 的替代品。

不过,除了纯粹的构建之外,任务运行程序也有存在的理由,比如部署、代码检查、版本管理,等等。

Gregor:在我的 JavaScript 培训课上,很多学员都说 Webpack 上手有多难多难。有没有也人跟说这么说过?如果有,你有没有想过怎么改进?

Tobias: 有,确实有这样的反馈。不过,也有不少用户在会用以后还这么说。而实际上 Webpack 使用起来很简单。只要会写网页,都会觉得它比之前的工具容易使用。

我认为这些反馈主要是因为 Webpack 的概念与其他工具的概念明显不一样,特别是在把 Grunt/Gulp 迁移到 Webpack 时。任务运行程序的配置是指令式的,描述的是每一步要执行什么任务。而 Webpack 的配置则是声明式的,就是说不会描述 Webpack 要执行的步骤,而只描述执行这些步骤的方式或执行后的结果是什么样的。

Gregor: 你的开发日程是怎么安排的?下一个 Webpack 的版本计划有什么功能?

Tobias: 现在还不太好说。很多事情都有可能,捡几个重要的说一下吧:

  • 作用域提升:连接模块的小却强大的方式

  • WebAssembly:支持 Web 应用中的二进制代码

  • 持久缓存:更快的初段编译

  • CSS(还有HTML)作为一类公民:对样式表(和HTML)的更多支持

  • 其他

用户和赞助者决定实现这些功能的优先级。我建了一个投票页面,大家可以去投。所有人都可以表达自己的想法,但赞助者和志愿者的权重更大。因为他们需要一定的回报。用户当然希望多多益善。

Gregor:能否推荐几个 Webpack 最佳实践?

Tobias: 使用按需加载。非常简单,效果非常好。

Gregor:你个人有什么目标吗?我们会不会很快在媒体上看到,说你去谷歌去山景城了?

Tobias: 我不这样想。我很快会成为一个自由职业者。我会把更多的时间放到开源上来,通过捐助实现财务平衡。因为捐赠通常不够,我会接一些工作或咨询来弥补缺口。我很想知道这样行不行。也许有人会成为我的赞助商,提供额外几个星期的赞助(听见了吗,谷歌)。

维护一个开源项目需要付出的努力超出常人想象。现在,代码评审和解决 issuse 占了我80%时间。我既没足够的时间写代码,也没时间重构。甚至一些合并请求我都得拖上一段时间才能处理。我需要花时间仔细看一看。当然,志愿者并不想如此。我想这种情况会变的,只要我全职写 Webpack 就行了。但愿我能有更多时间写更多代码。

Gregor:非常感谢你接受采访!也感谢 Webpack,感谢它对 JavaScript 开发者的大力支持。非常喜欢你这个工具!

Tobias: 不客气。我要感谢社区。Webpack 并不是“我的”工具,它是500多位志愿者共同的成果。Webpack 的成功也是源于这个伟大的生态。

原文:www.cross-platform-blog.com

翻译:https://zcfy.cc/article/interview-with-webpack-founder-tobias-koppers


【声明】文章转载自:开源中国社区 [http://www.oschina.net]


以上所述就是小编给大家介绍的《Webpack 创始人:希望能有更多时间写更多代码》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Kotlin程序员面试算法宝典

Kotlin程序员面试算法宝典

孙伟、楚秦 / 机械工业出版社 / 2018-12 / 69

本书是一本讲解程序员面试笔试算法的书籍。在写法上,除了讲解如何解答算法问题以外,还引入了例子辅以说明,以便读者能够更加容易地理解。 本书将程序员面试笔试过程中的各类算法类真题一网打尽。在题目的广度上,通过各种渠道,搜集了近3年来几乎所有IT企业面试笔试算法高频题目,所选择题目均为企业招聘使用题目;在题目的深度上,本书由浅入深、庖丁解牛式地分析每一个题目,并提炼归纳,同时,引入例子与源代码、时......一起来看看 《Kotlin程序员面试算法宝典》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

SHA 加密
SHA 加密

SHA 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器