草庐IT

javascript - 为什么不为移动设备使用 vanilla Jquery?即与特定于移动设备的基于 jquery 的库 (jqtouch/sencha) 形成对比?

coder 2024-07-25 原文

这似乎是一个基本/愚蠢/显而易见的问题,但我想检查一下: 为什么要使用面向移动设备的 javascript 库(例如 jqtouch)而不是直接使用 jquery?

上下文:

我们正在考虑丰富我们网络应用程序的移动 View 。我在我的 android 2.1(摩托罗拉机器人)上尝试了各种 jqtouch 演示。许多 UI“功能”演示都失败了(例如动画),尽管演示应用程序(待办事项和世界时钟)运行良好。

同样,我使用同一部手机测试了我们网络应用程序的“完整”版本。这个“完整版”下载了大量的 javascript,包括完整的 jquery 1.3.2。该站点运行良好(包括 ajax 获取和发布)并且不会感觉太慢。 (注意:我必须下载完整的站点,然后双指缩放才能阅读文本。这增加了很多开销。)

问题

所以,我问这些“显而易见”的问题:

  • 包含基本 jquery 库的缺点是什么?即并使用标准的 html/css 来呈现 ui(即而不是 jqueryui 或 jqtouch)。假设:用户可以接受“标准 html”网络应用,不需要/不想要像“ native ”应用那样的外观。

  • 如果我理解正确的话,jqtouch 的主要优势包括: - 更小的 .js 文件大小 - 更好的 UI 小部件。请让我直截了当。

  • 在“理论上共产主义工作”部门,我假设“大 .js 大小”不会导致问题,因为移动浏览器会缓存它。 (即下载一次 120Kb 的大文件,然后永远使用它)。然而,有传言说,在 i-phone 上,一个大文件会推出其他缓存条目..因此浏览器可能确实需要每次重新下载 big.js 文件。 .js 文件的移动浏览器缓存有何不足之处?

  • 谁能评论当前(2010 年 8 月)移动图书馆的跨浏览器(安卓/黑莓)缺点?据我所知,专门为 webkit 构建的 jqtouch 不能很好地与现代黑莓浏览器配合使用。

谢谢

账单

最佳答案

jqTouch 是一个 jQuery 插件。所以你包括标准的 jQuery 有或没有它。所以你的 JS 更大,而不是更小。 jQuery(与 jQuery UI 相对)不包含 UI 小部件。 jqTouch 的小部件在移动设备上看起来更“原生”。我无法对黑莓发表评论。

注意有a mobile-optimized version of jQuery planned for later this year .

关于javascript - 为什么不为移动设备使用 vanilla Jquery?即与特定于移动设备的基于 jquery 的库 (jqtouch/sencha) 形成对比?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3478479/

有关javascript - 为什么不为移动设备使用 vanilla Jquery?即与特定于移动设备的基于 jquery 的库 (jqtouch/sencha) 形成对比?的更多相关文章

  1. ruby - 多次弹出/移动 ruby​​ 数组 - 2

    我的代码目前看起来像这样numbers=[1,2,3,4,5]defpop_threepop=[]3.times{pop有没有办法在一行中完成pop_three方法中的内容?我基本上想做类似numbers.slice(0,3)的事情,但要删除切片中的数组项。嗯...嗯,我想我刚刚意识到我可以试试slice! 最佳答案 是numbers.pop(3)或者numbers.shift(3)如果你想要另一边。 关于ruby-多次弹出/移动ruby​​数组,我们在StackOverflow上找到一

  2. ruby-on-rails - 如何重命名或移动 Rails 的 README_FOR_APP - 2

    当我在我的Rails应用程序根目录中运行rakedoc:app时,API文档是使用/doc/README_FOR_APP作为主页生成的。我想向该文件添加.rdoc扩展名,以便它在GitHub上正确呈现。更好的是,我想将它移动到应用程序根目录(/README.rdoc)。有没有办法通过修改包含的rake/rdoctask任务在我的Rakefile中执行此操作?是否有某个地方可以查找可以修改的主页文件的名称?还是我必须编写一个新的Rake任务?额外的问题:Rails应用程序的两个单独文件/README和/doc/README_FOR_APP背后的逻辑是什么?为什么不只有一个?

  3. jquery - 我的 jquery AJAX POST 请求无需发送 Authenticity Token (Rails) - 2

    rails中是否有任何规定允许站点的所有AJAXPOST请求在没有authenticity_token的情况下通过?我有一个调用Controller方法的JqueryPOSTajax调用,但我没有在其中放置任何真实性代码,但调用成功。我的ApplicationController确实有'request_forgery_protection'并且我已经改变了config.action_controller.consider_all_requests_local在我的environments/development.rb中为false我还搜索了我的代码以确保我没有重载ajaxSend来发送

  4. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  5. ruby-on-rails - rbenv:从 RVM 移动到 rbenv 后,在 Jenkins 执行 shell 中找不到命令 - 2

    我从Ubuntu服务器上的RVM转移到rbenv。当我使用RVM时,使用bundle没有问题。转移到rbenv后,我在Jenkins的执行shell中收到“找不到命令”错误。我内爆并删除了RVM,并从~/.bashrc'中删除了所有与RVM相关的行。使用后我仍然收到此错误:rvmimploderm~/.rvm-rfrm~/.rvmrcgeminstallbundlerecho'exportPATH="$HOME/.rbenv/bin:$PATH"'>>~/.bashrcecho'eval"$(rbenvinit-)"'>>~/.bashrc.~/.bashrcrbenvversions

  6. jquery - 如何将 AJAX 变量从 jQuery 传递到他们的 Controller ? - 2

    我有一个电子邮件表格。但是我正在制作一个测试电子邮件表单,用户可以在其中添加一个唯一的电子邮件,并让电子邮件测试将其发送到该特定电子邮件。为了简单起见,我决定让测试电子邮件通过ajax执行,并将整个内容粘贴到另一个电子邮件表单中。我不知道如何将变量从我的HAML发送到我的Controllernew.html.haml-form_tagadmin_email_blast_pathdoSubject%br=text_field_tag'subject',:class=>"mass_email_subject"%brBody%br=text_area_tag'message','',:nam

  7. ruby-on-rails - 禁用设备的 :confirmable on-the-fly to batch-generate users - 2

    Devise是一个Ruby库,它为我提供了这个User类:classUser当写入:confirmable时,注册时会发送一封确认邮件。上周我不得不批量创建300个用户,所以我在恢复之前注释掉了:confirmable几分钟。现在我正在为用户批量创建创建一个UI,因此我需要即时添加/删除:confirmable。(我也可以直接修改Devise的源码,但我宁愿不去调和它)问题:如何即时添加/删除:confirmable? 最佳答案 WayneConrad的解决方案:user=User.newuser.skip_confirmation

  8. ruby-on-rails - 使用 javascript 更改数据方法不会更改 ajax 调用用户的什么方法? - 2

    我遇到了一个非常奇怪的问题,我很难解决。在我看来,我有一个与data-remote="true"和data-method="delete"的链接。当我单击该链接时,我可以看到对我的Rails服务器的DELETE请求。返回的JS代码会更改此链接的属性,其中包括href和data-method。再次单击此链接后,我的服务器收到了对新href的请求,但使用的是旧的data-method,即使我已将其从DELETE到POST(它仍然发送一个DELETE请求)。但是,如果我刷新页面,HTML与"new"HTML相同(随返回的JS发生变化),但它实际上发送了正确的请求类型。这就是这个问题令我困惑的

  9. ruby - 在 Mechanize 中使用 JavaScript 单击链接 - 2

    我有这个:AccountSummary我想单击该链接,但在使用link_to时出现错误。我试过:bot.click(page.link_with(:href=>/menu_home/))bot.click(page.link_with(:class=>'top_level_active'))bot.click(page.link_with(:href=>/AccountSummary/))我得到的错误是:NoMethodError:nil:NilClass的未定义方法“[]” 最佳答案 那是一个javascript链接。Mechan

  10. STM32的HAL和LL库区别和性能对比 - 2

    LL库和HAL库简介LL:Low-Layer,底层库HAL:HardwareAbstractionLayer,硬件抽象层库LL库和hal库对比,很精简,这实际上是一个精简的库。LL库的配置选择如下:在STM32CUBEMX中,点击菜单的“ProjectManager”–>“AdvancedSettings”,在下面的界面中选择“AdvancedSettings”,然后在每个模块后面选择使用的库总结:1、如果使用的MCU是小容量的,那么STM32CubeLL将是最佳选择;2、如果结合可移植性和优化,使用STM32CubeHAL并使用特定的优化实现替换一些调用,可保持最大的可移植性。另外HAL和L

随机推荐