core.js的作者及其背后的故事
core-js 是一个极其流行的 JavaScript 库,用于填补现代浏览器与老旧浏览器之间在ECMAScript标准支持上的差距,它由俄罗斯的开发者 Denis Pushkarev(也被称为 zloirock)创建和持续维护,自2013年发布以来,core-js 已经成为了JavaScript开发中的一个重要工具,被广泛应用于各种项目和框架中。
一、core-js 的功能和作用
core-js 的主要功能是提供一个兼容性层,使得开发者能够在旧版浏览器中使用最新的ECMAScript特性,它提供了以下几类功能的 polyfill:
1、新的ECMAScript特性:如 Promise、Symbol、Proxy、Reflect 等。
2、新的内置方法:如 Array.from、Array.includes、Object.assign、String.startsWith 等。
3、新的数据结构和数据类型:如 Map、Set、WeakMap、WeakSet、Symbol、TypedArray 等。
4、新的实例方法和静态方法:如 Array.prototype.includes、Object.entries、String.prototype.padStart 等。
通过使用 core-js,开发者可以在不同的浏览器和环境中使用最新的JavaScript特性和功能,而不必担心浏览器兼容性问题,这使得开发者能够更轻松地编写跨浏览器兼容的代码,并提供更好的用户体验。
二、Denis Pushkarev的背景和开源经历
Denis Pushkarev 是一位来自俄罗斯的独立 JavaScript 开发者和开源贡献者,他在2013年创建了 core-js 项目,并一直积极地维护和更新这个库,Denis Pushkarev 的开源之路并不平坦。
1、全职开源的挑战:
Denis Pushkarev 曾表示,他辞去了原本的高薪工作,全身心投入到 core-js 的开发和维护中,尽管 core-js 的用户数达到了惊人的量级,但鲜有人愿意为他投入到开源中的时间和精力支付酬劳,他曾在项目 GitHub 和 npm 的主页 README 中发布过筹款信息,但最后一个月只收到了57美元的捐赠。
2、法律问题:
除了财务方面的困境,Denis Pushkarev 还遭遇了法律问题,他因驾驶摩托车撞人致一伤一亡,根据俄罗斯联邦法律,被判处有期徒刑18个月,剥夺2年驾驶权利,并被罚款138万卢布,为了支付罚金和律师费,Denis Pushkarev 耗尽了所有积蓄。
3、开源社区的支持与批评:
尽管面临诸多困难,Denis Pushkarev 仍然坚持维护 core-js 项目,他的一些做法也引发了争议,他曾在 core-js 的 CLI 中添加了额外的信息,表示自己正在找工作,不过此举也引来了许多不友好的回应。
三、core-js 的未来和发展路线图
Denis Pushkarev 在最近的一次发言中提到,他原本只是想介绍自己正在积极开发的下一个主要版本,以及 core-js 项目的未来开发路线图,但由于最近发生的事情让 Denis Pushkarev 颇有感慨,于是起笔后他用了很大篇幅来讲述自己的开源经历和遭遇,以及心态变化。
1、寻找稳定的财政支持:
Denis Pushkarev 希望通过寻找赞助或赞助平台来解决财务问题,他提到了一些可能的解决方案,如 Patreon、Open Collective 等平台可以帮助开源项目寻求赞助,他还计划引入更稳定的财政支持或者修改许可证让 core-js 成为一个商业项目。
2、继续维护和更新 core-js:
尽管面临诸多挑战,Denis Pushkarev 仍然承诺会继续维护和更新 core-js 项目,他表示会引入更多的自动化测试和工具来提高项目的质量和稳定性,他也希望能够吸引更多的贡献者加入到项目中来共同维护和发展 core-js。
3、推广和支持其他开源项目:
除了 core-js 之外,Denis Pushkarev 还是其他开源项目的贡献者,他希望能够通过自己的努力推广和支持更多的开源项目让更多的人了解和使用这些优秀的工具。
四、相关FAQs
Q1: core-js 的安全性如何保证?
A1: core-js 的安全性主要通过以下几个方面来保证:
1、严格的代码审查:每个提交都必须经过严格的代码审查才能合并到主分支中确保代码质量。
2、自动化测试:项目包含了大量的单元测试和集成测试以确保功能的正确性。
3、依赖管理:使用 npm 管理依赖关系并定期更新依赖库以修复已知漏洞。
4、社区监督:由于 core-js 是一个开源项目任何人都可以查看源代码并提出改进建议这有助于及时发现并修复潜在的安全问题。
Q2: core-js 的性能如何优化?
A2: core-js 的性能优化主要包括以下几个方面:
1、模块化设计:core-js 采用了模块化的设计方式使得用户可以根据需要加载特定的模块从而减少不必要的资源浪费。
2、懒加载技术:对于不常用的功能 core-js 采用了懒加载技术只有在需要时才会加载相关的代码从而提高了初始加载速度。
3、高效的实现方式:在实现各种功能时 core-js 尽量采用高效的算法和数据结构以减少性能开销。
4、持续的性能测试:项目团队会定期进行性能测试并根据结果进行优化以确保 core-js 始终保持良好的性能表现。
五、小编有话说
core-js 作为一个极其流行的 JavaScript 库为无数的开发者解决了浏览器兼容性问题极大地推动了Web开发的进步然而背后的作者 Denis Pushkarev 却面临着巨大的经济压力甚至一度想要放弃开源这无疑是一个令人遗憾的现实,希望更多的人能够关注和支持像 Denis Pushkarev 这样的开源贡献者让他们能够继续为我们带来更多优秀的开源项目同时也提醒我们开源软件的价值远远超出了金钱的衡量希望未来能有更多的方式来支持开源事业的发展让开源之光永远照耀着我们的前行之路。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1485284.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复