user-interface - 您如何决定一个项目是基于 Web 还是基于桌面?

标签 user-interface desktop-application web-applications

我无法决定我的项目是基于 Web(如在 Web 应用程序中)、基于桌面(桌面应用程序)还是可以同步或连接到云的桌面应用程序。

我不知道其他人是否会对这个应用程序感兴趣,而且它只适合我,所以我倾向于桌面应用程序。如果出于某种原因,我完成了它,发布了它,并且人们真的喜欢它,我可能会看到让它同步到云端(想想 v2)。但我不确定做出如此彻底的改变有多难,而且我不想最终得到一些无用的好东西,因为我什至在开始项目之前就做出了错误的选择。

对此有任何指导吗?有什么经验法则或最佳实践吗?有什么亲身经历吗?

如果语言很重要,我考虑 Java 只是因为我对它最满意,而且它可以很容易地让我与我的 friend 分享它以进行测试,如果我遇到困难并需要其他人的帮助。

最佳答案

我一般会问几个问题:

  • 它甚至可以在网络上完成吗?不久前我没有涉及图像编辑组件,并且必须是一个网络应用程序。完成这项工作涉及很多痛苦,而桌面应用程序将是一个更好的方法。
  • 我需要从任何地方访问它吗?是的,您可以将其加载到拇指驱动器上,但在这种情况下,网络更为可行。
  • 会有多个用户吗?这可以是任何一种方式,但“长尾”的东西通常意味着网络。
  • 你想用什么技术?最新最好的基于 WPF 的 UI?桌面(是的,是的,silverlight,我们不要去那里好吗?)。 Django或其他人的脑死愚蠢的简单用户管理?网络。
  • 如果它是一个 Web 应用程序,您是否需要担心 SQL 注入(inject)、XSS 等常见的攻击媒介?桌面应用程序在这里也有自己的问题,但曝光率往往较低。
  • 它的资源密集程度如何? 10 个用户会扼杀 Web 服务器的性能吗?
  • 在桌面上进行版本控制可能会很痛苦,而对于 webapp,每个人都在同一个版本上。不过,这可能会咬你一口,请参阅新 Facebook 用户的回击。

  • 编辑:
  • 成本也可能是一个因素。具有数据库后端的 Web 应用程序通常意味着 Web 服务器。如果您想坚持使用 Microsoft Stack,您将需要价格昂贵的 SQL Server 许可证。开源更便宜,但可能并非在所有情况下都是一种选择。 “服务”桌面应用程序通常更便宜。
  • 关于user-interface - 您如何决定一个项目是基于 Web 还是基于桌面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/163913/

    相关文章:

    java - Action 监听器错误

    javascript - Chrome 中的 jQuery 图像高度/宽度

    c++ - Qt:创建半透明禁用图标状态

    c# - 如何获取发布版本?

    web-applications - 在分布式应用程序中管理 session

    java - Singleton 读取 Java Web 应用程序中的属性文件;正确的做法?

    xcode - Xcode 10 中的对象库去了哪里?

    gradle - libgdx SpriteBatch UnsatisfiedLinkError 桌面

    测试桌面应用程序

    web-applications - Hyperledger Composer Web 应用程序用户身份验证