When comparing MacPorts vs Tower, the Slant community recommends Tower for most people. In the question“What are the best developer tools for Mac OSX?” Tower is ranked 7th while MacPorts is ranked 20th. The most important reason people chose Tower is:
Tower has a good-looking interface and consists of 3 main views - services, repositories and repository. - Services view for managing integrations with hosting services like GitHub, Bitbucket and Beanstalk. - Repositories view for organizing local and remote repositories into folders and getting general overview about them. - Repo view that consists of two main subviews: - Working copy view shows modified files and their diff and allows wrapping up changes in a commit. - History shows commits alongside metadata and projects file structure. Additionally, it allows performing various tasks such as merging branches via drag & drop, search allows searching by message, commit hash, author, committer and file and there's a quick open that allows fuzzy-searching for folder names.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Provides a consistent experience across OS X versions
MacPorts eschews Apple-supplied libraries and links sources against its own making sure that the experience is the same regardless of what OS X version is used.
Pro Easy to use
Detailed instructions on the homepage are easy to follow. Official GUI app is also available
Pro Generally very up to date
MacPorts generally gets new software soon after it's available. This way users will not have to worry if their software is up to date.
Pro Nice variants system
MacPorts has a variants system that allows customizing builds with author provided options.
Pro Has many more packages than its competitors
As of this writing, 20K packages. 3 to 5x more than other current package managers.
Pro Requires SUDO to install apps
No need to worry if some rogue app will change your binaries or configuration.
Pro Download libraries instead of relying on Apple's caprices
Considering just how often Apple breaks things, any reduplication of of Apple-supplied libraries with the canonical sources is an asset.
Pro Fast
Written in Tcl & C, it's generally significantly faster than the competition. Tcl is also quite readable and comparable to Ruby, so it's also friendly to newcomers.
Pro Supports older Mac operating systems
Homebrew dropped support for old Macs. MacPorts still supports them.
Pro MacPorts is a native application: C + TCL
No need to install Ruby, or any other programming language.
Pro More packages than competition
Pro Apple Silicon Ready
With Apple moving over to its own silicon, macports has been ready for the move to ARM since 2.6.4
Pro Initially started and developed by Apple employees and supported by Apple itself
Reading the story behind MacPorts, it is the only one that was developed by Apple by an Apple employee. In fact it is the same person that was responsible for creating the FreeBSD port system.
Pro Great support for older systems
Pro Most of the available packages work
For example, trying to install Finch using Pkgsrc doesn't work, while installing it using MacPorts works perfectly. Finch isn't even on Homebrew's radar.
Pro Pretty, modern-looking user interface
Tower has a good-looking interface and consists of 3 main views - services, repositories and repository.
Services view for managing integrations with hosting services like GitHub, Bitbucket and Beanstalk.
Repositories view for organizing local and remote repositories into folders and getting general overview about them.
Repo view that consists of two main subviews:
Working copy view shows modified files and their diff and allows wrapping up changes in a commit.
History shows commits alongside metadata and projects file structure.
Additionally, it allows performing various tasks such as merging branches via drag & drop, search allows searching by message, commit hash, author, committer and file and there's a quick open that allows fuzzy-searching for folder names.
Pro Offers a visual way to solve conflicts
Tower shows conflicting files, their authors and the commit that made changes. It then allows selecting which files should be used in the final result.
Pro Github integration
Pro Very polished user interface
Pro Cherry-Picking via drag and drop
Pro Git LFS
Tower comes with built-in support for Git LFS. Handy when working with large files.
Pro Git-flow integration
Git-flow provide a consistent development process by defining a strict branching model that is great for managing large projects. T2 allows setting up and integrating into repos that follow this model.
Pro The UI only shows the needed commands at a time
Tower covers most of the daily tasks that a developer may need to complete. It shows only what you need for the most common tasks without overwhelming the user.
Pro Free for students
If you are a student, you can get your free Tower Pro license here.
Pro Interactive Rebase via Drag and Drop
Pro Undo Support
Many Git actions can be undone in Tower simply by using the keyboard shortcut CMD+Z. Examples: Deleting branches and files, staging changes, rebasing & merging branches, or publishing a branch on a remote
Pro GPG support
Tower offers user profiles. You can then connect GPG keys with your profiles, sign commits and see which commits have been signed and by who.
Cons
Con New Packages and Updates take time
Macports isn't the first choice for developers producing new packages or binaries for macOS. Nor is it the fastest in getting updates. But in general, it usually is one of the most up to date and will be updated eventually. Some would see this as a con in comparison to Homebrew.
Con Bad at limiting dependencies
MacPorts has a habit of pulling very specific versions of dependencies for each package. It downloads different version of already existing dependencies even in cases where the existing dependency version would have worked seamlessly.
Con Downloads unneeded libraries duplicating functionality already provided by Apple's libraries
As MacPorts eschews Apple-supplied libraries and links sources against its own a large duplication of functionality across MacPorts and Apple libraries can be found.
Con Requires root permissions (sudo) for installation of packages
A really good security feature, but some see it as a con.
Con Not free/libre
This application is proprietary, and thus cannot be modified or freely distributed.
Con Expensive
Costs $69 per year!
Con Inefficient UI
In order to not overwhelm the users with information, much of the information is either hidden by default or requires navigating to a different section to access.
Con Doesn't have a built in diff
Con Stability issues on Windows
On a simple repository, the UI often lags or freezes.