4 ms·
I have to say, I miss the age of native apps. I understand that it's awesome cakes for Spotify, GitHub, etc. engineers to share JavaScript bits between devices.
by lpsz 11y ago
I have to say, I miss the age of native apps. I understand that it's awesome cakes for Spotify, GitHub, etc. engineers to share JavaScript bits between devices. But it sucks for me as the user! The Spotify app (on my Mac) has become a resource hog over the years.
Same with Slack's Mac app. As beautiful as it is, there's just something that doesn't feel 100% responsive/right with a web-based app.
"With separate code bases for OS X & Windows
converging on a single design, we knew that
sharing code would be essential going forward.
Sophisticated as the graph is, implementing
it twice would have been a significant burden."
How is it ever reasonable to prioritize coding convenience over the end users' experience? This team set out to solve a cool engineering problem (code reuse) and forgot altogether that people are actually going to be using this stuff.
- gcr 11y agoThing is, by using a cross-platform drawing library like Cairo or OpenGL, a lot of this code could have been reused anyway. It wouldn't have been as nice or expressive as Javascript though. But it also wouldn't have required hacks like stitching together a giant string to be `eval`', for example. So there's a tradeoff.
- lpsz 11y agoYep. They could also use some shared C/C++ bits to generate various drawing metadata ("the model") and delegate the rendering/input handling to whatever platform-specific APIs. It may be more work, but if you're not going to build an actual native app, why bother? These apps are built as a sales point ("look, we have a Mac app!"), without the customer in mind.
- merogin 11y agoI haven't used the application (can't on Linux), but if the graph doesn't require user interactivity, using Cairo or some other software renderer (e.g. http://www.antigrain.com/ http://www.antigrain.com/) to just render the graph into a bitmap, would do the job faster and with less resource usage. Adding user interactivity on top of that shouldn't be a lot of work either.
- pjmlp 11y agoFully agree. What alternative real native GUI clients are there for Git on Windows?
- mdiep 11y agoWhat we've done with GitHub Desktop is very different than the write-an-entire-app-in-JS approach that a lot of apps have taken. There's a small piece of custom UI that's built with HTML, JS, and CSS; but even it is controlled by native code. GitHub Desktop is still mostly native code on both platforms.