当前位置: 首页 > Web前端 > vue.js

Vetur:现状、发展、赞助和方向

时间:2023-03-31 14:59:24 vue.js

我有一段时间没看Vetur了。问题和PR堆积如山。我刚刚对所有问题进行了分类,但我预计大约有两个月的时间来审查所有PR,并修复大部分错误。因此,我决定写这篇文章来为您提供一些更新和透明度。这篇文章分为四个部分:状态:项目进展如何?开发:我计划继续开发Vetur。赞助:我开始赞助以保持我的工作可持续发展。Orientation:目前发展的重点是什么,最后的一点思考。StatusVetur现在在VS代码市场上有480万次下载。vls,Vue语言服务器,正在Vim/NeoVim、Emacs、Atom、SublimeText和CodeSandbox中使用。有时我也对Vetur的受欢迎程度感到惊讶。同时,有大约200个问题和大约40个PR。假设每个错误平均需要1小时,那么解决它们大约需要16周。有时@ktsn和@yoyo930021可以帮助我解决问题并发送错误修复,但我仍然主要负责修复和检查PR。Vetur在三个方面变得相当复杂:它需要支持.vue文件中允许的所有语言。Vetur现在提供语法高亮和语言特性html/css/scss/less/stylus/js/ts,但只有语法高亮pug/haml/slm/postcss/sass/coffee。人们对pug/postcss/sass语言特性很感兴趣,但我没有时间。它需要实现语言服务器协议中的所有语言特性。其中包括自动完成、诊断错误、悬停信息、签名帮助、折叠、跳转到定义、重命名、格式化等。现在,将其乘以上面的语言数量。它需要与许多其他库很好地集成。TypeScript是最需要努力的,因为有时我需要深入了解它的内部结构以解决语言功能问题或性能问题。其他库,如emmet、语言服务、格式化程序和linters也需要时间。虽然我的目标是为Vue用户提供快速流畅的开发体验,但管理所有这些方面可能很困难。为一种语言开发语言服务器已经是一项全职工作。在VSCode中实现TypeScript支持是我过去的全职工作。有时工作会让人感到不知所措。更大的表面积确实使工作具有挑战性,但它也提供了创新的机会。Vue插值语言功能和Vetur终端界面就是这方面的一些例子。在监督所有这些方面时,我有很多想法来突破开发体验的界限。现在我有更多的时间,我将开始尝试这些想法。Vetur现在可以帮助塑造Vue生态系统。Vetur的框架支持现在可以与9个流行的Vue库一起使用。例如,当您安装Nuxt或Quasar时,这些框架会在其NPM包中包含自动生成的JSON元数据文件。然后Vetur选择它们并在编辑器中为您提供自动完成和悬停信息。我希望标准化格式并推动其采用,以便将来人们可以轻松学习和使用新的基于Vue的库,就像今天通过安装@types包轻松学习和使用JS库一样。支持Vue一直是Vetur的重点,但我很高兴看到Vetur被用于更广泛的网络社区,无论是用于与Vue相关的开发还是无关的项目。例如,vscode-weex使用Vetur来支持weex,而sveltejs/languagetools是建立在Vetur上以支持slim。总的来说,我认为通过一些错误修复和PR,Vetur将再次处于良好状态,并为Web开发体验的创新提供成熟的基础。我会谈谈我打算如何继续发展。发展历程辞去微软工作,在上海自主学习/研究。我一直忙于过渡,但现在我已经安顿下来并准备好再次进行开发。考虑到我的其他承诺,我每周大约有15个小时为开源做贡献。我计划将大部分资金用于Vetur。这么多功能,估计我一个人都搞不定了。许多其他人都想提供帮助,但我并没有让Vetur做出贡献变得容易。这是我让贡献更顺畅的计划:使用清晰的问题模板和标准。严格关闭所有不合规问题。隔离出可自主开发的特色区域。在Vetur和这些独立区域之间建立清晰的界面。及时检查PR(我没有这样做)。编写更多文档以对每个领域做出贡献。例如,如何添加对新框架的支持?如何调试和修复TextMate语法问题?如何追踪性能问题?以下是我的一些个人计划:使用Vue+TypeScript构建我的个人项目。写下一切。一方面,当我有问题时,我可以狗食Vetur并进行改进。另一方面,我还没有看到关于使用Vue+TS的详尽指南,所以我想我会写一个。每周花一些时间在Vetur基金会之上进行研究和试验,以改善Vue/Web开发体验。写下我的发现。不要担心完美和生产质量。玩得开心老实说,维护一个开源项目并不好玩。有时我不想看到所有通知。但现在我意识到我应该采取更坚定的立场。我不会让金钱或问题的紧迫性让这个项目失去乐趣。我不会每周花40个小时来修复神秘的错误。获得乐趣不是可有可无的,它是必不可少的:我认为在计算机科学界保持计算乐趣很重要。当它开始时,它非常有趣。当然,付费客户时不时会被卡住,一段时间后,我们开始认真对待他们的投诉。我们开始觉得我们真的有责任成功地使用这些机器,没有错误地使用它们。我不认为我们是。我认为我们有责任拓展它们,将它们带到新的方向,并让它们在室内保持乐趣。我希望计算机科学领域永远不会失去它的乐趣。最重要的是,我希望我们不要成为传教士。不要认为自己是圣经推销员。世界上已经有太多了。您将了解其他人对计算的了解。不要觉得成功计算的关键就在您手中。What'sinYourHands-AlanJ.Perlis赞助商我正在启动GitHub赞助以保持工作的可持续性。如果Vetur帮助了你,请考虑赞助我。在Vetur四年的发展过程中,钱不是我的目的或重点。出于关心、好奇和爱,我正在研究Vetur。在奖励方面,我偶尔会收到陌生人的感谢邮件。他们温暖了我的心。但是,辞掉工作后,我不能再忽视钱的问题了。一方面,我的积蓄将在一天内用完,我需要为此做好计划。另一方面,维护Vetur花了我很多时间进行个人研究/学习,我辞掉了高薪工作。尽管这些天钱对我来说是不可忽视的东西,但我不会寻求某些选择。一些语言扩展对高级功能收费。我永远不会更改OSS许可证或向您收取任何使用Vetur的费用。如果Vetur让您更轻松地使用Vue,请考虑提供小额赞助,例如每月一杯拿铁咖啡。如果您使用Vetur开发商业产品,或将Vetur嵌入商业在线IDE,请考虑延长您的赞助。感谢您从我的关注列表中删除资金,这样我就可以专注于让Vetur变得更好并为Vue生态系统做出贡献。方向这是我在不久的将来要关注的重点:确保同时支持Vue3和Vue2。改进TypeScript集成以将TypeScript功能引入Vue文件(自动导入、重构、有组织的导入等)。适应更复杂的项目设置。完成描述Vue组件形状的交换格式。框架应该以这种格式生成数据并将其提供给Vetur。VLS应该为用户组件动态生成这种格式的数据。然后,此数据用于语言功能,例如自动完成和错误检查。改善VTI。提高性能。创建性能测试套件并调查性能问题。将Windows支持与macOS/Linux支持同等对待。改进对pretty/pretty的支持。此列表至少需要2个月。我会不断更新路线图。过去,学习Vue或任何与此相关的框架通常是一个支离破碎的过程。您阅读了API。复制和改编。写一些代码。查找错误。返回阅读API。修复错误。很多来回。Vetur模糊了进程之间的界限。您可以在一个循环中学习和编写Vue。Vetur可加快您的速度并让您充满信心。有时我觉得学习Vue的过程与去某个地方旅行并没有太大的不同,因为你不了解一种语言和一种文化。不确定性是相似的。您担心使用错误的短语。您非常想通过Google搜索一家好餐馆。我对Vetur的希望是,作为一名导游,他会一直和你在一起,教你俚语,带你去当地的餐馆,然后淡出背景,给你探索的乐趣。希望Vetur能帮助你玩好Vue,玩得开心。我希望Vetur也能帮助您自信地构建大型应用程序。这是很多工作,但这是我的目标,您的慷慨将帮助我实现它。了解社区规范