As robust and feature rich as most IDEs are nowadays, it is still difficult to have an “all in one” package for developing your applications. The database tool might be missing that handy view or export for the data. The graphics editor doesn’t handle layering. You just need a place to store that code snippet you found in that forum thread until you’re ready to paste it into your method.
It adds to the complication when you jump between operating systems like I do. I’m primarily a .Net developer, who uses a MacBookPro on a daily basis so that I can be in sync with all of my fellow developers when we’re working on our PHP projects. I tend to shy away from the “sharing” of files between the systems because I’ve run into synchronization issues in the past. I treat them like separate machines (using VMWare Fusion) and run in “unity mode” when I need a singular desktop type experience.
With that said, here are the tools I use on a daily basis, for both OSX and Windows 8.1:
The days of losing a full day of work when your system goes down and needs a reformat are over. With the speed of the internet, the speed of our machines, the storage of the cloud, and the power of automated builds/installs provided by KitchenPlan/BoxStarter, you can have a fresh box in mere hours now.
macOS: None (Finder)
Win: None (Explorer)
I used to use specialized file management tools, but nowadays everything has searching, zipping, and quick navigation built into it. It’s quite nice to “go native” with it.
I’ve found that I don’t do a lot of “quick” notes anymore. Most of my passwords and such are stored in LastPass and anything else that needs a quick copy/paste I do just that. “Sticky Notes” winds up cluttering up my desktop, so I try to avoid it.
For more detailed notes, such as coding snippets, registration details, personal maintenance logs, and everything else, I really like the way OneNote is organized. It is even more powerful if you pair it with a tablet to do inline image annotations. Since I can run OneNote on my Android tablet as well, I have all of my recipes handy as well.
SQL Server Management Studio has come a long way and is now the main tool I used for my database manipulation in Windows. With it’s support for Azure, clean interface, and additional export tools at my disposal, there isn’t anything in other tools that I can’t get here. One honorable mention goes to SQL Azure Migration Wizard, which helps with backup/restore scripting options.
While there is a OSX version out there, it really doesn’t have as much power or ease of use compared to the Windows counterpart. That’s why I use Sequel Pro. It’s all the stuff I love about Toad, but native for OSX, and there aren’t any special Java libraries you have to load like many other OSX database management tools out there.
It looks me about five minutes after installing Visual Studio Code to be hooked on it. It’s powerful, the plugin infrastructure is amazing, and the intellisense built into it for various programming languages works fabulous. The build in split screen view, multi-line select, and other features are on par with the other big text editors out there, but it does so much more. The TypeScript debugging I did in conjunction with a NativeScript app I’m building was nearly as powerful as a full Visual Studio Debug session. Simple or complex, VSCode does the job!
Paint.Net is such a beautiful app. It’s no photoshop, nor do I think it ever wants to be one. But for me, all I need to do is to resize an image, or maybe strip out the background to make it transparent, or potentially build a simple button using a couple of layers. It has all of the core tools you need, plus some nice layer filtering to help create special effects. It’s free too!
I really haven’t found an equivalent for OSX. Gimp is nice, but I think there is a bit of a learning curve to it so I use it only when absolutely necessary for simple tasks. So I’ve started working with ProPaint a little, since it was free for a while, and it seems to cover the basics, so that might do the trick for the time being.
Google Chrome is the defacto web browser now for my web dev needs. The developer tools it provides are robust, and don’t suffer from occasional glitches that I encountered through Firefox Developer edition. The plugin architecture makes it easy to pretty print JSON output or enable CORS on the fly for a given site without additional work. The device toolbar makes it easy to do responsive layout testing on the fly. If you really need to do heavy mobile debugging, you can plug your Android device into your computer, launch Chrome on the device, and then debug it in Chrome on your desktop. Most (if not all) the major browsers provide these features in some form or another, but over time Chrome has risen to the top with its quality.
Web API Testing
Building apps that tie into an API, as opposed to a traditional “code behind / post back” model that has been in place for a long time now. Having a WebAPI also allows you to build mobile or client side apps that can be thinner and reuse existing code. To get the most out of my API testing, Postman does the job. You can customize environment variables (local/test/prod), setup test scripts, and easily inspect the resulting JSON (or XML) without a lot of poking around in Chrome or another browser. Previous tools have been bulky and complex, where Postman is lean, quick, and effective. You can even export (or share) your collections with team members so they can easily work with the API.
Security continues to grow in importance and has trickled down into day to day development. It isn’t safe to have passwords sitting in a document somewhere, even behind a login. Using the same password multiple times is not safe either. LastPass provides a secure password vault in which you can keep your passwords, and have them autofill into the browser (though their plugin). It will also generate strong passwords for you on the fly, which is quite handy. Secure notes allow you to keep things like FTP credentials safe as well. With an enterprise subscription, you can create groups (which we do for work) and share those password resources with others in a secure manner.
Blogging has become more important to me, as a means of “sharing the love” as well as getting some thoughts out of my brain for introspection. Desk is such an amazing app that takes all the clutter out of the way and allows me to just right. It is feature rich enough to support my code snippets and optional embedding, but doesn’t overdo it. It is well worth the investment.
So what about you? What tools are in your arsenal? I’m always looking for new ones!