我正在尝试引导一个富互联网应用程序,它将有一个复杂的 Canvas (想想:Visio),并且应该根据这些原则工作:
- 它将在浏览器中运行
- 它将在平板电脑(Android 或其他)上运行
- 支持复杂的绘图、拖放等
- 愉快地独立运行(例如,没有服务器组件)
- 可以根据需要利用传统和触摸式 UI - 用户可以使用鼠标或使用触摸屏画线
我正在考虑使用 Javascript 框架并找到了 ExtJS,我非常喜欢它的演示并检查了 API 文档它似乎支持我需要的所有低级 GUI 东西(想想:Ext.draw
包,尤其是 Ext.draw.Sprite
)。
但后来我还发现了 Sencha Touch,它似乎利用了相同的技术堆栈,但仅适用于移动设备。然而,API 受到更多限制(没有 Ext.draw
可用),并且据我所知只能在 Webkit 浏览器中运行。但它支持基于触摸的交互。
有没有办法创建一个可以在浏览器中运行但也可以“编译”为 native 移动/平板电脑代码(例如使用 PhoneGap)的应用程序?或者这只是一个梦,这两者目前不能混合?
附言。检查了其他类似的问题,但它们似乎已经过时了。
最佳答案
简短回答:恐怕这目前只是一个梦。
长答案:Sencha Touch 和 ExtJS 共享很多底层逻辑并且有些相似,但我会说您最多只能重用 50% 的代码,当试图将一个移植到另一个。
jQuery Mobile 和 jQuery UI 目前有类似的问题 - 它们都创建了很好的移动 UI 框架,只支持 webkit 浏览器,这意味着开发在桌面和移动平台上运行的丰富应用程序并不容易。希望这些项目能在未来的某个时候合并他们的移动和桌面框架,让我们能够创建无需大量重写即可跨两者部署的应用程序。鼠标和触摸屏事件的工作方式始终存在差异,但我希望这是我们唯一需要考虑的事情。
关于RIA 的 ExtJS 与 Sencha Touch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8066834/