对于新应用程序,我需要决定使用哪种前端技术。我知道之前已经问过这个问题,我发现了一些研究,博客和其他参考文献,讨论Flash vs. Silverlight vs HTML5 vs JavaFX,但在我的情况下,有一个业务需求使情况复杂化。
应用程序必须作为脱机独立桌面应用程序和在线客户端 - 服务器应用程序运行,并且可能在将来它还需要在平板电脑上运行。为了最大限度地减少维护,我们希望只有一个代码库。服务器端最好应该在Linux上运行。
从早期的项目中,我们有Java和Flex的客户端 - 服务器配置经验,但我还没有发现是否可以将其打包到独立的应用程序中。 Java和JavaFX将是一种替代方案,但JavaFX似乎仍然不成熟且缺乏开发工具。如果我们选择Silverlight,我们或多或少会为后端切换到C#或C ++,或者使用类似JNBridge的东西,这会使独立安装变得更加复杂。 HTML5将是未来的选择,但不太适合复杂的应用程序,我们可能会遇到浏览器依赖。
所以我还没有找到理想的解决方案,可以使用一些帮助。也许我们只需要为服务器/后端端限制一个代码库要求,并为不同的用法接受不同的前端。
任何想法都赞赏。谢谢!
答案 0 :(得分:2)
Adobe AIR如何,它可以脱机运行,或者作为客户端与服务器通信,并支持多个平台,如windows / linux / android等
答案 1 :(得分:0)
如果它需要在平板电脑上运行并且运行断开连接,则最终必须编写多个应用程序,因为iOS(iPad)不运行SL / Air或JavaFX,据我所知,Android不运行SL或Air。使用Silverlight并不排除在Linux上暴露Web服务的后端只会让它变得更难。现在,如果你可以放弃断开连接,那么我会一直使用HTML5,否则只需要为Windows / Mac机器编写SL应用程序这一事实,这是iPad的iOS应用程序,也可能是JavaFX(或许是Air,请查看对Android平板电脑的支持。
答案 2 :(得分:0)
由于Adobe在2011年底对公告的处理非常糟糕,Flash / Flex / AIR的内容现在已经过期了。
Silverlight的遭遇与Flex / Flash / AIR类似,微软公布的未来发展方向和开发人员认为他们对Silverlight的投资现已浪费。
JavaFX迟到了,所有平台都没有最新版本。他们现在定位移动设备吗?
HTML 5过于炒作,主流浏览器的统一功能不够。它会到达那里,但今天不是。
切换到一个完全不熟悉的技术堆栈将会付出昂贵的代价 - 当你和你的团队都不熟悉时,你无法做出任何合理的估计。
就个人而言,我建议从您熟悉的技术开始,这些技术似乎是Java和Flex,并将AIR添加到该组合中。
我真的会推迟平板电脑支持,因为我认为这个要求很模糊,但对项目有很大的影响。我没有看到桌面上的传统用户界面在平板电脑上运行良好。我说平板电脑需要自己的用户界面。