Seth's profile picture

Published by

published

Category: Web, HTML, Tech

Web Dev Setup macOS Edition

I am a programmer by trade, mostly on the web stack, but I like to fiddle around with just about everything. Below is my "development stack" that I use every day. I hope you find something useful in here.


Terminal

I've used Terminal and iTerm2, and I just stick with the regular Apple Terminal. Don't get me wrong, I love some of the features of iTerm, but Terminal seems to get the job done for me.

Zsh with Oh My Zsh

I don't like playing around too much with my shell interface, as it just seems like an endless rabbit-hole. Zsh is an excellent shell and Oh My Zsh has great configuration out of the box.

asdf-vm

A wonderful tool for managing multiple versions of various programming languages and frameworks on your system. Does not require root privileges and switching versions is a cinch.

Vagrant and Parallels/VirtualBox

I use this daily to access a local virtual environment similar to production. On their own, Parallels and VirtualBox are amazing tools, but being able to script it with Vagrant is a real time saver for our team. I also prefer Parallels over VirtualBox as it seems to perform better and can use as many resources as you tell it to, unlike VirtualBox, which is constrained (looking at you VRAM).

Docker

I don't currently use it that much in my day job, except to run PHP static analysis tools that IntelliJ simply can't do on its own. For personal projects, it's a lifesaver being able to spin up what I need when I need it.

IntelliJ IDEA Ultimate

My preferred IDE for PHP/JS development. Though I do use VSCode and VIM regularly, I just like the all-in-one functionality IntelliJ offers. Specifically, I can access relational databases, perform complex git actions with relative ease (Git Kraken also helps with this), and it has by far the best and fastest search of any editor I've used. The Ultimate version is worth the price. You essentially have all the IntelliJ IDE's in one (PHPStorm, WebStorm, DataGrip, Android Studio, etc).

VSCode and VIM

Visual Studio Code is probably one of the fastest complex Electron apps currently being developed. I love the tight integration with TypeScript and JavaScript and use it whenever I want to jump into other languages like GoPython, or Rust. It's also a fantastic HTML editor. The remote session feature is really neat too. You can SSH into a server using VSCode and work on files as if you were there. VIM is something everyone should learn. It's practically a guarantee it will be on any linux/unix server you connect to (vi is part of POSIX) so you can always count on it. Learning the keybindings takes a while, but once you get good at moderate navigation, you'll wonder why you used anything else to look at or edit files. I mainly use it to edit config files.

Paw REST Client

I don't think I could go on without this marvelous tool. I've used many REST clients over the years, and apart from one subscription based one that shall not be named, this is definitely the best. It's a native app only for macOS that supports a wide range of advanced features and functions. I was using Insomnia for some time, but it was missing some built-in functions that I just didn't want to spend time making plugins for. I use this tool extensively to mock, test, and debug API requests as I am developing them. In addition, I use it to communicate with third party API's that I integrate.

Proxyman MiTM Web Proxy

Proxy all your requests through this application to make it easier to debug issues. I find it useful for intercepting sent and returned data to and from the web browser to test new features, break existing ones, and resolve issues. Also quite handy for web app security.

Mimestream

Simply the best GMail client for macOS. Uses the GMail API directly for many features instead of IMAP, making it very well integrated. The app is native and looks fantastic even on the new Big Sur update. While in development, the app is free to use. New features seem to be added regularly as well as bug fixes.

Slack

For Slacking off. Our office loves the custom emoji feature and after muting and re-organizing channels, I don't find it all that intrusive. Much better than our previous chat system.



Well that's about it. Most stuff is cross platform, but apps like Mimestream, Paw, and Proxyman are Apple only. Alternatives exist for everything. I hope this post provides some insights into working productively on your mac.


2 Kudos

Comments

Displaying 3 of 3 comments ( View all | Add Comment )

Seth

Seth's profile picture

Microsoft has definitely stepped up their game the past few years in terms of developer tools. The new Chromium-based Edge is slick. Definitely a good alternative to Google. I'll have to check out Charles. Thanks!


Report Comment

Violation

Violation's profile picture

Oh but instead of Proxyman I use Charles sometimes. I'll have to check that one out! Nice


Report Comment

Violation

Violation's profile picture

Nice list. When I'm working the only apps I have open on my MacBook are (Chromium) Edge and VS Code. Never thought I would be developing with MS software again lol. I like using the installed web apps for Spotify and Slack and such so that I'm not running a bunch of Electron apps.


Report Comment