有人说每个程序员都曾经有过改变世界的梦想,笔者认为,这与程序员年轻时编写的第一个程序有着莫大的关系。简简单单的一句“hello world”让年轻的心开始相信梦想,用一种低调的壮志凌云向世界展示自己的存在。那么,今天就让我们从一句简单的“hello world”开始造梦之旅吧。

【范例4-1  简单的页面hello world】

     <!DOCTYPE>
     <htmlxmlns="http://www.w3.org/1999/xhtml">
     <head>
       <meta http-equiv="Content-Type"content="text/html; charset=utf-8" />
       <meta name=”viewport” content=”width=device-width,initial-scale=”>                //本节的重点所在
       <title>hello world </title>                                                            //title属性在应用中是不显示的
       <link rel="stylesheet"href="jquery.mobile-1.0.min.css" />                       //jQuery Mobile样式文件
       <script src="jquery-1.7.1.min.js"></script>                                              //引入jQuery脚本
       <script src="jquery.mobile-1.1.1.min.js"></script>                                    //引入jQuery Mobile脚本
     </head>
     <body>
              <div data-role="page">                                                          //此处为页面控件
         hello world                                                                          //在空间中插入内容hello world
          </div>
     </body>
     </html>

程序运行结果如图4-1所示。

该例虽然看上去非常简单,但是就像C语言中的helloworld一样,不但五脏俱全,同时也是今后利用jQuery Mobile进行应用开发时最基础的模板。

这实际上就是一个HTML页面,但是仔细观察会发现第5行有一句比较陌生的代码:

<meta name=”viewport” content=”width=device-width,initial-scale=”>

这行代码限定了页面的宽度要与设备的宽度保持一致。因为移动设备的种类实在是太多,作为开发者,肯定没有办法考虑到每一种设备的兼容性,因此只有借助于HTML本身来帮助我们。

接下来还有一个更加令人感到陌生的属性initial-scale=1,这个属性又是什么意思呢?这里可以来做一个实验,将“1”改为“2”运行之后看一下效果,结果如图4-2所示。

                         

图4-1 helloworld                                                             图4-2 修改后的hello world

可以看到屏幕中的字体整个放大了一倍。原来initial-scale=1的作用是规定了页面在加载时所要放大的倍数,等于1时即为保持原尺寸不变。这在开发中有着巨大的作用。

目前,电脑屏幕的分辨大多是1366*768像素,而最近的一些以高分辨率为亮点的智能手机的分辨率已经达到了720*1280像素,与此同时大多数人所使用手机的分辨率还停留 在一个较低的水平。这就导致了如果没有一种切实可行的手段来区分这些用户,开发人员就无法做到真正的完美用户体验。

那么到底有没有这样一种方法呢?当然是有的,只要通过修改initial-scale属性的值来放大页面的内容尺寸,就能够很好地实现不同设备上的兼容问题。在本篇最后的综合项目实   例中将给出一个这样的例子。

提示:meta是HTML中非常重要的一个标签,但是它的应用却常常被开发者所忽略。

如果您对学习跨平台APP感兴趣,如果您对jQuery Mobile感兴趣,欢迎阅读本书《构建跨平台APP:jQuery Mobile移动应用实战》

购买链接:

http://product.dangdang.com/23472199.html

http://item.jd.com/11459719.html

jqueryMobile应用第一课《构建跨平台APP:jQuery Mobile移动应用实战》连载一(Hello World)的更多相关文章

  1. 小白学phoneGap《构建跨平台APP:phoneGap移动应用实战》连载一(PhoneGap中的API)

    之前本博连载过<构建跨平台APP:jQuery Mobile移动应用实战>一书.深受移动开发入门人员的喜爱. 从如今開始,连载它的孪生姐妹书phoneGap移动应用实战一书,希望以前是小白 ...

  2. 小白学phoneGap《构建跨平台APP:phoneGap移动应用实战》连载四(使用程序载入事件)

    在了解了PhoneGap中都有哪些事件之后,本节将開始对这些事件的使用方法进行具体地介绍.本节要介绍的是程序载入事件,也就是deviceready.pause和resume这3个事件. [范例4-2 ...

  3. 小白学phoneGap《构建跨平台APP:phoneGap移动应用实战》连载五(使用PhoneGap获取设备信息)

    除了能够将HTML页面打包成可以直接安装运行的APP外,PhoneGap的一个最大优势在于可以通过JavaScript调用设备来访问设备上的硬件信息,从而实现一些原本只有依靠原生SDK才能够达到的目的 ...

  4. 小白学phoneGap《构建跨平台APP:phoneGap移动应用实战》连载三(通过实例来体验生命周期)

    4.1.2  通过实例来亲身体验Activity的生命周期 上一小节介绍了Activity生命周期中的各个过程,本小节将以一个简单的实例来使读者亲身体验到Activity生命周期中的各个事件. 在Ec ...

  5. 小白学phoneGap《构建跨平台APP:phoneGap移动应用实战》连载二(生命周期)

    4.1 什么是生命周期 想要真正地理解PhoneGap应用开发的内涵,首先需要理解什么是生命周期.这在字面上其实非常容易理解,一个应用从开始运行被手机加载到应用被退出之间的过程就称之为一个生命周期.为 ...

  6. 构建跨平台APP开发的两本书,这里重点推荐下

    第一本是<构建跨平台:jquery Mobile移动应用实战> 是目前jqm开发写的比较入门的一本书,上手很快,但是高手我觉得就没有必要学习了,因为写的比较浅显. 第二本是<构建跨平 ...

  7. jquery Mobile应用第2课《构建跨平台APP:jQuery Mobile移动应用实战》连载二(简单的QWER键盘)

    在jQuery Mobile的布局中,控件大多都是单独占据页面中的一行,按钮自然也不例外,但是仍然有一些方法能够让多个按钮组成一行,比如说在范例6-5中就利用按钮分组的方法使4个按钮并列在一行中,如图 ...

  8. 【原创】小白学jquery Mobile《构建跨平台APP:jQuery Mobile移动应用实战》连载五(给按钮加图标)

    在范例5-4所使用的导航栏中,已经为按钮加入了图标的样式,但是当时并没有介绍按钮的图标究竟是怎么一回事.下面截取范例5-4中导航栏部分的代码: <divdata-role="foote ...

  9. 小白学jquery Mobile《构建跨平台APP:jQuery Mobile移动应用实战》连载四(场景切换)

    作为一款真正有使用价值的应用,首先应该至少有两个页面,通过页面的切换来实现更多的交互.比如手机人人网,打开以后先是进入登录页面,登录后会有新鲜事,然后拉开左边的面板,能看到相册.悄悄话.应用之类的其他 ...

随机推荐

  1. CPPUTest 单元测试框架(针对 C 单元测试的使用说明)

    CPPUTest 虽然名称上看起来是 C++ 的单元测试框架, 其实它也是支持测试 C 代码的. 本文主要介绍用CPPUTest来测试 C 代码. (C++没用过, 平时主要用的是C) C++相关的内 ...

  2. 慕课网-安卓工程师初养成-2-1 Java中的关键字

    来源:http://www.imooc.com/code/1176 Java 中常用关键字: 问:这么多,记不住啊......-_-|| 答:现在不需要你记住所有,混个眼熟即可,在学习的过程中,你会逐 ...

  3. 启动obiee

    启动obiee:1.启动数据库第一步:打开Oracle监听$ lsnrctl start第二步:使用sysdab角色登录sqlplussqlplus / as sysdba第三步:启动数据库SQL&g ...

  4. PL/SQL 导入excel表格到oracle数据表

    通过使用PL/SQL 批量查询取数时,将excel中的每一列数据复制黏贴进新建的中间表,黏贴时会有贴歪的情况,也就是某些列会从第二第三行开始插入整列,导致数据乱掉,然后好像又不支持批量删除整列数据,所 ...

  5. 二模11day1解题报告

    T1.树的重量(weight) 给出一棵n个叶节点的树(但是有多组数据)以及n个节点之间的距离(最短距离...然而也只有一条路),求树的所有边权之和. 一开始完全没有思路啊...难道爆搜模拟??狂汗. ...

  6. 怎么用一行代码解决CSS各种IE各种兼容问题

    用一行代码来解决CSS在,IE6,IE7,IE8,IE9,IE10 中的各种兼容性问题. 在网站前端写代码的过程中,很多时间IE各个版本的兼容问题很难整.现在百度与谷歌都有了一行解决这种兼容性的代码了 ...

  7. sql server安装程序无法验证服务账户是什么原因

    为了帮助网友解决“sql server安装程序无法验证服务”相关的问题,中国学网通过互联网对“sql server安装程序无法验证服务”相关的解决方案进行了整理,用户详细问题包括:能是尚未向所有要安装 ...

  8. python发邮件遇到的端口号问题

    在学习使用python发邮件的过程中, 遇到了一个问题:由于测试的时候使用的是QQ邮箱,要求必须使用SSL/TLS加密,所以有了下面的代码, from email.mime.text import M ...

  9. Highcharts 连续的堆积面积图

    说明:设置两个柱形图间距为0 Highcharts柱图,设置X轴各Column的间距 plotOption : {    column : {        // 设置每个柱自身的宽度        ...

  10. 彻底解决_OBJC_CLASS_$_某文件名", referenced from:问题转

    最近在使用静态库时,总是出现这个问题.下面总结一下我得解决方法: 1. .m文件没有导入   在Build Phases里的Compile Sources 中添加报错的文件 2. .framework ...