我不知道其他人是否会对这个应用感兴趣,而且只会对我而言,所以我倾向于桌面应用.如果由于某种原因,我完成它,释放它,人们实际上喜欢它,我可能会看到同步到云端(想想v2).但是我不知道做出如此激烈的变化是多么的困难,我不想最终得到一些没有用的东西,因为在开始这个项目之前我做了一个不好的选择.
这有什么指导吗?任何经验法则或最佳做法?任何个人经历?
如果语言很重要,我只是因为我最喜欢Java,所以很容易让我和朋友分享测试,如果我遇到困难,需要别人的帮助.
解决方法
>甚至可以在网上完成?我不久以前涉及图像编辑组件,而且必须是一个网络应用程序.这个工作涉及很多痛苦,一个桌面应用程序将是一个更好的方式.
>我需要从任何地方访问吗?是的,您可以将其加载在拇指驱动器上,但在这种情况下,网络更加可行.
>会有多个用户吗?这可能是任何一种方式,但“长尾巴”的东西通常意味着网络.
你想用什么技术?最新和最大的基于WPF的UI?桌面(是的,是的,silverlight,我们不去那里好吗?)大脑死了愚蠢的用户管理Django还是别人?网页.
>如果是一个网络应用程序,你需要担心像sql Injection,XSS等常见的攻击向量吗?桌面应用程序在这里也有自己的问题,但倾向于具有较少的曝光.
>资源密集度如何? 10个用户会杀死Web服务器的性能吗?
>桌面上的版本控制可能会很痛苦,而对于webapp,每个人都是同一个版本.这可能会咬你,看到新的Facebook用户推送.
编辑:
>成本也可以成为一个因素.具有数据库后端的Web应用程序通常意味着Web服务器.如果您想坚持使用Microsoft Stack,则需要sql Server的许可证才能获得高价值.开源是便宜的,但在所有情况下可能不是一个选择.一个桌面应用程序的“服务”通常更便宜.