6 ms·
It's not writing the native code that's the problem, it's designing the same GUI experience across platforms that's nearly impossible to do. If it was so easy
by mikhailt 8y ago
It's not writing the native code that's the problem, it's designing the same GUI experience across platforms that's nearly impossible to do.
If it was so easy as you said, a lot of macOS apps would've been portable to Windows years ago given the market share.
I work for a cross-platform company, Windows is a much more difficult to develop for compared to macOS. You can write a Cocoa UI but what do you do on Windows when you need to support Windows 7 and above? Win32 controls are grossly outdated but the best accessible/consistent experience across multiple versions, UWP controls is limited to Windows 10 and best under MS Store, WPF has been neglected but so far it is the fastest way to develop a GUI. Microsoft has decided to split UWP out of Microsoft Store to bring it to everyone with UWP XAML Islands etc.
The reason Slack prefers Electron is because you can just write the same HTML/CSS front-end, deploy it, and all Slack apps can simply be refreshed to show the newest UI. You cannot do that with native apps at all. You could get around with a few webviews embedded in the native apps but might as well go full Electron.
- CyberDildonics 8y agoEquating electron and cross platform is a gigantic fallacy. Qt and other GUI frameworks (like Juce and FLTK) exist and are blisteringly fast. You don't have to package an entire web browser to make something cross platform.
- chris_mc 8y agoQt, or whatever, isn't pretty enough for the designers.
- kjeetgill 8y agoI'm more familiar with GTK, but can't you still make it look like anything you want pixel perfect? I think the real issue is you can't bring all of your javascript/html/css libraries and tooling over.
- chris_mc 8y agoI think you're correct.
- kitsunesoba 8y agoThis is a total non issue with Qt Quick, but I think complete UI look control is a waste of time and effort. It’s wheel reinvention where light brand accents would suffice.
- CyberDildonics 8y agoQt and Juce can be customized to look however someone wants. I don't think it is really so difficult to make images for buttons, change palettes and make sure everything is anti-aliased.
- h1d 8y agoTo me QT apps look like they came out of some old code base with old UI and web apps look more appealing imo.
- PurpleRamen 8y agoHow easy is it these days to create web, smartphone and tablet-UIs with Qt and those other frameworks? Cross platform is not limited to desktop anymore.
- CyberDildonics 8y agoBoth Qt and Juce emphasize mobile UIs heavily.
- scarface74 8y agoIt's not writing the native code that's the problem, it's designing the same GUI experience across platforms that's nearly impossible to do. I don’t want the same “GUI experience” across platforms, I want a GUI experience that is consistent with the platform I am running. When I was a heavy Mac user, I hated iTunes on Windows because it felt like being on a Mac instead of Windows.
- NathanCH 8y agoWith so many platforms that's unrealistically expensive. It's not just Windows and OS X anymore.
- kitsunesoba 8y agoIs having 1-3 Mac guys and 1-3 Windows guys (which is realistically all the vast majority of apps would need) really that much more expensive? To me it seems the real attraction is being able to hire from a giant pool of cheap, generic, interchangeable, fully replaceable developers.
- mr_toad 8y agoAnd Android, and iOS.
- kitsunesoba 8y agoYou can reasonably easily share the bulk of your mac/iOS/tvOS/watchOS codebases, and apple is actively working to push that percentage higher. So really, you’re not looking at 1-3 “mac people”, but rather 1-3 “Apple people”. Android dev is messy business, no question there, especially if you care enough about experience quality to test across a broad range of phones, OS versions, launchers, etc. It’s no wonder why the average Android dev team is 2x the size of the average iOS dev team. Not much you can do there but hope Google makes an effort to clean up (and it seems they are, albeit slowly). Even with all these platform specialists accounted for, companies like Slack and Spotify aren’t hiring any more engineers than they would otherwise. The only difference is instead of hiring specialists, they’re hiring hordes of web front end.
- eschaton 8y agoYou shouldn’t push for the same human interface on different platforms, they all have their own conventions that applications need to fit. At least back in the 1980s and 1990s, cross-platform toolkits tried to look native everywhere, and that’s why.
- h1d 8y agoHave you mailed Google customer support to do so with their Gmail? Today, web apps are getting to the point that it can functionally be called 'apps' (whatever its definition is) and we're all seeing exactly the same UI from every platform and people seem to be just fine with that.
- scarface74 8y agoIn Slack’s case, why an app at all? It already works with browser notifications. The Slack app is a worse experience than the website. It’s a memory and more importantly a battery hog.
- Corrado 8y agoI really enjoy a separate app as opposed to a browser tab. For one thing I can push it out of the way up in my task bar. I don't live in Slack and only use it occasionally, so it's nice to have it close by but not in my face. Also, the ability to quickly alt-tab to/from it makes it much more accessible for me. I tried to use the browser version and it works well enough, but it broke my workflow and was distracting. The app has its own set of problems but at least it lets me work the way I want.
- kennu 8y agoBiggest problem in web apps, at least to me, is window management. When you switch to Chrome (on Mac), all browser windows come to foreground. I want to keep Slack as its own app so that it stays in the background until needed. I also want to keep it separated in Dock and Cmd-Tab switching etc.
- scarface74 8y agoWould something like this work? https://fluidapp.com/ https://fluidapp.com/
- kennu 8y agoTheoretically yes, but then you still face other problems when the website has not been designed to be used as a desktop app. Slack's own application offers e.g. an easy way to switch between multiple teams (I have 16).