3 ms·
Interesting architecture, having the core communicate with the GUI front-end over pipes via JSON. That certainly eliminates a whole class of pain around inter-l
by mwcampbell 11y ago
Interesting architecture, having the core communicate with the GUI front-end over pipes via JSON. That certainly eliminates a whole class of pain around inter-language glue.
Any idea what language and APIs the Windows version will use? All of the Microsoft-sanctioned choices for desktop apps (as opposed to the wanna-be mobile/tablet platform introduced with Windows 8) are kind of sucky.
- raphlinus 11y agoI've been playing a bit with the various choices (there are so many!) and am leaning in the direction of C# + WPF + Windows.System.Media for the text drawing. Using something based on DirectWrite rather than GDI+ is important to me because of text rendering quality. I have basically ruled out Windows Universal because it feels a lot clunkier. But I'm very much open to ideas from more experienced Windows devs who understand the tradeoffs better.
- mwcampbell 11y agoWPF left a bad taste in my mouth because, as far as I can tell, it hastened the obsolescence of my brother's laptop around 2011. [1] But then, maybe WPF 4 under Windows 7 would have been better on the same hardware. Impossible to say now. The best solution would probably be one that uses both DirectWrite and Direct2D. WPF 4 uses DirectWrite, but AFAIK, it's still on top of the older Direct3D-based milcore graphics system. But to use both DWrite and D2D, I guess you'd have to get down and dirty with C++, or at least use a lot of P/Invoke and COM interop in your C# code. To be honest, I don't understand why GDI isn't good enough. Can you explain what you find lacking in GDI's text rendering, or point me at an existing explanation? [1]: https://news.ycombinator.com/item?id=8444494 https://news.ycombinator.com/item?id=8444494
- raphlinus 11y agoThe main thing I'd add to http://www.basschouten.com/blog1.php/font-rendering-gdi-versus-directwrite http://www.basschouten.com/blog1.php/font-rendering-gdi-vers... is that DirectWrite looks very smooth on high-dpi displays while GDI+ is quite grainy.
- lomnakkus 11y ago> Interesting architecture, having the core communicate with the GUI front-end over pipes via JSON. That certainly eliminates a whole class of pain around inter-language glue. If my experience is anything to go by, then it also introduces a whole new class of pain around gluing things together. You can alleviate a lot of it by using a real and backward/forward compatibly extensible(!) schema language for the interchange language. Your interchange language should also support some form of 'algebraic data types' just for maintaining general sanity.
- fpoling 11y agoBoth Google Protocol buffers and Apache Thrift (originated at Facebook) both offers backward/forward compatibility that works and product/union types. They are especially nice to use for intercommunication between tightly-coupled components. I personally like Thrift as it can use JSON or plain text (perfect for debugging) or whatever, not just a binary encoding of communication messages and its type system is IMO slightly easier to work with.