RIA 的 ExtJS 与 Sencha Touch

标签 extjs sencha-touch extjs4

我正在尝试引导一个富互联网应用程序,它将有一个复杂的 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/

相关文章:

javascript - 从 extjs 4 中的 Accordion 和网格中获取值(value)

sencha-touch - 如何使用sencha touch与数据库建立远程连接

sencha-touch - 在 Sencha Touch 的 View 中使用 getComponent 吗?

many-to-many - 在 Ext Js 4 中实现 ManyToMany 关联

javascript - 最大化 ExtJS 中的选项卡面板?

javascript - extjs 4 网格渲染器

ajax - ExtJS 应用程序是否与 HTML 页面的其余部分共享 session

javascript - EXTJs:添加 subview

javascript - ExtJs getTotalCount() 不返回存储中的记录数

javascript - 动态地将具有表单的容器添加到另一个容器