2012-03-07 36 views
0

对于新的应用程序,我需要决定使用哪种前端技术。我知道这个问题之前已经被问过了,我发现了一些研究,博客和其他参考资料,讨论了Flash与Silverlight,HTML5与JavaFX,但在我的情况下,业务需求会使情况复杂化。在选择前端技术方面需要帮助

应用程序必须作为脱机的独立桌面应用程序运行,并作为在线客户端 - 服务器应用程序运行,并且可能将来还需要在平板电脑上运行。为了减少维护,我们希望只有一个代码库。服务器端应该最好在Linux上运行。

从早期的项目中,我们有关于Java和Flex的客户端 - 服务器配置方面的经验,但是我还没有发现是否可以将它打包为独立应用程序。 Java和JavaFX将是另一种选择,但JavaFX似乎还不成熟,缺乏开发工具。如果我们使用Silverlight,我们或多或少必须切换到后端的C#或C++,或者使用诸如JNBridge之类的东西,这会使独立安装更加复杂。而HTML5将是未来的选择,但不适合复杂的应用程序,我们可能会遇到浏览器依赖性。

所以我还没有找到理想的解决方案,并可以使用一些帮助。也许我们只需要限制服务器/后端的一个代码库需求,并接受不同用途的不同前端。

任何想法赞赏。谢谢!

+0

棘手的问题,因为我相信2012年初没有“最佳”选择。“可能需要在平板电脑上运行”的要求是非常昂贵的,尤其是可能不需要。 – SteveD 2012-03-07 09:42:34

回答

0

闪光/的Flex/AIR的东西,现在上有一个截止日期,由于Adobe公司于2011年

的Silverlight月底公告的可怕处理类似的方式在Flex /闪光灯/ AIR的是痛苦微软公布的未来方向和开发人员感觉他们在Silverlight上的投资现在被浪费了。

JavaFX迟到了派对,最新版本不适用于所有平台。他们目前是否针对移动设备?

HTML 5过度炒作,主流浏览器没有足够的统一功能。它会到达那里,但那不是今天。

切换到一个完全陌生的技术堆栈将会代价高昂 - 当你和你的团队都是新手时,你无法做出任何合理的估计。

就我个人而言,我建议从熟悉的技术开始,这些技术似乎是Java和Flex,并将AIR添加到该混合中。

我真的会推回平板电脑支持,因为我认为这个要求很模糊,但对项目有很大的影响。我没有看到桌面上的传统用户界面在平板电脑上运行良好。我想说平板电脑需要自己的用户界面。

2

怎么样的Adobe AIR,它可以脱机运行,或作为客户端与服务器进行通信,并支持多种平台,如Windows/Linux的/安卓等

0

如果需要在平板电脑上运行,并且运行断开你最终将不得不编写多个应用程序,因为iOS(iPad)不运行SL/Air或JavaFX,据我所知Android不运行SL或Air。使用Silverlight并不排除在Linux上显示Web服务的后端只会让它更难一些。现在,如果你可以放弃断开连接,那么我会一直使用HTML5,否则只是需要为Windows/Mac机器编写一个SL应用程序,用于iPad的iOS应用程序或可能是JavaFX(或者可能空气,检查在Android平板电脑的支持)为那些。

+0

我确实有空气在我的Droid 3上运行,带有一些应用程序... – 2012-03-07 09:19:08

+0

Android完全支持AIR应用程序。 – MaxSan 2012-03-07 09:19:16