Dojo Mobile:iPhone/Android的Web应用开发利器

Dojo Mobile框架是一套移动终端的Web应用开发框架,是最新发布的dojo1.5 中的一个子项目。Dojo Mobile主要面向手持设备上的Web富客服端应用开发,提供了iPhone和android两套主题,使得基于iPhone或者Android的Web应用具有手机本地应用的外观和效果,而同时也给了开发者更多的主导权。下面是在Android下基于Dojo Mobile开发的Web应用Demo图,如果不是看得到地址栏,可能会以为是iPhone和Android的原生程序呢。



Dojo Mobile开发框架有这么几个特点:


1.轻量级,dojo mobile框架在压缩之后仅有100k,在同类js框架中算是体积相当小的,对移动设备来说十分合适。

2.大量使用CSS3实现iPhone和Android本地程序的特效,动画效果流畅

3.跨浏览器平台,dojo mobile同时也支持非webkit内核的手机浏览器,使用dojo自带的dojo.animateProperty与dojox.gfx模拟特效

下面我们使用dojo mobile框架快速开发一个博客应用的简单UI, Web界面的草图如下,是一个二级列表结构:


Step 1:

首先导入CSS文件,包括dojo1.5默认主题claro和mobile自带手机主题;

<link href="dojo/dijit/themes/claro/claro.css"/> <link href="dojo/dojox/mobile/themes/iphone/iphone.css"/>

在这个示例中,只要选择导入iphone.css,应用就会使用iPhone的界面风格。

Step 2:

添加dojo,导入dojo mobile库;

<script type="text/javascript" src="dojo/dojo/dojo.js" djConfig="parseOnLoad:true"></script> <script type="text/javascript"> dojo.require("dojox.mobile"); dojo.require("dojox.mobile.parser"); dojo.requireIf(!dojo.isWebKit, "dojox.mobile.compat"); </script>

正如前面提到过dojo mobile是个跨浏览器平台的框架,在运行平台不是以WebKit为内核时,导入名为dojox.mobile.compat的兼容包,兼容非WebKit内核的浏览器。

Step3:

声明博客的目录:

<div id="main" dojoType="dojox.mobile.View" selected="true"> <h1 dojoType="dojox.mobile.Heading">博客</h1> <ul dojoType="dojox.mobile.EdgeToEdgeList"> <li dojoType="dojox.mobile.ListItem" icon="images/a-icon-4.png"> 自动更新 <div class="mblItemSwitch" dojoType="dojox.mobile.Switch"> </div> </li> <li dojoType="dojox.mobile.ListItem" icon="images/csdn.png" moveTo="csdn"> &nbsp </li> <li dojoType="dojox.mobile.ListItem" icon="images/javaeye.png" moveTo="javaeye"> &nbsp </li> <li dojoType="dojox.mobile.ListItem" icon="images/sitepen.png" moveTo="sitepen"> &nbsp </li> </ul> </div>


目录列表的声明十分简单,dojox.mobile.EdgeToEgeList是列表容器,容器中每个项目声明为dojox.mobile.ListItem;值得注意的是moveTo属性,该属性实现了场景的切换,点击属性moveTo为"csdn"的ListItem可以切换到id为csdn的dojox.mobile.View;

下面以CSDN为例,声明文章列表,这里只是一个简单的UI,在正式应用中应该由服务器端提供数据:

<div id="csdn" dojoType="dojox.mobile.View"> <h1 dojoType="dojox.mobile.Heading" back="列表" moveTo="main">CSDN</h1> <ul dojoType="dojox.mobile.EdgeToEdgeList"> <li class="mblVariableHeight" dojoType="dojox.mobile.ListItem" style="font-size:10px"> 1. <a href="#" class="lnk">两分钟彻底让你明白Android Activity生命周期</a> <br> 魏祝林 <br> <span class="date"> 2010年07月28日 </span> </li> <li class="mblVariableHeight" dojoType="dojox.mobile.ListItem" style="font-size:10px"> 2. <a href="#" class="lnk">思考mysql内核之初级系列8---innodb的list算法</a> <br> 杨万富 <br> <span class="date"> 2010年08月01日 </span> </li> <li class="mblVariableHeight" dojoType="dojox.mobile.ListItem" style="font-size:10px"> 3. <a href="#" class="lnk">[框架那点事儿-快速开发季]编写自己的数据持久层</a> <br> 曲子深 <br> <span class="date"> 2010年08月02日 </span> </li> <li class="mblVariableHeight" dojoType="dojox.mobile.ListItem" style="font-size:10px"> 4. <a href="#" class="lnk"> 在Android上用PHP编写应用- PFA初探</a> <br> 蒋宇捷 <br> <span class="date"> 2010年07月29日 </span> </li> <li class="mblVariableHeight" dojoType="dojox.mobile.ListItem" style="font-size:10px"> 5. <a href="#" class="lnk">系统管理员变程序员 四步转型</a> <br> 黄志斌 <br> <span class="date"> 2010年08月03日 </span> </li> <li class="mblVariableHeight" dojoType="dojox.mobile.ListItem" style="font-size:10px"> 6. <a href="#" class="lnk">理解Design Pattern</a> <br> Teddy's Knowledge Ba <br> <span class="date"> 2010年08月02日 </span> </li> </ul> </div>

通过在ListItem上声明href可以指向博客文章的地址,接下去的实现就不在本文的讨论范围内了。

OK,至此我们已经对dojo mobile框架进行了初步探索,可以看到使用dojo mobile框架可以非常快速搭建iPhone/Android本地风格的Web应用,提高了Web应用在移动设备上的用户体验。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值