【问题标题】:Sencha Touch or jQuery Mobile? [closed]Sencha Touch 还是 jQuery Mobile? [关闭]
【发布时间】:2011-05-03 05:51:00
【问题描述】:

我想知道我是否要开发一个移动 Web 应用程序(现在、两周内或一个月内),我应该选择哪一个?您会选择哪一个移动 Web 开发人员?

如果今天正式发布 jQM 1.0,我很可能会接受它(只要它确实兑现了它的承诺)。现在它处于 alpha 阶段,我想知道是否值得为商业级项目跳入它? Sencha Touch 会是更好的选择吗?

【问题讨论】:

  • 并不完全是重复的,但感谢您的指点。
  • William 在 stackoverflow 上有很多超人在不了解开发问题的情况下标记问题重复投票答案

标签: jquery-mobile web-applications sencha-touch mobile-website


【解决方案1】:

Sencha Touch 是一个应用程序框架(您通过 Javascript 以编程方式创建界面),而 jQuery Mobile 更像是一个移动增强库(您为内容编写常规 HTML,然后为过渡/动画添加 jQuery mobile)。 jQuery Mobile 的学习曲线更容易,但 Sencha Touch 可以更好地模拟“原生”应用程序。

【讨论】:

    【解决方案2】:

    您需要问自己的第一个问题是申请的目的是什么。如果您想在其中一个零售店(iTunes、Andoid App Store)上发布应用程序进行销售,或者您需要访问目前无法通过本地 API 访问的设备特定功能(加速度计、相机、联系人等),那么您应该考虑 Native 或混合解决方案之一(Appcelerator、PhoneGap 等)。

    如果您的受众将更多地关注“移动网络”领域,例如企业网络桌面站点的移动版本或 Intranet Web 应用程序端口,那么您应该关注 Sencha Touch 和 jQuery Mobile。这两者之间的决定实际上将取决于您的开发经验以及您觉得更舒服的东西。 Sencha Touch 是一个非常强大的平台,它有一个桌面 (ExtJS) 和移动 (Sencha Touch) 可以相互镜像,因此了解其中一个几乎可以让您启动并与另一个一起运行。此外,Sencha 已在客户端迁移到 MVC 模型,这确实有助于组织客户端代码并使其与服务器端开发平台更加一致。

    上面的帖子实际上是不正确的,在客户端上使用 MVC 模式并在您的调度命令上结合 historyUrl 使您能够使用浏览器的浏览器后退和前进按钮,因此这不是 jQuery Mobile 独有的。此外,Sencha 团队的产品套件包括一个 Designer 应用程序,该应用程序提供 Designer,它是一个所见即所得的编辑器,允许对 UI 进行拖放创建。该公司的路线图让他们在更新 Designer 应用程序的过程中允许拖放式设计触摸移动屏幕和应用程序,这些应用程序将与 MVC 模式一起运行。他们还准备发布新版本的 Sencha Command 工具,该工具将在几分钟内为您自动生成整个 MVC 应用程序结构,然后您可以添加必要的自定义代码来完善您的应用程序。最后,新的 SASS 主题功能允许设计人员使用 CSS3 和 SASS 配置文件以及变量和 Mixins 为您的应用程序生成跨浏览器的 CSS 样式表。

    因此,对于移动 Web 开发问题采用哪种方式的决定取决于您对面向对象的 javascript 的熟悉程度。如果您对它感到非常满意,那么 Sencha Touch 是您的最佳选择,因为它内置在核心引擎中的可扩展类系统可以根据您的需求进行定制......但是如果您对 JS 的经验很少并且想要服务器来提供你的 UI 并且不介意看到地址栏下拉以在页面之间移动(更少的 web 2.0 外观),那么 jQueryMobile 是要走的路。

    很明显,我偏爱 Sencha Touch,因为它经过深思熟虑的类结构、可扩展性、非常活跃的用户社区、Web/移动连续性以及对核心框架的不断改进以及简化开发工作的新工具。更不用说Touch平台更加成熟,因为jQM还没有进入生产模式。

    【讨论】:

    • Sencha Touch 让我望而却步的一件事是它的大尺寸(主要的 sencha-touch.js > 350kb,缩小而不是压缩)。我不知道它是否需要更多的开发文件。 IMO,除非带宽和速度不再是移动设备的瓶颈,否则这种尺寸是不可接受的。
    • 嗯,思考过程是预先交付应用程序框架,然后发出 XHR 请求以从服务器检索更小的信息片段,例如 XML 或 JSON 数据。因此,虽然您是正确的,但初始加载时间比 JQM 稍长,您可以在 ajax 页面请求期间弥补它,而不必去服务器获取其他框架中许多页面的完整页面。只要您可以为用户提供足够的加载指示器,大多数人都愿意等待卓越的应用内页面性能和用户界面小部件的好处。
    • @user576929:感谢您的解释!你提出了一个有效的观点。如果这个 Web 应用程序可以被用户认为是替代原生应用程序,那么下载量实际上很小。然而,假设是用户需要有这种心态。我想知道这个假设什么时候能成真。
    【解决方案3】:

    我已经使用 jQuery mobile 有一段时间了。它在 Blackberry 6、iPhone 和 Android 下运行良好。

    我在这里写了一篇关于它的文章:jQuery mobile alpha

    虽然它是 Alpha 版,但它们显示出良好的进展。我一直在研究他们在 github 上的开发,似乎到 2011 年初会有很酷的东西。

    2011-12-01 更新 jQuery Mobile 发布了 1.0 版,终于退出了 alpha。在此处阅读更多信息:http://jquerymobile.com/blog/2011/11/16/announcing-jquery-mobile-1-0/

    【讨论】:

    • 只是补充一点,我也使用 jquery mobile 有一段时间了(2 个应用程序)。这真是太棒了。但是,在我的 android HTC magic 上,它的运行不如 sencha touch 流畅。这让我怀疑在较慢的设备上,jquery mobile 还没有准备好。差别很大,我正在改用煎茶
    • 同意!与 Sencha 相比,JQM 的表现较差。学习起来要复杂得多,但值得每一秒。
    • 是的,Olivier,根据我的经验,ST2 比 JQM 更轻巧、功能丰富且强大。
    【解决方案4】:

    如果您要制作网站的移动版本,我将使用 jQuery Mobile。如果您要制作“原生”移动应用程序,我将更有可能使用 Sencha Touch。

    http://tysonlloydcadenhead.com/blog/jquery-mobile-vs-sencha-touch

    【讨论】:

      【解决方案5】:

      Sencha touch 的寿命比 jquerymobile 长,但我发现 jquerymobile 处理设备后退按钮比 SenchaTouch 好得多。 我一直认为后退/历史按钮处理在我的应用程序中很重要,所以我更喜欢 jquerymobile。 我一直认为自己是一名 JavaScript 程序员,但我喜欢使用 jquerymobile 时很少需要键入任何 JavaScript 代码的事实。 jquerymobile 设计非常棒,恕我直言。

      【讨论】:

      【解决方案6】:

      我也赞成煎茶,JQM真的很慢,没给人原生应用的印象。

      • 普拉文

      【讨论】:

        【解决方案7】:

        为什么要限制自己...

        查看PhoneGapTitanium Appcelerator

        根据您要完成的任务进行比较。我知道 Sencha Touch 有授权费,就像你说的 jQM 还没有正式发布。

        这是进入移动领域的好时机,因为有很多可行的选择

        【讨论】:

        • 我不愿意使用像 PhoneGap 这样的框架,因为它有额外的抽象层。当原生 SDK 发生变化时,我可能会依赖 PhoneGap 团队来保持他们的框架是最新的。你不认为这是一个潜在的问题吗?
        • 这里有一个场景:当前置摄像头添加到 iPhone4 时。我认为 PhoneGap 可能需要更新他们的 API 以适应这种变化。谁知道未来还会发生什么,也许是热探测?那只是硬件级别。 Apple 有时会更改固件级别。
        • @William 如果该功能对您很重要,只需从 github 下载代码,添加功能并继续前进...与自己编写整个代码相比,代码仍然会更少。
        • PhoneGap 实际上是对 JQM/ST 问题的正交关注。 PhoneGap 为您提供了一个本地 shell,您可以在其中编写 HTML/JS/CSS 内容 - 您可以在其中使用您选择的 JS 框架,无论是 JQM 还是 ST。
        【解决方案8】:

        我认为 jQuery mobile 更容易学习并且看起来很有前途。 1.0 版还没有发布,但它会是一个很好的产品。我觉得它非常有吸引力,因为它基于 jQuery - 简单是座右铭

        【讨论】:

        • 我们投入了大量精力来改进 Sencha Touch 的学习材料。我们添加了 20 个从介绍到部署的指南,以及大量更多的类文档和大幅升级的文档中心应用程序。希望您能看看我们在 2.x 中所做的事情:Sencha Touch 2 中改变了,我们现在在框架中内置了历史支持(我是作者......)。我们在大量扩展的文档中提供了相关指南 - 请参阅 docs.sencha.com/touch/2-0
        【解决方案9】:

        别忘了还有 Dojo Toolkit Mobile。它看起来不错,至少乍一看是这样,它构建在经过验证的可靠 Dojo Toolkit 核心之上。 http://dojotoolkit.org/features/mobile。 Dojo Toolkit 最近并没有太多的受众,但看起来他们从有点沉重的时代取得了很大的进步,我认为值得一看。

        【讨论】:

          【解决方案10】:

          我一直在尝试煎茶架构师,老实说,跑步是一场噩梦。

          我的背景是 DotNet、html、javascript、VB、java,并且已经使用 eclipse 等有一段时间了,所以我不是一个搞清楚依赖关系等的大新手。

          这是我的印象:

          我去了 Sench 网站,下载了 Architect。 然后它让我下载了工具包和 sencha touch。我完全下载了帮助文件/站点推荐/指示的内容。 我有 Sencha Architect V2.1.0 Build 584., sencha-touch-2.0.1.1-commercial.zip, SenchaSDKTools-2.0.0-beta3-windows.exe

          我还下载并安装了一个新的 java sdk / run time 等。安装是在一个完全干净的 XP 机器 (vmware) 上完成的。 Web 服务器是 xampp。

          Sencha 无法识别 SenchaSDKTools-2.0.0-beta3。您必须使用难以找到的说明来破解它。即使在破解它之后,架构师也未能使用正确的 SDK 并在部署时给出错误消息。

          在此过程中还有许多错误需要弄清楚,以及即使完全按照说明进行操作也无法加载数据的问题。

          我已经花费了 11 个小时来达到应用程序可以正常运行而不会出现问题但不会部署的地步。学习一个新的工具/框架等已经够糟糕了,而没有导致悲伤的 ide 和引导你前进的“教学演示”。

          很多人都遇到同样的错误。

          经过 15 个小时的努力,我将其作为一项糟糕的工作而放弃,并返回到 IBM XPages/PHP 和 Blueprint CSS,使用老式的、手工编码的 html5/CSS3 和 jquery/Ajax/JSon 应用程序。

          我这样做的原因是:Application Architect 不断将您推回命令行。我喜欢命令行,给我一个 bash shell 和 vi 就可以了。然而,对于复杂的多文件部署,例如移动应用程序,一个好的 IDE 是物超所值的。建筑师还没有。我一直需要抬起引擎盖并破解以使事情正常进行。

          我最初为一个 12 岁的孩子寻找 Sencha,他对移动应用程序感兴趣并正在寻找一个可以使用的 ide。我试过了——它不适合——即使运行一个 hello world 类型的应用程序对于新手来说也太过分了,帮助文件中的第一个应用程序没有解释自己,但你是否复制了用于从网站提取数据的代码你必须注册。 (城市酒吧应用程序)。

          当 Architect 开箱即用(可能是具有 sdk、工具、触摸和架构师的安装程序)和第一个应用程序 -walk through 是一个简单的 hello 世界,然后构建进入数据,保存数据,然后在多表单之前显示数据。

          【讨论】:

          • 那么你的结论是什么?
          【解决方案11】:

          大约半年前我面临同样的选择,然后我选择了 jQTouch 而不是 Sencha Touch,我发现它非常以 Javascript 为中心。我目前正在将同一个项目移植到 jQuery Mobile,我认为过渡会比使用 Sencha Touch 项目更顺利。

          【讨论】:

            【解决方案12】:

            如果您了解基本的 PHP,我强烈建议您使用 jqmphp.com。在不到 3 天的时间内启动并运行一个完整的在线移动网站以订购食物!

            【讨论】:

              【解决方案13】:

              MoSync 团队最近做了一个有趣的比较:

              哪个 Mobile JavaScript 框架最好:jQuery Mobile、Sencha Touch、jQtouch 或 Kendo UI?

              http://www.codefessions.com/2012/04/mobile-javascript-frameworks-evaluation.html http://www.codefessions.com/2012/04/which-mobile-javascript-framework-is.html http://www.codefessions.com/2012/05/which-mobile-javascript-framework-is.html

              jQueryMobile 获胜,但 arm 的巨大提升是因为许可。我更喜欢 jQueryMobile,因为我不希望其他人(事物)编写我的标记,那样黑客变得困难(至少对我来说),但是,我现在确实有几个 HTML5 应用程序,一个在 jQM 和煎茶触摸。 Sencha Touch 让它变得更流畅,学习起来非常困难,虽然 jQM 让你在一天之内就能上手,但有一些 bug,但你通常会绕过它们,因为这个框架周围有很棒的网络社区。​​p>

              【讨论】:

                【解决方案14】:

                我在几天内使用 Sencha Touch 2.0 构建了一个不错的生产应用程序,并且它按照文档提供。而且,它很快。可能会有一些错误,但是,当我遇到一个错误(这种情况很少见)时,似乎有很多方法可以解决问题,因此它实际上并不那么相关。

                【讨论】:

                  【解决方案15】:

                  Sencha Touch 看起来很棒,但很难使用。 Sencha 支持论坛提供最低限度的支持。 Sencha Touch 2.x 仍处于 alpha 阶段,漏洞百出

                  【讨论】:

                  • 实际上我认为我们有一个非常活跃的论坛社区。到目前为止,仅 Sencha Touch 2 就有近 10,000 个帖子,远远超过 jqm。此外,特别是现在,该团队对所有 Touch 2 论坛都非常投入。
                  【解决方案16】:

                  Sencha touch 将是您刚刚开始的最佳选择,因为它有据可查并且有社区支持。此外,使用 phonegap,您可以将更多时间花在开发上,而在其他移动平台上花费的时间更少。一旦您将应用程序上传到构建器,Phonegap 将为您构建应用程序。

                  【讨论】:

                    【解决方案17】:

                    比较两者就像比较苹果和葡萄......虽然您想同时开发移动应用程序,但两者的舒适程度完全取决于您。

                    如果您想比较功能,此图表可能会有所帮助:http://www.markus-falk.com/mobile-frameworks-comparison-chart/

                    【讨论】:

                      【解决方案18】:

                      基于 Sencha Touch 的应用程序只能在基于 WebKit 的浏览器上运行。基于 JQueryMobile 的应用程序可以在所有移动网络浏览器上运行。

                      我认为您可以在接下来的 2 到 3 年内继续使用 JQueryMobile。我预计在 2-3 年内所有移动浏览器都将基于 WebKit 引擎。一旦所有的移动浏览器都开始支持 WebKit,转向 Sench Touch 主要是因为用户界面质量非常好。

                      【讨论】:

                        【解决方案19】:

                        我建议KendoUI

                        在几天的训练中,这是无与伦比的快速表现。更不用说快速更新和新功能以及对服务器端包装器(asp.net、php、jsp)的支持。它是独一无二的!

                        【讨论】:

                          【解决方案20】:

                          这两种我都用过,它们都有条件,一个比另一个更适合。

                          在我看来,您会在以下情况下使用 JQueryMobile 1. 您需要一个快速、轻量级的 Web 应用程序移动实现。 2. 你有时间限制(学习和实施肯定比 Sencha Touch 快)。 3. 不要求原生外观。

                          在对现有 Web 应用程序进行扩展时,必须将相对简单的功能扩展到移动设备(非常快速和容易),我发现 JQM 非常有用且直接。

                          在我看来,您会在以下情况下使用 sencha 1. 你想要一个原生的外观和感觉 2.你想要移动端的功能性更高(可能通过电话间隙访问原生api) 3. 针对最新的智能手机(性能令人印象深刻)

                          【讨论】:

                            猜你喜欢
                            • 2011-09-18
                            • 1970-01-01
                            • 2011-07-02
                            • 1970-01-01
                            • 1970-01-01
                            • 1970-01-01
                            • 2013-07-05
                            • 1970-01-01
                            • 2011-11-07
                            相关资源
                            最近更新 更多