SourceTree vs Xcode: What are the differences?
Developers describe SourceTree as "A free Git GUI client for Windows and macOS". Use the full capability of Git and Mercurial in the SourceTree desktop app. Manage all your repositories, hosted or local, through SourceTree's simple interface. On the other hand, Xcode is detailed as "The complete toolset for building great apps". The Xcode IDE is at the center of the Apple development experience. Tightly integrated with the Cocoa and Cocoa Touch frameworks, Xcode is an incredibly productive environment for building amazing apps for Mac, iPhone, and iPad.
SourceTree and Xcode are primarily classified as "Source Code Management Desktop Apps" and "Integrated Development Environment" tools respectively.
Some of the features offered by SourceTree are:
- Full-powered DVCS
- Create, clone, commit, push, pull, merge, and more are all just a click away.
- Review your outgoing and incoming changesets, cherry-pick between branches, patch handling, rebase, stash, shelve, and much more.
On the other hand, Xcode provides the following key features:
- Source Editor
- Assistant Editor
- Asset Catalog
"Visual history and branch view" is the primary reason why developers consider SourceTree over the competitors, whereas "IOS Development" was stated as the key factor in picking Xcode.
According to the StackShare community, Xcode has a broader approval, being mentioned in 1039 company stacks & 585 developers stacks; compared to SourceTree, which is listed in 615 company stacks and 400 developer stacks.
What is SourceTree?
What is Xcode?
Need advice about which tool to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
Sign up to add, upvote and see more consMake informed product decisions
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
I've recently switched to using Expo for initializing and developing my React Native apps. Compared to React Native CLI, it's so much easier to get set up and going. Setting up and maintaining Android Studio, Android SDK, and virtual devices used to be such a headache. Thanks to Expo, I can now test my apps directly on my Android phone, just by installing the Expo app. I still use Xcode Simulator for iOS testing, since I don't have an iPhone, but that's easy anyway. The big win for me with Expo is ease of Android testing.
The Expo SDK also provides convenient features like Facebook login,
MapView, push notifications, and many others. https://docs.expo.io/versions/v31.0.0/sdk/
As a Engineering Manager & Director at SmartZip, I had a mix of front-end, back-end, #mobile engineers reporting to me.
Sprints after sprints, I noticed some inefficiencies on the MobileDev side. People working multiple sprints in a row on their Xcode / Objective-C codebase while some others were working on Android Studio. After which, QA & Product ensured both applications were in sync, on a UI/UX standpoint, creating addional work, which also happened to be extremely costly.
Our resources being so limited, my role was to stop this bleeding and keep my team productive and their time, valuable.
After some analysis, discussions, proof of concepts... etc. We decided to move to a single codebase using React Native so our velocity would increase.
After some initial investment, our initial assumptions were confirmed and we indeed started to ship features a lot faster than ever before. Also, our engineers found a way to perform this upgrade incrementally, so the initial platform-specific codebase wouldn't have to entirely be rewritten at once but only gradually and at will.
Feedback around React Native was very positive. And I doubt - for the kind of application we had - no one would want to go back to two or more code bases. Our application was still as Native as it gets. And no feature or device capability was compromised.
GitKraken is the best git client so far. The user interface is very friendly. Everything is easy to do with this tool. A branch tree vizualization is very clear. I've tried SourceTree and I got lost in such many panels. Also performance of SourceTree is not as goot as GitKraken. I like Sublime Merge but it doesn't have so many features as the other tools. I've choosen GitKraken and as bonus I got GitKraken Glo that is the next perfect tool.
Tower appears to be between GitKraken and SourceTree in detail, but gave two scary error dialogs when attempting to merge resulted in a conflict. Doing the same in SourceTree just worked and showed the conflict in its handy file view that's always visible (unlike Tower's mere "Merge branch 'X' into develop" message when the commit is selected).
Both GitKraken and Tower lack the commit hash in their history overview, requiring one to select a commit to see it.
GitKraken appears to be the only Windows 10 Git GUI suitable for night shifts, but like Tower is only free for 30 days, unlike SourceTree.
Even though React Native takes care of most of the heavy lifting, there are still some cases where we need xcode. These cases include app icon integration, mobile deployments, loading screens, ect...
Xcode is our primary development platform for iOS applications, with a very fully featured set of dev tools for the platform. For everything else, there's Sublime Text 3.
Experience with Xcode in the context of iOS development. This includes Storyboards, Debugging tools and the Simulator.
QA and Testing have been so much easier with the help of its simulators on Apple Devices like; iPhones and iPads.
Used by various PrometheanTV technical staff to interface and interact with the Git Source Control service.
PrometheanTV provides SDKs for IOS devices and utilizes the XCode IDE for development and testing purposes.
Since being familiar to git CLI, I nearly never open it again except using it as a diff tool.
Used Source Tree to maintain version / commit / pull request , merge of codes for a team.