javascript - 在选择合适的 iOS Mobile Safari Web 开发工具(jQuery Mobile/Sencha Touch/等)时感到沮丧

标签 javascript mobile-safari jquery-mobile javascript-framework sencha-touch

在为 iPad Mobile Safari 使用 Backbone JS 和 jQuery Mobile 完成一个项目后,我觉得 jQuery Mobile 可能不是完成该特定工作的正确工具。

我发现 jQuery Mobile 的性能总体上非常令人失望。许多移动 JS 框架(处理转换、对话框等)似乎都遇到了同样的问题。让 jQuery Mobile 和 Backbone JS 很好地协同工作似乎有点参差不齐。

我需要像 jQuery Mobile 这样的东西来处理拖放元素和页面转换(和对话框)。 Backbone JS 非常适合我们正在做的事情,因此我们希望将其保留在工具箱中。我们只为 iPhone 和 iPad 做项目,并且在 native 上做它们(使用 Objective-C)在这种情况下是不合适的。

最近完成的项目最终使用了 jQuery、jQuery Mobile、jQuery UI、一些使 jQuery UI 可以与触摸、Backbone JS、Underscore JS 一起工作的小插件……对于手机上的网络应用程序来说,这一切似乎太沉重了!我想要功能强大且占地面积更小的东西。

Sencha Touch 似乎具有出色的性能,但您似乎确实需要先了解它并了解它的工作原理。但也许我错了?我更喜欢寻找与 Backbone 配合良好、相对轻量级并且具有很多用于为 iPhone/iPad 构建漂亮的 UI 的功能(手势支持、页面/对话框转换、 ListView 等)。理想情况下,它的行为更像 jQuery——我称它为 DOM 上的位并在我们不想要它时远离​​它——而不是它是一个指令框架并且必须遵守它的规则(如 jQuery移动设备,很可能是 Sencha Touch)。还看到了jQTouch...不过这个现在已经被Sencha接管了,也就是说它已经死了?

有什么东西可以做到这一点吗?我们可以使用轻量级、稳定、快速和可靠的东西,结合 Backbone JS,为 Mobile Safari 创建快速、响应迅速的 Web 应用程序……它仍然具有所有有用的 UI 和过渡等,可以使应用程序大放异彩?

最佳答案

嗯……我同意你关于 JavaScript 框架膨胀部分的看法。我发现 jqTouch、jQuery Mobile 和 Sencha 也很令人沮丧。有太多不需要在那里的东西。然后我查看了 Zepto 和 BaseJS,但它们大多只用于移动 JavaScript,不提供控件或布局帮助。所以我卷起袖子重新发明了轮子。我创建了一个名为 ChocolateChip-UI 的框架。它为移动 Web 应用程序提供了一种清晰直接的标记语言,称为 WAML(Web App Markup Language)。它还提供了许多标准的 iOS 类型控件和布局,可以轻松自定义以创建独特的外观。大多数 ChocolateChip-UI 控件都可以手动编码或动态创建并通过简单调用进行初始化。 ChocolateChip-UI 负责使控件具有适当的行为。

我快速浏览了 Backbone,我的感觉是应该可以将 ChocolateChip-UI 的布局和控件用作 Backbone View 。所有 ChococlateChip-UI 应用程序的根是“应用程序”。这将有一个或移动“ View ”,也可以有“ subview ”。因此,您似乎应该能够将 ChocolateChip-UI View 和 subview 映射到 Backbone View 。如果你让它工作,请告诉我。无论如何,当我有足够的空闲时间时,我将有兴趣亲自测试它,看看我是否可以为那些想要使用 Backbone 的人制作一个内置 Backbone 支持的特殊版本的 ChocolateChip-UI。基本上,那个版本的 ChocolateChip-UI 将成为 Backbone 的增强 View 引擎。

就此而言,ChocolateChip-UI 是开源的。随意蚕食或切除它以满足您的目的。

关于javascript - 在选择合适的 iOS Mobile Safari Web 开发工具(jQuery Mobile/Sencha Touch/等)时感到沮丧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5647422/

相关文章:

javascript - 如何检测鼠标何时停止

javascript - 在 JavaScript 中检测完整的 IE 版本

ios - iOS 6 上对 safari mobile 的 CSS 样式滚动条支持消失了吗?

iOS Webkit 忽略媒体查询

javascript - ZF2 : Restful and image combination

javascript - 解析字符串以获取数组详细信息

iPhone HE-AAC 通过移动网络 (3G) 进行流媒体播放

javascript - JQuery Mobile 数据库成功事件未触发功能

jQueryMobile 水平对齐网格元素

blackberry - 运行 blackberry webworks 项目时,.cod 数据部分变大