Need advice about which tool to choose?Ask the StackShare community!
Nuclide vs PhpStorm: 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 PhpStorm? Professional IDE for PHP and Web Developers. PhpStorm is a PHP IDE which keeps up with latest PHP & web languages trends, integrates a variety of modern tools, and brings even more extensibility with support for major PHP frameworks.
Nuclide and PhpStorm belong to "Integrated Development Environment" category of the tech stack.
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, PhpStorm provides the following key features:
- Smart PHP Code Editor
- Code Quality Analysis
- Debugging and Testing
"Remote development with SSH" is the primary reason why developers consider Nuclide over the competitors, whereas "Best ide for php" was stated as the key factor in picking PhpStorm.
Nuclide is an open source tool with 8K GitHub stars and 745 GitHub forks. Here's a link to Nuclide's open source repository on GitHub.
According to the StackShare community, PhpStorm has a broader approval, being mentioned in 646 company stacks & 502 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.
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.
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.
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...
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.
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 PhpStorm
- Best ide for php287
- Easy to use232
- Functionality218
- Plugins166
- Code analysis160
- Integrated version control87
- Great php ide for mac76
- All-round php ide73
- Local history62
- Themes53
- Best PHP IDE18
- Database control11
- Easy to find anything and everything in your code10
- Best bebugging9
- Best inspection variable9
- Command line integration7
- Great frameworks integration7
- PHPUnit integration7
- Getting Better7
- UX7
- Composer integration6
- Performance6
- Coolest IDE6
- Real time code validation5
- Easy to use and github interaction5
- Neat does the job and easy5
- Best ide for advanced php and symfony5
- Best ide for php4
- TypeScript support4
- Code indexing4
- It has no match. it filled one of the biggest void4
- Fast and relevant auto-complete4
- Great refactoring support4
- Cross platform4
- Integration with Vagrant and Docker3
- Debugger for Javascript3
- Good3
- Very good3
- Debugging in the Just-In-Time Mode2
- Perfect locahost / host sync2
- Awesome debugging features2
Sign up to add or upvote prosMake informed product decisions
Cons of Nuclide
Cons of PhpStorm
- Uses a lot of memory14
- Does not open large files10
- Slow9
- Uses Java machine8
- No way to change syntax highlight for files without ext3
- No save prompt or asterisk on file change2