Hacker News new | past | comments | ask | show | jobs | submit login

If you run the app, click on the "tools and options" cog then "licences". This page lists a lot of libraries.

> Apparently this is written in C#.

You sound surprised. To me it looks like a quite slick WPF app, which aims for a metro-ish look. But I've seen nothing in the UI that is particularly challenging for WPF. WPF is very, very flexible.




I am surprised (and I say this as a person who has written a lot of C# and likes the language).

I assumed that doing any sort of integration with Git would require C-level bridging. Didn't realize there was any sort of decent C# bindings for Git.

Also, I have not seen very many Windows apps with slick UIs like this that were written in C#. Even the WPF ones that I've seen were quite clunky.


> I assumed that doing any sort of integration with Git would require C-level bridging.

Short of re-writing git in c#, it does require bridging. That's what unsafe code is for - calling out to dlls written in c.

> Didn't realise there was any sort of decent C# bindings for Git.

I kind of just assumed that there was. There usually is. The licences page lists "libgit2", so it's probably this one: https://github.com/libgit2/libgit2sharp#readme (edit yep, LibGit2Sharp is mentioned later on in the licences)

The file LibGit2Sharp/Core/NativeMethods.cs seems to do a lot of the bindings.

> the WPF ones that I've seen were quite clunky

I said that WPF was flexible, I didn't say simple or easy :P Also, to get good design, you usually need the help of a designer. Most coders will produce "clunky" UIs. I would. Somehow, the Windows desktop space has been very slow to deal with this.


Someone mentioned MarkPad/DownmarkerWPF in the thread but Code52 has a few other projects that use WPF that are good examples. Mishra Reader (https://mishrareader.codeplex.com/) and Espera (https://github.com/flagbug/Espera) are two other apps I also like.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: