让我们假设以下两个假设是正确的。
- 您的整个用户群到处都有宽带访问
- 有一个假想的浏览器X,它始终实现HTML5和WHATWG组的整个规范草案,所有用户都使用浏览器X。
我们需要商业公共桌面应用程序用于商业公共HTML5 Web应用程序的固有限制是什么?
我对无插件Web应用程序的局限性感兴趣,这些应用程序既不依赖Flash / Java / SilverLight / etc桥提供额外功能,也不依赖浏览器插件提供额外功能。
不适用的可能限制:
- 数据库?我们有WebSQL和indexedDB。
- 文件IO?我们有HTML5 File API,它可以读写。
- 速度?在最近的JavaScript引擎竞赛中,浏览器不再缓慢。本机C ++仅比chrome的V8引擎快3倍。
- 开发工具?网络已经成熟,并且有大量可用的工具可供选择。
- 封闭源?是的,所有代码都是开源的。这是一把双刃剑,对于使用封闭源代码或开放源代码有很多意见。我个人认为开放源代码的优点胜于缺点。
- JavaScript / HTML5?诸如“我个人认为HTML5和EcmaScript是可怕的开发平台”之类的争论不计在内。
已知限制:
- 实时/安全(最高机密)关键代码不属于网络,也不属于网络。它需要使用低级,高度可控的语言(例如C或C ++)编写。
- 任何需要与计算机上连接的外部第三方硬件交互的工具,都很难与Web应用程序通信。
还有一整套不属于网络的程序。操作系统,驱动程序,服务器软件,低级API。我知道这一点,但是我没有将它们归类为“商业公共”应用程序,这些是可以预先安装在计算机上的软件类型。
顺便说一句,我知道这两个假设非常不现实,但我们可能会在5/10/20/30年内实现它们。我对应用程序的类型以及使它们与网络完全不兼容的应用程序功能感兴趣。
动机:
要点:
考虑到桌面应用程序是有效解决方案的一系列问题。
- 为什么Web应用程序不是有效的解决方案?
- 如何确定我是否可以使用Web应用程序作为解决方案。
我试图通过断言它们不存在来消除Web应用程序的主要困难(互联网连接和浏览器支持)。
此外,HTML5脱机应用程序和Modernizr有望解决这两个问题。
Web应用程序开发还有哪些其他困难?