TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: What subtleties distinguish a native desktop app from cross-platform?

3 点作者 Austin_Conlon4 个月前

2 条评论

dapperdrake4 个月前
Are cross-platform and native even mutually exclusive?<p>You can have a C89 application that conditionally (#ifdef) compiles differently on MS Windows and Linux. It’s native. And it’s cross-platform.
评论 #42905662 未加载
armchairhacker4 个月前
There are apps that act native on multiple platforms, like IntelliJ. But those are rare.<p>Most cross-platform apps feel “out of place” on every platform except web, because different platforms have different styles: button sizes, background colors, whether the menu is in the window or top of screen or there is none, etc.<p>Most cross-platform apps are slower and buggier than native UI on every platform, and don’t support accessibility as well, because the native UI has been developed over a long time by a talented group (Apple, Microsoft, the Linux foundation, etc.) whereas most cross-platform implementations are developed in shorter spans. by smaller teams<p>If you want a cross-platform app to feel native, you have to re-implement a lot on each system. You must handle that subtle differences between platforms like menu position, even if you try to make your UI generic like IntelliJ’s*. And the library maintainers must develop adapters from each native control to their cross-platform one, and&#x2F;or implement many accessibility-adapters, edge-cases, and optimizations. It’s almost certainly easier to write a native UI for every target platform than to write a cross-platform library powerful enough to feel native on every target platform, then handle the look-and-feel differences in your app where necessary.<p>* Actually, that may be IntelliJ’s only difference between platforms, I can’t think of any others OTOH. While their UI is unique IMO it feels “native” on macOS because it’s similar, and macOS is the OS, I use most, so maybe that’s why I feel it’s an exception to the “cross-platform can’t feel native” rule.