我正在尝试引导富Internet应用程序,它将具有复杂的画布(想想:Visio),并且应该按照以下原则工作:
它会在浏览器中运行
它可以在平板电脑上运行(Android或其他)
支持复杂绘图,拖放等
自己运行(例如,没有服务器组件)愉快地运行
可以根据需要利用传统和触摸UI - 用户可以使用鼠标或使用触摸屏绘制线条
我正在考虑使用Javascript框架并找到ExtJS,我很喜欢它的演示并检查API文档它似乎支持我需要的所有低级GUI内容(想想:Ext.draw
包,尤其是Ext.draw.Sprite
).
但后来我也找到了Sencha Touch,它似乎只是为移动设备利用相同的技术堆栈.然而Ext.draw
,就我所知,API更受限制(不可用),并且只在Webkit浏览器中运行.但它支持基于触摸的交互.
有没有办法创建一个在浏览器中工作的应用程序,但也可以"编译"为本机移动/平板电脑代码(例如,使用PhoneGap)?或者这只是一个梦想,这两个目前还不能混合?
PS.检查了其他类似的问题,但它们似乎已经过时了.
简短的回答:目前这只是一个我害怕的梦想.
答案很长: Sencha Touch和ExtJS共享很多底层逻辑并且有些相似,但我想说在尝试将一个代码移植到另一个代码时,你最多只能重复使用50%的代码.
jQuery Mobile和jQuery UI目前共享类似的问题 - 它们都创建了漂亮的移动UI框架,它只支持webkit浏览器,这意味着没有简单的方法来开发在桌面和移动平台上运行的丰富应用程序.希望这些项目将在未来的某个时刻合并他们的移动和桌面框架,以允许我们创建可以跨两者部署的应用程序而无需大量重写.鼠标和触摸屏事件的工作方式总是存在差异,但我希望这是我们唯一需要考虑的事情.