I spent 48 Hours coding in Nova and forgot about VS Code
Tags: typescript, webdev, javascript
Published: 2020-10-30 15:30:38

I spent 48 hours with Nova, a new native IDE for MacOS released by Panic on September 14th. 

Two days ago I downloaded the free trial of Nova, installed the TypeScript extension, snagged a theme, opened a TypeScript project and started coding.

Nova is fast. Files open with haste. Find in Project... delivers search results fast. There's no visible slowdown editing large files. When I open multiple text editor panes and terminals Nova doesn't skip a beat. The native IDE just works. Not everything is straight out of MacOS. According to Panic, their engineers coded the text editor from scratch after discovering some bugs in Apple’s text layout engine and ended up with a more performant experience.

![Mind blown](https://media.giphy.com/media/xT0xeJpnrWC4XWblEk/giphy.gif) 


Nova's text editor is delightful. There’s multiline editing, intuitive autocompletion, code hints. The TypeScript extension features some refactoring functionality for all those code smells. Panic found some novel uses for the MacBook Pro Touch Bar including running your npm script at the press of a button, as if typing npm run start took too long.


![Open Project Pane](https://dev-to-uploads.s3.amazonaws.com/i/81anr05tkizykr9w7kbo.png)


The design is clean and intuitive, very familiar to anyone using MacOS. Finding stuff is easy. When I click on the whimsical iconography there’s subtle user feedback. I open a dialog and find myself staring into the depths of outer space. Nova is honestly a little weird. Panic is the same company that released a handheld game device with a hand crank... because they could. It's part of the charm.


Nova has all the things you've come to expect from a modern IDE for JavaScript development. There’s extensions for TypeScript, Prettier and ESLint, Git integration, integrated terminal and development server. You can connect to a variety of servers including Amazon S3, Azure, and Rackspace, or via protocols like SSH, FTP, WebDAV HTTPS. I appreciate this feature for small projects. Panic syncs your server configurations across workstations. The nova command line tool opens files and workspaces from the MacOS Terminal.


![Split Pane Layout in Nova displaying TypeScript and Terminal Output](https://dev-to-uploads.s3.amazonaws.com/i/87l1gti19ilvmnytiws9.png)


VS Code definitely has some advantages over Nova including better Git integration, a robust debugging experience, large extension ecosystem. Despite all those wonderful features, VS Code pauses briefly before opening some files. VS Code doesn't tokenize large files because it bogs down the application. VS Code feels out of place on MacOS. Nova UI is snappy in comparison. Nova is a very capable JavaScript IDE. The performance of a native app alone is worth it, but the MacOS feel prompted me to switch.

At $99 ($49 yearly subscription after the first year), Nova is reasonably priced. If you have a serial number from Panic’s legacy IDE Coda, the initial price drops to $79. Nova is a ground up rewrite of Coda.


If you’re looking for an alternative to VS Code, [download the free trial of Nova](https://www.nova.app). You may be surprised how a native IDE can really improve developer experience.

Disclaimer: I’m not paid by or affiliated with Panic.