如果可以将一个想法实现为桌面应用程序和网络应用程序,您会采用哪种方式?
我在这里有点偏见,作为一个用户,我更喜欢桌面应用程序而不是网络应用程序,因为能够快速访问信息:无需打开浏览器,无需登录,响应速度更快,托盘集成,通知,全局热键等。作为开发人员,我也有更多开发桌面应用程序的经验。但作为 ISV,我必须担心不仅要丰富用户,还要丰富我自己 ;)
如果可以将一个想法实现为桌面应用程序和网络应用程序,您会采用哪种方式?
我在这里有点偏见,作为一个用户,我更喜欢桌面应用程序而不是网络应用程序,因为能够快速访问信息:无需打开浏览器,无需登录,响应速度更快,托盘集成,通知,全局热键等。作为开发人员,我也有更多开发桌面应用程序的经验。但作为 ISV,我必须担心不仅要丰富用户,还要丰富我自己 ;)
这实际上取决于您拥有什么样的应用程序以及您想用它做什么。
Web 应用程序主要具有以下优点:
另一方面,您有以下问题:
那么,这意味着什么?这一切都取决于。找出对您来说最重要的问题。
编辑:抱歉,我刚刚读到您专门询问了有关通过您的应用获利的问题。您也应该在问题的正文中提到这一点;)但我认为无论如何我都部分回答了,至少我尝试过。
我想这取决于您计划如何将事物货币化。使用桌面应用程序,您将主要从付费购买中获得收入。使用网络应用程序,您始终可以按月收费(甚至根据访问级别收取分级费用),甚至可以支持带有广告的免费/试用版。
另外,为什么要将自己限制在其中之一?使用像 Adobe 的 AIR 这样的框架,让自己两全其美。
你的技能组合在哪里?如果您有大量构建桌面应用程序的经验并且对 Web 不太熟悉,请先使用桌面。如果您是 Web 开发人员,请先使用 Web。发挥自己的优势。
设计怎么样?知道任何可以为您设计 Web 应用程序的网页设计师,或者在桌面上吹出一些东西会更容易吗?
Web 的跨平台方面是否值得,或者您打算主要为 Windows、Mac 或 Linux 构建并且对此感到满意?
有很多考虑。发挥自己的优势。
编辑(2012 年 9 月):似乎这篇文章在 3 年后仍然有一些流量。在这一点上,它已经过时了,并且没有考虑到移动设备之类的东西,我不知道。:-) YMMV!
在你的情况下,因为你的背景是桌面,我会这样做只是因为你可以更快地实现它,也可能以更好的方式实现它。
这是一个权衡。
一方面,Web 应用程序允许您采用 SaaS 样式的费用,并允许更轻松的部署模型。另一方面,Web 应用程序需要以服务器和带宽成本的形式进行维护。
桌面应用程序允许更丰富的 UI,这可能会让您的用户更快乐,但更难以部署和更新。
如果您希望通过您的应用程序赚钱,我会说基于 Web 的应用程序要容易得多,因为每个潜在客户都可以在您公开应用程序后立即访问它。桌面应用程序需要的供应链比我能想到的任何编程任务都要多得多。
这完全取决于您的应用程序提供的功能。有些应用程序无法在 Web 上运行,因为它们需要本地 PC 数据,而这些数据不能从浏览器中获得。
从维护的角度来看,Web 应用程序肯定更容易维护(节省时间和成本),因为它只在一个地方运行(你的服务器,所以任何新版本都必须只到那里)并且测试它相当容易通过跨不同浏览器进行测试,可以实现不同的用户配置。使用桌面应用程序会更难做到这一点,因为每个用户都可以有不同的硬件/操作系统设置,这可能会导致各种问题(并且您可能很难在支持场景中复制它)。
谷歌说网络应用程序是未来,他们可能是对的。Web 应用程序具有显着的最终用户优势,即本质上是跨平台的(在大多数情况下),并且不需要安装到将要使用它们的计算机上(同样,在大多数情况下)。当然,另一方面是它们将在您的计算机上运行,而不是在您的用户的计算机上运行,因此您将不得不在基础设施上花费一定数量的钱,而且可能比您花在上面的钱还要多分配。还有营销问题——你可能不会在它上面花更多的钱,但是当你不能在百思买的端盖上放一个盒子时,要宣传这个词要困难得多。
无论如何,如果您可以选择其中任何一个,我会调查托管和扩展您的应用程序的成本,如果不禁止盈利,我会说选择网络应用程序。如果你能很好地推销它,你将获得比使用桌面应用程序更大的用户群。
这无疑是一场激烈的讨论中的两分钱。:-)
我更喜欢网络,因为:
1) 跨平台 2) 您只需解决一次问题,从而降低支持成本 3) 您可以相当轻松地加入,甚至可以免费试用 4) 向所有客户推出新功能更容易
好吧,简单明了,它是网络,100%。在您的网站上粘贴广告大约需要 5 分钟。可能要长一点,让它看起来不错。
但这并不意味着您将在桌面上尽可能多地制作。但说真的,如果你说得简单,人们会编写脚本来制作带有广告的网站。他们赚了 100 美元,然后将网站关闭。他们每天这样做几次。没有办法在桌面上赚到这种快钱。
需要注意的是,在网络上你谈论的是少量的钱,除非你可以让网站受欢迎。
我认为这真的取决于应用程序的类型。网络浏览器可以处理你想扔给它的任何东西吗?新的浏览器令人印象深刻,但仍然停留在 IE6 上的人不会高兴。另外,离线数据有多重要?Google Gears 是一个糟糕的解决方案。Safari 和 Firefox (3.5) 都对离线数据有很好的支持,但同样,使用旧浏览器的人无法充分利用它。(当然,您可以随时放弃对旧版浏览器的支持。)
网络上的主要缺点是您对用户的数据负责。网络上的主要优势是您会自动获得更广泛的受众。桌面应用程序的反向 - 更小的受众,但你的负担更轻。