WebStorm is an integrated development environment (IDE) by JetBrains. Designed for JavaScript and TypeScript development, WebStorm also aims to make it easy to tackle the most challenging tasks. Whether resolving Git merge conflicts or renaming a symbol across multiple files, it takes just a few clicks.
$0
per year
React (React.js)
Score 8.8 out of 10
N/A
React or React.js is a JavaScript library for building user interfaces. React enables users to create interactive UIs.
While this is a widely contested debate with various blog posts and benchmarks all over the place, its really a personal choice to determine what works for the team. Coming from a Angular 1.x background, I decided to try a new framework when Angular 2.x was announced and at …
Groups that use a [variety] of development environments (.net, python, web), Jebrain's products and Webstorm, in particular, are a great choice for productivity. If your developers are accustom to another IDE it might be better for all to sync on the same one. I wouldn't take the cost aspect as a consideration. A productive developer is far more important.
React is a JavaScript user interface construction library that works well for:
Developing web apps with dynamic and complicated user interfaces.
creating reusable UI elements that may be used in other applications.
creating single-page applications with dynamic content updates that don't require a page reload.
The Virtual DOM's effective updating mechanism allows it to handle large volumes of data updates.
React, on the other hand, might be less suitable for:
Websites that are simple, stagnant, and have no interaction. Other libraries or simple HTML, CSS, and JavaScript may be a better fit in such circumstances.
Web sockets may be a better choice for applications that need real-time updates, such as chat or gaming apps.
When creating mobile apps, React Native is a better option.
Server side rendering only, as React is designed to run on the client side.
React is fantastic for building performant user interfaces. Our web app is snappy and great for our customers.
React has the philosophy of doing one thing and doing it well which is the view layer of the application. This makes it incredibly intuitive and flexible for developers to use.
React has lead the way in being able to write modular and structured code. It is a drastic improvement since the days of spaghetti jQuery code.
React has an unmatched community. The amount of tools and libraries available is fantastic, and there plenty of solutions available online for common problems.
The popup file search sometimes frustrates me. It caps the number of results, and sometimes it isn't clear that it simply stopped looking. I also used to have trouble finding string occurrences that I knew were in my project, but I think they've made improvements in this area recently.
Being a AAA IDE, WebStorm can be a memory hog. If I don't kill it every few days, it can get really slow. I would love to see performance improvements.
Speaking of performance, WebStorm can take a long time to launch. I'd like to see improvements in launch times.
Debugging React is challenging. Bugs in react code generate stack traces internal to React and it is often totally unclear how it relates to the code you actually wrote.
Relating your React elements to corresponding DOM elements is difficult. The intentional separation of virtual and actual DOM also makes it difficult to map the elements to the structures in the DOM. This is partially ameliorated by the use of the React dev tool, which provides a DOM-like view of the React elements, but the tool still does not provide a direct correspondence with the DOM that is often necessary to figure out why something isn't right.
Because JSX is React-specific and not a language feature, a special compilation process is necessary to convert JSX code to normal JS. Coming from a C++ background, compiling things doesn't bother me, but many JS developers are used to a less structured development.
Great in debugging, testing, developing and maintaining softwares in a number of languages. Great support for many languages and their syntaxes. Great support of many third party extensions and plugins like GIT and html plugins. The RAM usage of WebStorm however could be really improved, it literally takes almost all of the RAM of my machine with 16GB RAM
React is just a bit of a different animal. I was avoiding it for the longest time. I thought for sure I would land on Vue or something else with a more approachable and familiar appearance. But after taking an online course in React, I started realize what people were raving about (and complaining about) and decided to implement it at our office for one of our products.
I gave this rating because I have never needed their customer support, which is the highest level of support I suppose. When a product works just fine out of the box and everything you may need is well documented, it's a paradise for the customer. But I've seen some questions asked on their portal, and I've seen thorough answers given to the questions and the willingness to support the customer with follow-ups and everything else.
Since it's open-source and very popular, the community support for React and related tools and libraries is excellent. There are a lot of people using the same tools, and so issues tend to get fixed quickly and "recipes" are easy to come by. And since it's backed by Facebook, they have a dedicated engineering team working on the progression of React.
I think WebStorm is way ahead of open-source editors. Please don't get me wrong, I love open-source. But the other free editors have a lot of configuration which blocks my whole coding experience. Take "Atom" for example. I used it for about 3 months, but in that time I had to update the plugins hundreds of time, and for every little thing (e.g. linter) I had to download a community plugin, and with each plugin atom would get a little slow. Take "Eclipse" for another example, which is very suited for Java, but not so suited for JavaScript. Sublime was good, but WebStorm comes with many exciting features that I did not find in sublime/notepad.
While this is a widely contested debate with various blog posts and benchmarks all over the place, its really a personal choice to determine what works for the team. Coming from a Angular 1.x background, I decided to try a new framework when Angular 2.x was announced and at that time React is gaining popularity and Vue hasn't taken off yet. Compared to Angular 1.x and Vue (hybrid of React and Angular) that split the logic from the html templates, I loved the way React breaks code into components using the jsx syntax. In my mind, this allows for cleaner components and easier maintenance