对于一个新的应用程序,我需要决定使用哪种前端技术。我知道之前有人问过这个问题,我找到了几个研究、博客和其他参考资料,讨论闪存、Silverlight、HTML5和JavaFX,但在我的案例中,有一个业务需求使情况变得复杂。
该应用程序必须作为离线、独立的桌面应用程序和在线客户端-服务器应用程序运行,也许将来它也需要在平板电脑上运行。为了最大限度地减少维护,我们希望只有一个代码库。服务器端最好在Linux上运行。
从早期的项目中,我们有过使用Java和Flex进行客户端-服务器配置的经验,但我还没有发现是否可以将其打包到一个独立的应用程序中。Java和JavaFX将是一个选择,但是JavaFX似乎仍然不成熟,并且缺乏开发工具。如果我们选择Silverlight,我们或多或少将不得不切换到C#或C++作为后端,或者使用像JNBridge这样的东西,这将使独立安装变得更加复杂。HTML5将是未来的选择,但不太适合复杂的应用程序,我们可能会遇到对浏览器的依赖。
所以我还没有找到理想的解决方案,需要一些帮助。也许我们需要限制服务器/后端端的一个代码库要求,并为不同的用途接受不同的前端。
任何想法都很感谢。谢谢!
发布于 2012-03-07 17:52:20
由于Adobe在2011年底对公告的糟糕处理,Flash/Flex/AIR的东西现在有了到期日。
Silverlight正在遭受类似于Flex/Flash/AIR的痛苦,因为微软宣布了未来的发展方向,开发人员认为他们在Silverlight上的投资现在已经白费了。
JavaFX来得太晚了,而且最新版本并不是在所有平台上都可用。他们现在的目标是移动设备吗?
HTML5大肆炒作,没有足够的跨主流浏览器的统一功能。它会到达那里,但那不是今天。
切换到完全不熟悉的技术堆栈将是代价高昂的-当它对您和您的团队都是新的时,您无法做出任何合理的估计。
就我个人而言,我建议从您熟悉的技术开始,这些技术似乎是Java和Flex,并增加了这两种技术的混合。
我真的会反对平板电脑的支持,因为我认为这个要求很模糊,但对项目有很大的影响。我看不出桌面上的传统UI在平板电脑上工作得很好。我想说的是,这款平板电脑需要自己的用户界面。
发布于 2012-03-07 16:56:44
Adobe AIR怎么样,它可以离线运行,也可以作为客户端与服务器通信,并支持多种平台,如windows/linux/android等
发布于 2012-03-07 17:12:55
如果它需要在平板电脑上运行,并且离线运行,你最终将不得不编写多个应用程序,因为iOS (iPad)不运行SL/Air或JavaFX,据我所知,它也不运行SL或Air。使用Silverlight并不排除Linux上暴露Web服务的后端,只是让它变得有点困难。现在,如果你可以放弃断开连接,那么我会一直使用HTML5,否则就接受这样一个事实,即你需要为Windows/Mac机编写一个SL应用,为iPad编写一个iOS应用,可能还需要为这些设备编写一个JavaFX (或者Air,查看安卓平板电脑对它的支持)。
https://stackoverflow.com/questions/9598325
复制相似问题