Ask Me Anything Session with the WebStorm Team: Answering Your Questions

Hooray! With our first Ask Me Anything session now behind us, we’d like to sincerely thank everyone who took part in it! We received more than 100 comments and lots of valuable feedback from you all. We are no longer answering new questions under the related post on Reddit, but you can always reach out to us on Twitter, via a support ticket, and on our issue tracker.

Below we’ve collected the most interesting and frequently asked questions from this AMA session. The full list of questions and comments can be found here. We’ve split the questions we collected into two categories:

General questions about JetBrains and company-wide plans

Q: Collaborative development is the most requested feature on YouTrack and it’s been a work in progress since March. Do you have any planned release date for it?

A: Development for that is still ongoing. We can’t share a specific release date, but we’ll announce the Early Access Program for it very soon. Stay tuned!

Q: Any chance you could work on remote development over SSH or through WSL, to compete with VS Code?

A: Yes, we’re working in that direction. Please follow this issue for updates.

Q: Do you plan to support WSL 2 folders? It’s something that still forces me to use other editors.

A: Yes. Our IDEs already support some development workflows with WSL. It’s possible to open projects located in the WSL 2 file system and use Node.js, Git, and other tools installed in WSL from the IDE. We are continuing to work on it. The next milestone is to add our own file system watcher to WSL to receive file events faster.

Q: At what level do JetBrains IDEs share development, features, and code?

A: We have a common core that is called the IntelliJ Platform. All our IDEs are built on top of that platform and consist of a set of plugins. For example:

  • WebStorm = Platform features + the JavaScript and TypeScript plugin + the CSS plugin + ~20 other plugins related to JavaScript.
  • PhpStorm = Platform features + the JavaScript and TypeScript plugin + the CSS plugin + the PHP plugin + the database plugin + ~30 other plugins related to PHP and JavaScript.

So, PhpStorm includes the same JavaScript and TypeScript features that WebStorm has because it uses the same JavaScript and TypeScript plugin. This is true for all of our other IDEs, like GoLand, IntelliJ IDEA Ultimate, and PyCharm Professional.

There may also be some additional customizations, mostly for the UI, that are specific to the IDE and its target audience, e.g. regarding which tool windows are shown by default or which keymaps are bundled, but they are minor.

The platform and the plugins for all the IDEs are stored in a monorepo. All developers have access to it and can modify all the code in that repo.

Q: What IDE do you use to develop WebStorm and the other IDEs?

A: We use IntelliJ IDEA Ultimate, of course!

Q: What’s your favorite thing about working for JetBrains?

A: Piotr Tomiak, WebStorm Software Developer: In short – everything! I think the most important thing is that JetBrains has a great company culture. You have amazing co-workers, a direct impact on the product, and the satisfaction of being able to provide tools to hundreds of thousands (if not millions) of people worldwide.

Ekaterina Ryabukha, WebStorm PMM: For me, it’s the freedom to be creative at work and to try new things.

Konstantin Ulitin, WebStorm Software Developer: Besides what has already been mentioned, I like receiving feedback directly from WebStorm users. Even if it is only a bug report, it means someone used this functionality and liked it enough to report an issue.

Andrey Starovoyt, WebStorm Team Lead: Actually, I started to write “Everything” and then I noticed that Piotr wrote the same thing. Freedom, trust, culture. Also, I love to write tools for developers because I am a developer.

WebStorm-specific questions

Q: How is WebStorm working to compete with VS Code’s hegemony, what are its differentiations and advantages over VS Code?

Related, I know something convenient about VS Code is that it’s open source and written in JavaScript. In the future, will Webstorm be open to making the platform more open source, and offering an easy way to use JavaScript within the whole JetBrains ecosystem to extend its functionality?

A: To your first question, we continuously monitor the feedback we get from our users, trying to understand our weaknesses so we can focus on improving the most important things. For example, we understand that competing tools may sometimes be faster than WebStorm and have been working on making WebStorm more lightweight.

The main reason people choose our tools is that you get all the functionality out of the box. You don’t need to worry about installing and maintaining plugins like you do if you use VS Code. Among other things, our users tend to value our IDEs for their refactoring capabilities, Git integration, and the ability to work with large codebases more reliably – all of these are still our strong differentiators. If you want actual feedback from our users, you can check out these customer interviews or explore the Likes section of WebStorm’s Twitter account.

As for your second question, the platform that WebStorm is built on top of and the many plugins for it are already open source. We try to support those who want to develop plugins for our IDEs in multiple ways. For example, there’s a Slack channel created for this purpose. Because we have products for various languages, choosing a default language for building the plugins for those products isn’t as simple as we may want it to be. At the moment, we plan to improve the documentation about our platform’s API and write more comprehensive tutorials on how to build plugins. We’ll try to make this information helpful for JavaScript developers, too.

Q: I’ve always wanted to try WebStorm but I’ve been intimidated by the 30-day trial thing. Will you ever consider a community edition like PyCharm?

A: Unfortunately, a community edition doesn’t seem possible right now, mainly because WebStorm’s functionality is included in our paid IDEs. If we made such a radical change, we’d have to restructure a lot of other things. It’s a significant commitment that we aren’t ready to make at the moment.

We try to support the community in other ways, though, such as by giving away subscriptions to open-source projects and students. You can learn more about our special offers here. Also, you can try our EAP builds that are free to use and are available three times a year.

Q: What are the plans for Deno?

A: We added support for Deno to v2020.1+ this June. You can get it through the corresponding plugin (see this blog post for more info), which we maintain and support. We plan to make this plugin more discoverable by adding it to the list of featured plugins. At the moment, the plugin isn’t bundled with WebStorm or other JetBrains IDEs. This may change later depending on the popularity of Deno and the feedback we get from our users.

Q: What’s up with Svelte support?

A: We don’t plan to add out-of-the-box support for it at the moment, but we’ve started collaborating with the author of the popular Svelte plugin, who has already done outstanding work on it, to enhance the Svelte support available with this plugin. We’ll keep helping with that. Here’s the related feature request that you can follow for updates.

Q: Are there any plans for further improvements for Vue 3 in the upcoming releases?

A: Yes, and quite a lot of them! We want to implement support for all of the new features introduced in Vue 3 and enhance our Vue application model with new information available in TypeScript typings for components, so that we can show precise completion and perform type checking within the Vue template expressions.

Q: How do you test WebStorm as an application in development? What are your KPIs as a project?

A: We adopt many common software testing practices, including unit, integration, and performance testing. We also have a QA team. More specifically, we have around 15000 tests for the key features like completion, inspections, and refactorings. These tests are executed without running the full IDE – only required parts are loaded. When a developer implements new functionality or fixes a bug, they add a test. Then a QA engineer verifies the changes. Before the release, all major improvements are smoke-tested again.

Some integration tests require us to start WebStorm fully. For example, this is needed to test project generators or check the performance of indexing and syntax highlighting. For such tests, we’ve collected a set of open-source JavaScript and TypeScript projects. Besides that, some of our colleagues at JetBrains use WebStorm and help us with hard-to-reproduce issues. We get in touch with them directly and investigate problems together.

Our main KPI is the satisfaction of our users. This is hard to track, but we can get a sense of it based on the number of new issues in our tracker, support requests, downloads, active users, and so on.

Q: Around 4 years ago, WebStorm seems to have had a lot of trouble keeping up with the quickly evolving JavaScript landscape. Now it seems that for the most part WebStorm has caught up, and now handles most of the JavaScript ecosystem really well across the board. Do you agree that the evolution of JavaScript has slowed down a bit, making life easier for your team since you don’t have to develop so many big new features?

A: Thanks for such an interesting question! The short answer is yes, we feel that there’s less to react to than five years ago, but the new technologies being released are more advanced now, and user expectations in terms of the support offered by the IDE are high.

JavaScript itself is still evolving quite a bit. The process established by TC39 has definitely made it easier for us to track the status of proposals and implement support in a timely fashion. It also feels like fewer people than before use JS features that are in their very early stages via Babel plugins (which is good for us).

As for JavaScript frameworks, it’s fair to say that the three major frontend frameworks are now very mature and have a well-established ecosystem. However, the maintenance cost is still rather high because of the regular (and often internal) changes both in the frameworks themselves and in related libraries.

For us, adding first-class support for a new framework is a huge investment and it takes a couple of years to reach the level of the support we have, say, for Angular. Because of that, we try not to rush into supporting new frameworks ourselves, instead opting to help the community develop plugins when possible.

In general, we feel that the community is still very much open to the new frameworks, libraries, and technologies in general. Some recent examples include Svelte, Tailwind, and Deno. There are also lots of exciting things happening on the data layer with platforms like Apollo and Prisma.

So to sum it up, we’re still pretty busy and have lots of great technologies to support!

These were just some of the popular and interesting questions asked. If you want to find all the questions that were asked, you can find them here.

The WebStorm team

image description