Most development time isn’t typing code but actually architecting the solution. You will go through multiple iterations to get your UX right. Lots of things like graphics, GUI mock-ups, database design, file formats can be reused.
In cross platform development one too often ends up wasting time on problems introduced by buggy layers on top of the native frameworks.
Every time I have compare my development speed using native tools vs a lot of the cross platform web stuff, native wins hands down.
But it depends on where your skills are. If you are more skilled with web technologies then your experience will likely be different.
> You will go through multiple iterations to get your UX right.
For high-level UX flows, this is where cross-platform frameworks could have an advantage, because you can iterate without redoing the work for each platform. It might even make sense to use a web framework for the initial prototype and early user trials, and then reimplement in native for performance/details once it's finalized. As a bonus, if you're willing to maintain the web version you could use it as your browser-accessible version.
A/ use cross platform to iterate effectively
B/ choose to iterate on only one platform, then build out other platforms as your ux stabilizes.
We chose B but acknowledge it’s an unusual option, and there a 30% chance in our minds that we’re wrong /shrug
We want to try running small teams using the best stack for each platform.
In fact, I'll usually take reduced overall functionality for a better platform-native experience.
HN loves blaming companies like Slack for shipping “crappy bloated electron apps”, but what we should be doing is demanding more from Apple, Microsoft, and Google to ship a sane APIs to make this work. Blaming vendors is essentially victim shaming.
Sadly I know that’s a naive optimistic pipe-dream because these corps would lose power over their user base.
The “one code base” is allowed to have platform ifdefs, doesn’t have to be magically perfect and handle all edge cases.
Because this is table stakes for Electron, cross platform libs, and game engines. Getting Apple, Google, and Microsoft (because honestly if the others can agree Linux will just follow) to agree on something anything would be a huge milestone but I’m sure they would all see it as erasing their moat.
But I do agree with you. Developing backend cloud applications is just easier on Linux. You will only succeed at prying Windows + Excel from Finance's cold, dead hands. Most companies that aspire to growth will get there. Why shoot yourself in the foot for 160 MB RAM savings?
1. You can't use any specialized features or APIs in one OS unless you implement it in all others.
2. If you use Electron you're basically building a webpage, which can only be taken so far in terms of user experience. While teams like VS Code have pushed the limits, you still can't do what this app is doing.
3. Increased test/QA surface area which becomes difficult - especially supporting Linux - which have relatively fewer users but you still have to properly invest time into supporting it, something startups cannot do.
I really don't see the point of this product, but there are plenty of small to medium teams which are mac only, and it's better to be an interesting niche rather than yet another collaboration and huddle-type software.
We’re starting with a small but opinionated target audience, and building out for other platforms from there.
> just for some technical clout
I think we both know that’s oversimplifying :)
And if we wanted to do a web app (which is a fantastic from business perspective for a lot of reasons), it would require some groundwork, of course, but nothing like doing it from scratch.
I think you need to clarify what "our company" means, so we can evaluate the significance of your statement.
Is "our company" 20,000 seats in 43 countries?
Or is "our company" Jack, Joe, and Fred working in their bedrooms and collaborating over ICQ?
I worked at a 300 person startup. No interesting cross-functional team was pure-macOS (80% macOS, mix of Windows and Linux for the rest).
I worked at smaller startups (<20), and they still weren't all macOS.
Which is why we’re generally exposed to so much mediocre software. Business is king and most companies do the minimum possible to get customers and grow. And if they for some reason do engineer to higher quality than their competitors, it’s quite likely that they will be outcompeted.