「如何实现流动式软件发布」线上课堂开课啦,快来报名参与课堂抽奖吧~ 了解详情
写点什么

使用 jQuery Mobile 和 JSON 创建移动应用程序

2011 年 3 月 20 日

近来移动应用开发迅速受到很多公司的关注,他们寻求为现存的产品和应用程序添加移动展现或者“触点”。即便不是所有,大部分移动应用开发框架也都会适应某种现存的“桌面”开发平台。基于 Web 的框架则不同。业界当前采用 jQuery 来创建移动 web 应用程序(上个月发布了 jQuery Mobile Alpha 3 )。

在移动领域,除了对设备特定属性的支持之外,最主要的一个问题就是程序的大小,正如 Aaron Quint 所说

压缩后的 jQuery 也大概有 40-50K,可能还会稍微多一些,此外,如果你想要 jQuery UI 和一些动画功能,那么就还需要 100K。对于移动设备来说,可能没有那么多空间。

JQM Alpha 3 现在已经精简到 17K,其中还有相关的 CSS 文件。

Enrique Ortiz还发现了 JQM 的其他优势

  • 总体上的简单性: 你可以主要使用标签驱动的方式开发页面,那样,你只需要使用很少或者不使用 JavaScript。
  • 进一步改善和得体的降格: jQuery Mobile 哲学是要同时支持高端和性能较差的设备,包括那些不支持 JavaScript 的设备,并且还要尽可能提供最佳体验。
  • 可访问性: jQuery 已经支持可访问的富 Internet 应用程序(WAI-ARIA),以有助于使用辅助技术让有残疾的访问者也能够访问网页。
  • 小文件
  • 主题

安装 JQM 很简单,只需要添加一个样式表文件和三个 JavaScript 文件:

此外,Frank 还提到,在移动领域 JQM 的关键优势就在于,它能够使用 AJAX 让用户界面更平滑:

JQM 把 Ajax 提升了一个层次,这是通过拦截页面请求,并在大多数情况下把这些请求转化为指定的 Ajax 调用达到的。最基本的结果是,当用户访问使用 JQM 构建的 web 应用程序时,只会修改页面的 DOM 结构,而不是每次都替换所有页面。

这种效果是通过使用 HTML5 的 data-* 属性达到的。在 HTML5 中,任何带有 data- 前缀的属性本质上都会被验证解析器忽略,而应用程序可以任意地拦截那些属性。JQM 依赖于 data-role 属性把它的核心功能组合成字符串。

当 JQM 应用程序从一个页面切换到下一个页面时,发生的主要动作就是内容 div 中的内容会换成新页面的内容。

我们可以使用 data-rel 属性请求窗口如何显示,当它显示出来的时候,data-transition 属性会告诉 JQM 做出相应的转换。我们可以使用 data-filter 属性来指定 data-role 列表的行为,而该列表可以基于输入的关键字来过滤列表的值。Frank 还说明了如何创建自定义的 data-* 属性,从而实现应用程序的特殊属性。

JQM 会在今年上半年发布。Frank 最后做出结论:

随着时间的推移,我们期望它能够整合到像 PhoneGap 之类的框架中,并且可能会整合到像 Appcelerator 的 Titanium 等开发环境中。

你认为基于 Web 的移动应用程序有前途吗? 这只是框架和开发是否简单的问题,还是移动应用程序非常特殊(因为用户会使用自己的客户端,并期望获得最好的用户体验和安全性)以致于基于 Web 的应用程序只会成为新平台上的边缘程序。

查看英文原文: Using JQuery Mobile and JSON to Create Mobile Applications

2011 年 3 月 20 日 07:355078
用户头像

发布了 340 篇内容, 共 114.7 次阅读, 收获喜欢 6 次。

关注

评论

发布
暂无评论
发现更多内容

5G进京 “赶考”记:“占得上、保持稳、体验优、信号好”四道考题,分别打几分?

脑极体

微软 WSL 重装操作系统

HoneyMoose

“为爱而生 温暖陪伴”——2021年中国洗地机行业发展峰会圆满落幕

DT极客

多方安全计算:隐私保护集合求交技术

华为云开发者社区

数据集 PSI 隐私保护集合交集 可信 伪随机函数

中公、马士兵、千锋、拉勾入局,腾讯课堂“薪选”IT人才培养按下加速键

DT极客

国内日志监控分析王者之sls

代码先生

分布式日志 海量数据分析 日志监控分析

Flutter开发:Another exception was thrown:Unable to load asset:…的解决方法

三掌柜

5月日更

这一次,彻底搞懂 Go Cond

HHFCodeRv

go

Windows Terminal 安装和运行

HoneyMoose

并行文件存储和分布式 NFS 文件存储有何不同

焱融科技

云原生 高性能 文件存储 容器存储 技术博客

PKI系统简介

上海派拉基础研发

CA PKI

浅谈负载均衡

Damon

负载均衡 5月日更

快成物流科技 x mPaaS | 小程序容器加持下的技术架构“提质增效”

蚂蚁集团移动开发平台 mPaaS

小程序 mPaaS 移动开发平台

高并发调优backlog多大合适?

运维研习社

运维 Nginx PHP-FPM 5月日更 并发调优

保障实时音视频服务体验,华为云原生媒体网络有7大秘籍

华为云开发者社区

云原生 华为云 实时音视频 媒体网络 架构分层

GitHub开源史上最大规模中文知识图谱

不脱发的程序猿

人工智能 自然语言处理 GitHub 开源项目 中文知识图谱

CMMI V2.0丨如何通过CMMI真正在企业中的实施规模化敏捷开发

渠成CMMI

软件 研发管理 CMMI

This BigData,Hadoop组成及生态

Simon郎

大数据 hdfs YARN hadoop3 大数据MapReduce

融云2021 X-Meetup技术沙龙 探讨音视频技术新方向

融云 RongCloud

Too many open files 的四种解决办法

陈迪

拥有5大核心竞争力的华为云GaussDB,成SACC2021最靓那一个…

华为云开发者社区

数据库 华为云 GaussDB 存算分离 GaussDB(for Redis)

从技术趋势看质量赋能

BY林子

敏捷 软件测试 质量赋能

Pulumi 如何在 Windows 环境中设置

HoneyMoose

Windows 任务管理器中如何显示 CPU 逻辑处理器情况

HoneyMoose

一张图看懂嵌入式系统组成

不脱发的程序猿

硬件开发 嵌入式系统 嵌入式学习路线

人人都爱Kubernetes,Docker难道就不香了吗?

读字节

Docker Kubernetes DevOps

Hadoop定位问题日志跟踪

InfoQ_Springup

hadoop

【和平精英x TcaplusDB】两周年,让我们一起加油!

tcaplus

数据库

音频均衡器EQ

floer rivor

音视频 Eq

聊聊dubbo协议

捉虫大师

关于OpenHarmony 2.0共建进展

罗燕珊

鸿蒙 开源项目 OpenHarmony

使用jQuery Mobile和JSON创建移动应用程序-InfoQ