在过去的几年中,这个问题有一些变化,但鉴于最近的发展(例如,Adobe放弃了Flash for mobile) - 我希望能够了解当前的想法。 ..
长话短说 - 我公司为金融服务公司开发网络应用程序。
多年来,我们专注于Flash开发(请参阅https://stackoverflow.com/a/395260/49383了解我们选择Flash的原因,但简而言之,我们的应用程序具有大量异步通信,高响应性交互性,图表,数据可视化,拖动 - 和 - 等等。)
但是,我的客户现在意识到,他们在Flash中开发的任何内容都将从不在移动设备或iOS设备上提供。
理想情况下,他们想要一个适用于任何地方的单个应用程序。
我很难解释为什么我认为这不可能。简而言之,你必须考虑:
当然,理论上可以构建一个利用最新响应式设计(处理大型和小型屏幕)的应用程序,利用最新的HTML 5功能,但优雅地降级(以支持数百万被困的用户) IE 6,7和8),并以某种方式支持触摸输入(巨大的命中区域,没有悬停/翻转行为,捏缩放等)和基于鼠标的输入。
但是,在我看来,这需要 TON 的额外代码,并且噩梦难以测试。
备选方案 - 我通常倾向于推荐的内容 - 适用于桌面用户的Flash版本,以及 HTML5 / Touch - 仅版本适用于手机/ iPad用户。
巨大的缺点是你有两套完全不同的代码。好处是你可以为两组用户创造最佳体验(也就是说,你不需要编写代码来支持那些不熟悉HTML4的IE6 / 7/8桌面用户的次优体验),以及您可以放心地假设移动用户正在使用非常当前的,非常强大的HTML5兼容浏览器。
我的想法是否正确?有更好的方法吗?
答案 0 :(得分:2)
如果没有耐心地向他们解释史蒂夫·乔布斯是一个贪婪的骗子,他将Flash推出以保护App Store的收入(不是推荐的销售推销策略),那么你必须在某个时候做出艰难的决定。
你可以导出到移动设备的AIR - 显然这会阻止它基于浏览器,但你可能会认为这是一个值得付出代价的所有开发时间,如果你可以说服你的客户去一个应用程序通过URL - 鉴于移动体验是如此不同,你可能(我们有)。 AIR存在一些性能问题,但它们会越来越好,如果您在游戏/图形密集型程序上构建Web应用程序,您将不会注意到。
就我个人而言,我更喜欢将Flash用于任何超过给定复杂性的应用程序 - 我喜欢HTML / JS的挑战,但过了一段时间它就会变成受虐狂,调试JS无疑是一个很好的东西。这不是应用程序开发的语言,至少对于那些有OO背景的人来说,但是如果你对此感到满意/习惯,或者你的应用程序不是太复杂,这可能不会打扰你。我将研究使用谷歌Dart,这是一种更像Java / AS3的语言,可以编译成JS - 但我还没有机会,所以不能说它是否值得一试。
如果你选择HTML版本,你不必真的担心HTML4 vs 5,只要你不使用新标签(主要是为了让它更具可读性,你可以用div类来近似) )没有太多需要。显然,视频等需要闪回后备。
使用jQuery,你应该能够解决浏览器问题,因为它支持JS,我个人提供了一个Flash / AIR软件包或一个只提供HTML的解决方案 - 你可能还有一个可以调整的公共代码库对于平台,而不是两个不同的平台。
希望这有帮助。