【问题标题】:Choosing Mobile Web HTML5 Framework [closed]选择移动 Web HTML5 框架 [关闭]
【发布时间】:2011-02-21 06:50:02
【问题描述】:

对于新项目,我一直在寻找一个支持HTML5并且可以在移动设备上运行的框架,即iPhone、iPads。我发现了这些:

对我来说主要的是 HTML5。虽然我回顾了它们提供的功能,但我只是想知道您对它们的体验。

在寻找时我应该去哪一个:

  • 快速入门
  • 良好的文档
  • 类似的Web方式开发
  • 对移动平台的良好支持

【问题讨论】:

  • 我会选择 jQuery Mobile。这可能会对您的决定有所帮助 - *.com/questions/5071369/…
  • 我有兴趣看到答案。这些框架中有多少增强了 html/js/css(例如 jQuery Mobile)而不是生成 html/js/css 的开发环境(可能像 webapp 世界中的 Cappuccino)?
  • 这将有助于指定您想要构建的内容。一个模仿原生应用、列表、轮播、动画的网络应用?您无需框架即可创建适用于移动设备的 HTML5 文档。
  • 您需要明确您最终要构建什么:webapp 或原生应用(但使用 HTML5 开发)?除了 Titanium,大多数框架都是针对 webapp 的,您需要额外的工作才能将它们包装在本机应用程序中。但是原生应用比 webapp 强大得多,尤其是你想在 iOS 中发送电子邮件和上传文件。
  • 这个问题的最终答案是什么?这对我来说似乎很主观。

标签: javascript jquery html mobile


【解决方案1】:

这取决于您的目标受众是什么以及您正在构建的网站的互动程度。

jQTouch:
重在 CSS,轻于 JavaScript,MIT 许可证
对于提供快速入门但遗憾的是文档不多的框架,请使用 jQTouch。它几乎不需要开始,编码也相当简单。它使用 CSS 类来检测适当的动画和交互。

Sencha Touch:
几乎完全JavaScript、GPL 未经许可不得在商业网站上使用
如果您正在构建具有大量视觉交互的复杂企业应用程序,我强烈推荐 Sencha Touch,它有大量文档,并有强大的专业团队提供支持。

M-Project:
MIT 许可证,大量使用 JavaScript,似乎处于 Alpha 阶段,可能有问题
尽管我自己从未使用过 M-Project(感谢您指出),但它看起来确实非常健壮,并且编码风格似乎与基于 ExtJS 的 Sencha Touch 非常相似,所以如果您的团队已经有使用 ExtJS 的经验,考虑这些框架之一可能是明智的。

Nimblekit:
这似乎仅适用于 iOS,如果您决定将应用程序扩展到 Android 或其他平台,这不是一件好事。

Wink Toolkit:
似乎是 MIT,或者那里的一些变体 在我看来,wink 似乎有很多用处,但文档感觉很冷

jQuery Mobile:
双许可证 MIT 或 GPL 2,JavaScript 和 CSS 的完美结合
我会让有更多经验的人来谈谈优点,但是 jQuery 移动版(虽然它也是 alpha 版)得到了一个强大的团队和一个由核心 jQuery 库扩展的支持者社区的支持。可能是除了大多数以企业为中心的应用程序之外的任何东西的最佳选择。

Titanium:
Titanium 不是 HTML5 移动框架,它是框架中包含的原生代码模块的基于 javascript 的接口。这是一个相当直接的框架,但我认为文档很少。

底线:
1. jQuery mobile - 只要您的应用程序不是以企业为中心的
2. Sencha Touch - 如果您的应用程序以企业为中心或重用户交互
3. jQTouch - 如果您正在寻找一个可以快速上手的简单框架,但您不需要太多的热情。
4. Titanium - 如果您更关心在您的应用程序中拥有实际本机控件

演示应用

有一个开源项目PropertyCross,它演示了使用一系列跨平台框架实现的相同应用程序。它对于比较各种框架的代码、开发体验和最终用户体验非常有用。

【讨论】:

  • jqTouch 前段时间被 Sencha 收购,创建 Sencha Touch。 jqTouch 基于 jQuery,Sencha Touch 被移植到 ExtJS
  • jQTouch is still open source,而 Sencha Touch 是 ExtJS 的一个端口
  • 注意 jQuery Mobile 中的非本地选择框。它们会杀死你手机的内存。
  • 我创建了一个开源项目 propertycross.com,它通过展示使用 Sencha、Titanium、Xamarin 等实现的相同应用程序来帮助选择跨平台移动框架...
  • 以企业为中心是什么意思?
【解决方案2】:

jQuery Mobile 更好并且有很好的支持!!

【讨论】:

    【解决方案3】:

    坚持使用 jQuery 移动版。它比 jQtouch 更快。它还具有比 senchas 更好的文档。 Senchas 的初始加载时间很慢。总的来说,jQuery mobile 赢了我的赌注。

    【讨论】:

      【解决方案4】:

      我在这里推荐的这个框架很新,但你以后可能想尝试一下:Mobl - HTML5 for mobile appliccation

      实际上,它是一种在移动设备上构建 HTML 5 应用程序的 DSL(领域特定语言)。它是由Zef Hemel 构建的,作为他的博士论文的一部分,并提供了一种快速构建 HTML5 应用程序的非常简单的方法

      关于您的要求:

      1. 快速入门:是的,使用 Mobl 开始开发非常简单。只需添加一个 Eclipse 插件并更改一些配置。

      2. 文档:该教程已经足够好,但缺少导航,我的意思是,一个全面的结构。我希望他们会尽快添加它。

      3. 类似的网络开发:我不这么认为。作为一种 DSL,Mobl 与 Web 脚本语言(HTML、Javascript、...)相比具有不同的结构(尽管语法与 javascript 相似)。但是理解它们并不需要太多时间。

      4. 支持:这东西不好。在这个早期阶段,Mobl 社区非常有限。

      【讨论】:

        【解决方案5】:

        jQuery mobile 是一个不错的选择,它有Good documentation and support 还有here 是一篇好文章,你会知道该选择哪一个...

        【讨论】:

        • @AndersMetnik tnx 指出来
        【解决方案6】:

        您可能还想看看 PhoneGap(开源)。它还在云中提供免费构建服务,可以从单一源代码库为大多数流行手机提供原生应用程序。我自己没有尝试过,但听起来很有趣。

        【讨论】:

          【解决方案7】:

          我将从HTML 5 boiler plate 开始。它有点重,但您可以根据需要添加或删除它。绝对是我找到的最完整的 HTML5 模板。 然后我会选择jQuery Mobile。它还没有结束 Alpha 版,所以预计会有一点问题,但它背后有一个很棒的社区,它有一个创建插件的良好结构。

          【讨论】:

            【解决方案8】:

            您可能还想研究一下 Google Web Toolkit,它使您能够用 Java 编写移动 HTML5 应用程序。 GWT 有一个模板系统,您可以在其中包含 HTML 和 CSS,因此主要区别在于您使用 Java 而不是 Javascript 编写。之前提到的 Sencha Touch,也有一个 GWT 版本,叫做 Gwt4Touch。

            【讨论】:

              【解决方案9】:

              还有http://zeptojs.com,目标是占用空间小,

              【讨论】:

                【解决方案10】:

                我也会考虑Skeleton

                此处的文档/演示站点:http://www.getskeleton.com/

                【讨论】:

                  【解决方案11】:

                  对于您未来的项目,您还可以查看DHTMLX Touch,这是一个免费的开源框架,用于构建移动网络应用程序。它很容易上手,并且有实时支持论坛。 部分演示:http://www.dhtmlx.com/touch/samples/

                  (我为 DHTMLX 工作)

                  【讨论】: