Need advice about which tool to choose?Ask the StackShare community!
Nuclide vs WebStorm: What are the differences?
What is Nuclide? An open IDE for web and native mobile development, built on top of Atom (by Facebook). A unified developer experience for web and mobile development, built as a suite of packages on top of Atom to provide hackability and the support of an active community.
What is WebStorm? The smartest JavaScript IDE. WebStorm is a lightweight and intelligent IDE for front-end development and server-side JavaScript.
Nuclide and WebStorm can be categorized as "Integrated Development Environment" tools.
Some of the features offered by Nuclide are:
- Remote development. At Facebook, our web and back-end engineers work on remote development servers in our data centers. Nuclide provides a pair of packages that allow connections over SSH to a lightweight node daemon on the server, making possible remote file editing and syntax/type validation. Of course, this also works for VMs, enabling local development on HHVM, for example.
- Hack language support. The Hack codebase is one of the largest at Facebook. First-class Hack support — including syntax highlighting, type-checking, autocomplete, and click-to-symbol features — has been an important requirement on Nuclide from the start. We're also excited that the growing Hack community outside the company will be able to enjoy dedicated IDE support.
- Flow support. For both local and remote JavaScript development, Flow has brought type integrity and the ability to quickly refactor our React components and apps. As it does for Hack, Nuclide supports Flow-specific decorations and editor features in @flow-annotated files.
On the other hand, WebStorm provides the following key features:
- Coding assistance for JavaScript and TypeScript
- Support for React and Angular
- Built-in debugger for client-side JavaScript and Node.js
"Remote development with SSH" is the primary reason why developers consider Nuclide over the competitors, whereas "Intelligent ide " was stated as the key factor in picking WebStorm.
Nuclide is an open source tool with 8K GitHub stars and 747 GitHub forks. Here's a link to Nuclide's open source repository on GitHub.
According to the StackShare community, WebStorm has a broader approval, being mentioned in 463 company stacks & 435 developers stacks; compared to Nuclide, which is listed in 8 company stacks and 5 developer stacks.
When I switched to Visual Studio Code 12 months ago from PhpStorm I was in love, it was great. However after using VS Code for a year, I see myself switching back and forth between WebStorm and VS Code. The VS Code plugins are great however I notice Prettier, auto importing of components and linking to the definitions often break, and I have to restart VS Code multiple times a week and sometimes a day.
We use Ruby here so I do like that Visual Studio Code highlights that for me out of the box, with WebStorm I'd need to probably also install RubyMine and have 2 IDE's going at the same time.
Should I stick with Visual Studio Code, or switch to something else? #help
If you're working with both Ruby and JavaScript, buy RubyMine and shut down the other two. It's much better for Ruby than Visual Studio Code is. It can also do everything WebStorm does, if you install the plugins you need from JetBrains, and they all work together nicely.
If you install RubyMine, you shouldn't need WebStorm, as all the functionality of WebStorm appears to be included in RubyMine. (See here: https://softwareengineering.stackexchange.com/a/132950).
I've used PhpStorm for several years and have never needed to open (or even download) WebStorm for anything front-end or JavaScript related.
I work at the same company as you and I use WebStorm for 99% of my tasks. I also have RubyMine installed and use that when I have to tweak some backend code. I tried using RubyMine for JavaScript but was unhappy with how it felt and I believe that WebStorm is faster because it has less plugins and language extensions running. Summary: Buy and use WebStorm for primary development and keep VS Code around for when you have to touch Ruby.
JetBrains all the way - my entire team uses PhpStorm and none of us would even consider switching.
The availability of IDEs for other languages along with consistency in environment and keyboard shortcuts is also a godsend, which is the reason I'd also choose Rider over Visual Studio (but also VS for Mac is trash, but I digress...)
I've never had much issue running multiple IDEs and generally pick them based on the languages they best support. For front end work where I mainly use TypeScript, I stick heavily with Visual Studio Code. However, for backend work which we do primarily in Python, PyCharm is my go-to editor. The one thing that I do however is I do remap keyboard shortcuts so I get consistent keyboard ability even when I switch IDEs.
If I have to choose one I would go with VS Code; it’s become pretty mature and keeps getting better. If those plugins are creating problems for you then just uninstall them, find an alternative, or make a PR to fix. But at the end of the day these are IDE’s and they are meant to save you time. I would go with whatever helps you develop code faster. If restarting VS code slows you down then make a switch, that personally would annoying the crap out of me. Else maybe it’s a quick restart, not the end of the word, hopefully someone will fix at some point.
Visual Studio Code is a text editor. And this is best option in my opinion. For Ruby, I cannot say how VS Code is good. If you wanna choose IDE, RubyMine should fit your needs. Because IDEs are more compatible with major needs. But text editors are just text editor. You can do same things with also text editors. I recommend to try both VS Code and RubyMine. And you will be able to find which fits better for your needs
So here is the deal man, bottom line you want to write code. All of these tools are built in a mouse-driven world, they are designed not for engineers, but office monkeys. If you want a real workflow that gives you ultimate performance, customization and speed you need to use a modal editor, I suggest NeoVim. Start using it 20% of the time on single file edits, watch youtube videos about it and teach yourself vim gestures. It will infuriate you for 6 weeks, make you cry for another 2 months. But as you use it more, as long as your usage goes over 40% of the time, in 6 months you will understand why most of the world's too engineers use it. Settling on lesser editors out of laziness is exactly the attitude that results in shitty the engineering. Yeah it's hard. You're smart. You do hard things. Once it isn't hard anymore you will blow yourself away at how much more efficiently you edit files.
Also vim keybindings in a mouse driven editor does not cut it. Managing files, buffers and workflow is half of the value of vim/neovim. It is OK if you have to use an IDE (currently I only use an IDE for java development, so I have little choice)
So use VSCode while you teach yourself vim.
Well you can try for a while MacVim because it is already configured with tons of plugins. My favourite text editors are Sublime Text and TextMate which are lightweight and speedy. My feeling is that JetBrains IDEs are making you brainless.
If you find something that works and are comfortable with it, stay with it. Changing IDE's and learning their idiosyncrasies takes valuable time away from programming while learning setups and keyboard short cuts. I personally use VS Code for cost and decent multiple language support. I've had issues occasionally with it locking up, but it is under heavy development and continually improving. I have also found it more intuitive for new programmers. ** Having profiles for different languages can reduce the amount of plugins running and issues they can cause.
I usually have both running but do the bulk of my language work in the appropriate JetBrains flavor. One thing to watch out for in VS is that under the hood it is running the tools needed for whatever language you are working with. This is where tools like JetBrains shine. While I am sure you can tune the heck out of what you use in VS, the provides context and clarity...
I'm personally a Visual Studio Code fan. I've used it for both Go and Java. It really depends on the quality and support of the plugins. Typically VS Code doesn't crash as much as a bad plugin causes an unforeseen error. Make sure you stay up to date and look at alternative plugins.
An integrated development environment software with huge potential in the future is VS Code. So I would personally say you can use VS code.
Are you using the prettier-vscode
VSCode extension or prettier
via prettier-eslint
?
The prettier-vscode
extension recommends you...
Use prettier-eslint
instead of prettier
. Other settings will only be fallbacks in case they could not be inferred from ESLint rules.
Pros of Nuclide
- Remote development with SSH8
- Open Source7
- Very Fast4
- Built By Facebook4
- Autocomplete4
- Web and mobile development4
- Free2
- Smart auto-completion2
- Can do anything Atom can2
- Git integration1
- Support for Flow1
- VIM integration1
Pros of WebStorm
- Intelligent ide187
- Smart development environment128
- Easy js debugging108
- Code inspection97
- Support for the Latest Technologies95
- Created by jetbrains55
- Cross-platform ide53
- Integration36
- Spellchecker30
- Language Mixing/Injection24
- Debugger11
- Local History10
- Web developer can't live without this8
- Fast search7
- Git support7
- Angular.js support6
- Sass autocompletion6
- Better refactoring options5
- FTP5
- There is no need to setup plugins (all from the box)5
- Show color on the border next to hex string in CSS5
- Smart autocompletion5
- JSON Schema5
- Awesome5
- Built-in js debugger5
- Running and debugging Node.js apps remotely5
- Easy to use4
- A modern IDE stuck in the 90s4
- TypeScript support4
- Smart coding assistance for React4
- Node.js integration4
- 1114
- Protractor support out of the box4
- Intelligent4
- Paid but easy to crack4
- Dart support3
- Solid intelligent features3
- Great app3
- Integrated terminal3
- Vagrant and SSH Console3
- Free for students3
- Unused imports inspection3
- Docker intergration3
- Remote Files Syncronization2
- Grate debug tools for React Apps2
- Easier to keep running than eclipse2
- Auto imports1
- Vim support1
- Rename helpers1
- Auto refactoring helpers1
- Less autocompletion1
- GIT partial commits1
Sign up to add or upvote prosMake informed product decisions
Cons of Nuclide
Cons of WebStorm
- Paid4
- Expensive1