构建一个 IDE 是一个宽泛而简单的工程。这仿佛很显著,对吧?但你有没有想过,各种系统的货色是如何组合成一个对立的环境的?引擎之下到底产生了什么?这些都是一些最乏味的问题。
我与 WebStorm 产品经理 Ekaterina Prigara 坐了下来,具体探讨了 WebStorm 自身,咱们如何构建它以及咱们的将来打算。
嗨,Ekaterina!让咱们从议论您在 WebStorm 团队中的角色开始。您的职责是什么?
我帮忙团队定义产品策略,治理产品路线图。
我尝试剖析和验证从各种渠道取得的想法和用例。而后,我将他们带回团队,以及对 Web 开发生态系统中产生的事件的一些见解。
在必要的时候,我帮忙我的共事确定性能和谬误修复的优先级,为用户体验提供倡议,并与 IntelliJ 平台团队协调工作。
WebStorm 团队有多大?
WebStorm 团队共有 18 人。这个团队是跨职能的,包含开发人员、QA、产品和产品营销经理、技术写手和开发者倡导者。事实上,说到开发者代言人,咱们当初就在找一个。
IntelliJ 平台,IntelliJ IDEA,WebStorm 和其余 JetBrains IDE 有什么共同点?
WebStorm 建设在 JetBrains 开发的开源 IntelliJ 平台之上。WebStorm 从 IntelliJ 平台取得其 UI 和许多性能,例如外围编辑器和 Git 集成。JetBrains 上有 130 多人在应用该平台,并且 WebStorm 团队与他们严密单干。
同时,WebStorm 的性能在其余商业 JetBrains IDE 中也能够应用,如 IntelliJ IDEA Ultimate、PhpStorm 和 PyCharm Professional。从这个意义上说,WebStorm 自身不仅是一个独立的产品,而且是所有 JetBrains IDE 的一部分。
与大多数 JetBrains 产品一样,WebStorm 每年有 3 个版本。您如何提出无关新版本中蕴含哪些内容的想法?以及您如何确定哪些性能无奈发挥作用?
对于路线图中蕴含的内容,咱们有很多想法起源:
- 用户的反馈,来自于各种渠道,如问题跟踪器、社交媒体、技术支持和用户体验钻研访谈等。
- 其余 IDE 和编辑器,包含咱们本人的不同语言的 IDE。
- 产品团队成员的亲自体验。
- 咱们在开发生态系统中察看到的变动,比方新的框架、工具、办法和最佳实际的呈现。
咱们的路线图与咱们为 WebStorm 和基于 IntelliJ 平台的一系列产品设定的更高层次指标统一。然而,咱们没有一个正式的办法来确定优先级。咱们应用各种各样的技术 (例如,RICE) 来帮忙咱们对工作进行优先排序,咱们常常依附咱们的直觉和教训。
咱们的路线图非常灵活。如果咱们感觉新个性还没有筹备好,或者呈现了更紧急的状况(例如,新框架公布时呈现了中断的变动),咱们会毫不犹豫地推延新个性的公布。
您如何确定公布高质量的产品?
咱们领有一整套的质量保证工程师,他们与开发人员严密单干。一般而言,咱们有一个月左右的工夫踊跃开发和测试新版本。QA 工程师在开发新性能和变更时对其进行测试,并寻找可能的回归。他们还与团队中的其他人一起评估新性能的可用性,并寻找脱漏的用例。
咱们还从参加“晚期拜访打算(Early Access Program)”的用户那里取得新性能的晚期反馈,该打算在每个次要版本中都会施行。
持续探讨更艰难的问题,JavaScript 及其框架正在迅速倒退,很难跟上吗?
是的,在过来的几年中,JavaScript 生态系统中产生了很多事件。即便在 WebStorm 团队工作了 7 年之后,我依然对新技术的呈现和模式的转变感到十分兴奋。JavaScript 曾经走了很长一段路,并且曾经成为一种真正弱小的语言,更不用说 TypeScript 了。
对于咱们团队来说,最大的挑战是对框架十分求实。咱们和咱们的用户都有理由对 IDE 中的框架反对程度抱有很高的冀望,为了达到这个程度,咱们须要投入数月甚至数年的开发资金。晓得这一点,咱们常常尝试不急于为新框架提供反对。咱们须要依据咱们认为会成为下一个大事件的货色来做出抉择。有时它们不会胜利,但咱们试图从谬误中学习。
在你看来,如果有的话,哪些新兴的 JavaScript 相干框架和技术是最有前途或最乏味的?
哈哈,我对各种技术有很多认识,但在决定 WebStorm 是否反对某项技术时,我尽量做到主观,把数字带到桌面上。
最近让我兴奋的一件事是 Tailwind。一开始我有点狐疑,然而我能了解为什么它如此风行。
您认为 WebStorm 在将来几年会产生怎么的变动?您有什么新的摸索方向吗?
咱们目前的次要关注点之一是确保有教训和教训较少的开发人员在开始应用 WebStorm 时能取得良好的第一印象。咱们心愿 IDE 可能对用户敌对,易于上手。同时,咱们也心愿它能帮忙用户更好地了解他们的我的项目,成为更好的开发者,无论他们应用什么技术或领有什么程度的教训。
咱们也心愿 IDE 可能解释如何运行和调试利用,提供对于代码的可操作性的见解等等。在 UI 中均衡简略性,可发现性和指导性是咱们面临的最大挑战之一。
您有什么能够与咱们分享无关您往年打算的信息吗?您最兴奋的性能或改良是什么?
很多不同的货色。与 Code With Me 合作开发,改良在 Docker 和近程机器上运行和调试代码的体验,改良共享设置等等。