What technologies are used to develop SourceTree?

Sourcetree seems to be a cross platform tool. It runs on Mac and windows. My question is what technologies are used to develop source tree. Is it .Net Framework and MONO. It is not HTML5/JS for sure. Neither is seems to be qt.

Thanks a ton for answer in advance guys..

2 answers

1 accepted

Hi Mohit,

It's not cross platform, the product is developed for a specific platform in each instance, so for Windows we used C# and for Mac we used Objective-C.


Thanks for respone Kieran, Can you please explain me the basic reason of not using any cross platfrom technology like javafx , .net framework+mono , qt , embeded nodejs server with html5 js css app

I'll answer this since I made the call originally. I have a long history in cross-platform development, and what it taught me was that when you use a cross-platform toolset you inherently choose development speed over the ability to really exploit the target platforms fully. Whether it's speed, access to platform-specific refinements and service integrations, there is always a trade-off.

When you're writing back-end systems this doesn't matter that much, but desktop applications live or die by how well they integrate with the target platform, and that last 10% that you can't squeeze out of a cross-platform solution may well be the difference between a user choosing your product or dropping it for a different one. They don't care about development time, or the explanations about cross-platform tool not supporting that little esoteric platform hook they wanted, they only judge on the final product. Saving development time with a cross-platform solution is only a good option either when it's not visible to the user, or if you're willing to sacrifice a % of the user experience for dev convenience. With SourceTree I chose to match the platform 100% even if that meant more work for me, because I knew the end experience would be better - this is something that's especially important on the Mac.

Thanks a ton Steve, This clarifies the decesion :)

Can't agree more, while a cross platform tookit is great for server side work, like java, mono, php, it really sucks at implementing a true native app experience.

I fired up source tree and it looks really nice on windows. However i've been doing most of my development on Ubuntu lately. Any interest in having a port for Ubuntu anytime soon or is that just not on the road map?

Have you plans to rewrite Windows variant of SourceTree on some native language, like C++? It will be more faster and responsive. Or to be more cross-platform and easy develop under Windows and Ubuntu, for example.

I don't understand why you've chosen .Net, the cancer of the Windows platform.

This should probably be converted into a comment. Probably to get a more oo api like java is my guess. Wish it was available for Ubuntu!

Suggest an answer

Log in or Sign up to answer
Community showcase
Posted Friday in United States

Confluence Security Advisory

Good morning Members, Not sure if you are aware. Please read the following: https://www.icloud.com/keynote/0RyJ4VEdNUpjDpGfMhfZx9fEg#Confluence_Security_Advisor More details: https://co...

57 views 1 0
View post

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you