6 ms·
I'd be interested in learning how they implemented the UI - it looks like it's native to Windows 8 but runs just as well on Windows 7. Would be interested to he
by statictype 14y ago
I'd be interested in learning how they implemented the UI - it looks like it's native to Windows 8 but runs just as well on Windows 7. Would be interested to hear what toolkit they used.
So far, the UX has been impressive for a tool that has historically not run very well on Windows.
Edit: They've mentioned the toolkits used at the bottom of the page. Apparently this is written in C#.
- xpaulbettsx 14y agoThe UI was implemented using WPF4 and Blend. We also use a framework called Caliburn Micro as well as a framework I wrote called ReactiveUI which orchestrates connecting the UI to data via binding.
- statictype 14y agoThanks for the info. It looks like you chose to embed Chromium for rendering markdown? What was the reason for not using an embedded IE instance (which is already part of every Windows installation).
- protolif 14y agoProbably because IE is a giant failboat.
- xpaulbettsx 14y agoIE doesn't participate in the WPF rendering system, so it would have all kinds of glitches like it sitting above all other controls (referred to in the docs as "Airspace Issues"), as well as unthemed controls (specifically the scroll bar - stuck out like a sore thumb). The markup that READMEs use is really simple, IE would've been fine for it.
- erode 14y agoAirspace issues have been the bane of my existence until WPF3.5sp1. D3DImage! Side note -- I also advocate Caliburn.Micro, it's great!
- deleted 14y ago[deleted]
- aschearer 14y agoIt looks great and I am installing it now on Windows 8. I'm curious why you chose to use Caliburn Micro over, say, MVVMLight? Do you plan to share some of the technical decisions made for this product on GitHub's Blog? Edit for spelling
- xpaulbettsx 14y agoWe used Caliburn Micro for its Screens / Conductors implementation and its convention-based wireup of views. We use ReactiveUI for all the ViewModel code though.
- bbatchelder 14y agoAny chance you will open source this app - it would be nice to have a real world example of using Caliburn Micro and ReactiveUI.
- urza 14y agoNice! :) Did you used some component for the window like http://wpfwindow.codeplex.com/ http://wpfwindow.codeplex.com/ or is it manually designed?
- nknight 14y agoAre you serious? I ask this out of genuine ignorance, knowing only a little of what has gone on in the Windows world the last ~4 years. This is what Windows 8 apps are supposed to look like?
- gilrain 14y agoIt's quite similar, at least, so it'll blend in with native Windows 8 programs (on the desktop, not in Metro). http://www.theverge.com/2012/5/18/3029547/microsoft-windows-8-drops-aero-glass http://www.theverge.com/2012/5/18/3029547/microsoft-windows-...
- trun 14y agoNot sure why you're getting downvoted -- this was my reaction as well. Particularly the lack of any sort of top or bottom border makes the app feel very cramped. Also, some of the mouse interactions I've become accustomed to in Win7 don't seem to work (such as dragging a maximized window from one screen to another) but I'm not sure what to blame for that.
- killercup 14y agoI guess GitHub's apps are kind of the hipster git clients on all platforms. I don't really like the Mac version (I'm faster in GitX), but this looks actually pretty decent and also what I was expecting for a Metro app. I'll give it a try later to see how productive I can be with it.
- drivebyacct2 14y agoThis is not a "Metro app" in the Windows 8 sense of the word. This is a "desktop app" that looks like a WinRT/Metro/"modern app". Just as a heads up since there is already terminology/tech confusion.
- nknight 14y agoI don't actively use any git GUI client, but my reaction is to the style in general rather than anything git-specific. I don't claim to be a design guru, but it looks like somebody was going for minimalism, but used a nuke instead of a scalpel. My eyes don't know what to focus on, there's limited indication of what things are, and in places it's hard to tell at a glance where one component ends and the next begins. It's not so much ugly as it is intensely vague and somewhat undiscoverable. Edit: Just to be clear, I don't want this to be seen as a criticism of this app or its developers specifically, I'm operating under the impression I'm getting from other commenters that this is very Windows 8-ish in general, so take this as bewilderment at the Windows 8 style.
- SideburnsOfDoom 14y agoIf 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.
- statictype 14y agoI 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.
- HarshaThota 14y agoSomeone 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/ https://mishrareader.codeplex.com/) and Espera (https://github.com/flagbug/Espera https://github.com/flagbug/Espera) are two other apps I also like.
- SideburnsOfDoom 14y ago> 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 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.