When comparing zsh vs CodeKit, the Slant community recommends CodeKit for most people. In the question“What are the best power user tools for macOS?” CodeKit is ranked 20th while zsh is ranked 50th. The most important reason people chose CodeKit is:
Everything you need to get a project started is included with CodeKit. Thanks to the professional support, different components of the workflow pipeline are guaranteed to play nicely with each other without you needing to do the research on how to configure them. More advanced features that may require extra configuration to set up with other workflow wrappers are set up out of the box in CodeKit, like automatic browser updating, linting, and source maps.
Ranked in these QuestionsQuestion Ranking
Pro Interactive autocompletion
When you start typing a command, you can press the tab key and it will complete the command you started typing. If there are multiple potential commands, you can choose which one to run by simply pressing tab again. Case-insensitive by default, too.
Pro Autocomplete for options
Zsh intelligently determines if you are trying to complete a file path or an option, and pressing tab after typing
- will reliably bring up a list of options.
Pro Powerful community-driven tools via oh-my-zsh
Oh-my-zsh is a community-driven framework, which helps users with their zsh configuration and plugins. 400 plugins, 200+ themes and auto-updates to always be up to date.
Pro Good bash compatibility
Things you've learned using bash will largely apply to zsh. Scripts written in bash will run with little to no modification.
Pro Shared histories
If you spend a lot of time in the terminal, most likely you will have several terminal windows open. Zsh has great support for command line histories. The history is unique and shared through all the different instances.
Pro Recursive globbing
ls **/*.log for example is supported by ZSH.
Pro Pipe output to a temporary file:
Some programs don't support loading from stdin, but ZSH can store outputs to a temporary file, example:
unzip =(curl http://example.com/someZipFile.zip)
Pro Smart escaping
Zsh can determine the context of the command you're typing in and determine if it should escape characters if you're typing in a URI.
Pro Great install procedure
Zsh will take you through a procedure which is roughly 30 minutes in length before during install. Through this procedure it asks you to set different options and customize the shell the way you want it to. Most of these settings are also found in other shells, but to customize them you have to go dig configuration files while zsh allows you to do it in the beginning.
Pro Faster spelling correction
Zsh' s correct (or correctall) is vastly superior to Bash's attempt at spelling correction.
Pro Everything is set up for you
Everything you need to get a project started is included with CodeKit. Thanks to the professional support, different components of the workflow pipeline are guaranteed to play nicely with each other without you needing to do the research on how to configure them.
More advanced features that may require extra configuration to set up with other workflow wrappers are set up out of the box in CodeKit, like automatic browser updating, linting, and source maps.
Pro Provides a clean and modern GUI
CodeKit has a clean and intuitive graphical user interface out of the box. Most other tools in this category run as command line utilities or require unsupported third-party plugins to run with a GUI.
The CodeKit GUI makes it easier to navigate and manage the various components of your project with helpful UIs like dropdowns, and views that provide extra details without having to run a separate command.
Pro Live browser updating built in
CodeKit has live updating built in and will update monitored files across multiple browsers and devices, and refresh CSS without a new page load. Other workflow wrappers have live updating, but they require extra configuration. With CodeKit, everything is set up for you so you can get it up and running in no time at all.
Pro Interactively define how files compile with a GUI
You can navigate your project directory, and use a menu form to set up how it gets compiled without needing to read configuration documentation, or deal with configuration errors. On top of that, file watching and recompilation is built in with no extra configuration needed.
Pro Great value for money
At a one time cost of $29, it's a great deal considering how powerful and easy to use it is.
Pro Visual package management with Bower
CodeKit provides a clean GUI for Bower that makes it easier to navigate and get information about modules without having to deal with a command line interface.
Pro Connects with MAMP
You can use it to, for example, live-update server-side PHP by establishing a connection with your local MAMP server.
Pro Don't have to worry about vendor prefixes due to Autoprefixer support
Autoprefixer automagically adds vendor prefixes based on latest information.
Pro Reduces size of compressed images
CodeKit provides a powerful tool to automatically reduce the size of compressed images and production web code.
Pro Live pre-processor and script compilation
Pro Has over 6k componenets
Install 6,000+ Bower components with a single click: Bootstrap, jQuery, Modernizr, Zurb Foundation, even WordPress.
Con Defaults are unfriendly for a long-time bash user
Expect to find a configuration you like (or use the configuration utility) to set reasonable preferences. Default zsh interaction is different enough to make you stutter through what used to be familiar workflows.
Con Requires a lot of configuration to be used fully
Zsh requires a lot of tinkering with configuration files and downloading plugins in order to be able to do tasks which other shells may be able to do out of the box.
Con Not fully compatible with bash
There is a small chance you may have a bash script that doesn't work in zsh, although this is very very rare and most developers will never run into any issues.
Con Mac only
This is a major problem for larger teams that have varied development environments.
You get only the tools that are provided by the application.