内容简介: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 创始人:希望能有更多时间写更多代码》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 专访原 JavaEye 创始人 Robbin
- Kata Containers 创始人:安全容器导论
- Holochain创始人总结:胜利、失误以及后续
- Deepin 操作系统联合创始人宣布离职
- CSDN 创始人蒋涛:世界被编码之后
- 跨链协议的神秘创始人公开了自己的身份
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Web Design Handbook
Baeck, Philippe de 编 / 2009-12 / $ 22.54
This non-technical book brings together contemporary web design's latest and most original creative examples in the areas of services, media, blogs, contacts, links and jobs. It also traces the latest......一起来看看 《Web Design Handbook》 这本书的介绍吧!