3 ms·
I didn't say anything about web frameworks or chasing latest trends. Developing a cross-platform app that uses native interface elements is extremely time inte
by Yaina 5y ago
I didn't say anything about web frameworks or chasing latest trends.
Developing a cross-platform app that uses native interface elements is extremely time intensive and sometimes laughably complicated[1].
With design system I meant that designers create a spec how the UI should look like and behave (eg. the primary button in Firefox) and then engineers implement that in a reusable way. Designers can then use their own specs to create new surfaces and engineers can use their reusable components to make the specs real.
This is a lot more efficient than either maintaining three code paths for the whole UI or building and maintaining a complex abstraction framework for native surfaces. That's what XUL was.
That's the reason why there are barely any UI-heavy cross-platform apps and a lot of web-apps.
[1]https://den.dev/blog/windows-priority-shuffle/ https://den.dev/blog/windows-priority-shuffle/
- friendzis 5y ago> With design system I meant that designers create a spec how the UI should look like and behave This is the core of misunderstanding. Once you define your goal as "the app should look the same across platforms", you inevitably set yourself up for these shenanigans. In order to keep consistent look and feel across platforms you either implement (and maintain!) a complex abstraction layer over platforms or reduce the design to "common denominator elements". Web (both remote and electron) seems to be an attractive solution, because it offers the more pleasing abstraction option and a lot of heavy lifting is handled by browser and framework developers. You base your argument on consistent look being the ultimate goal and desktops being somewhat moving targets. Well, the web is a target moving even faster and I see no reason to regard consistent look as the ultimate goal. It could be easily argued that platform native look is an even better option. Essentially, it boils down to two fuzzy metrics: fraction of users regularly moving between platforms and preferring consistent look (a windows-y app on mac will look off, webby app will look off on both platforms) and long-term cost of maintaining the consistent look versus maintaining separate fully native interfaces. Somehow I tend to believe that in the long run native interfaces are the better option. Web only makes it easier to build cross platform MVP and forces one to release features in tandem across platforms.