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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Ask HN: Net or Java for cross-platform desktop application

5 点作者 darreld大约 6 年前
I&#x27;m starting a project to scratch an itch of mine and I&#x27;d like for it to be available for all 3 major desktop platforms. This is the point in projects where I seem to have grown a big case of Analysis Paralysis.<p>I have decided to use a web UI for a desktop app. My current research leads me to .Net&#x2F;Nancy&#x2F;Kestrel, or Java. The UI will be a self-hosted SPA talking to localhost. I am concerned about users on non-Windows platforms reluctance to use dotnet core and also to less technical users on Windows needing a current Java JRE installed, since I fear it may have fallen somewhat out of favor. I think a large portion of users would be part of an enterprise.<p>My preference, at least for development, would be Java but that&#x27;s because I have much more experience in Java than C#&#x2F;.Net.<p>I supposed I could do it in Python, but I&#x27;m not nuts about the deployment story for folks listed above. I&#x27;m not interested in Electron.<p>I thought I&#x27;d see what HN had to say about the choice.

4 条评论

karmakaze大约 6 年前
I would suggest perhaps a language&#x2F;framework that compiles to a single binary. I&#x27;m assuming that the back-end doesn&#x27;t need to do any heavy lifting. You could use Go, Crystal&#x2F;Kemal, Nim&#x2F;Jester or other combination.<p>Do you actually need the same deployed code to run on each platform (Net&#x2F;Java) or is it sufficient to have common source that produces a binary for each?
评论 #19424817 未加载
docode大约 6 年前
I would prefer .NET Core for all future work. With their nice stack like CoreRT and X-Plat features it&#x27;s very smooth to work.
kevinherron大约 6 年前
Can&#x27;t go wrong with Java or Kotlin.<p>Use whatever you&#x27;re more familiar with.
passthejoe大约 6 年前
Syncthing does this with Go and a web page using localhost.