Dojo Mobile:iPhone/Android的Web应用开发利器
2010-08-03 17:37
337 查看
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自带手机主题;
在这个示例中,只要选择导入iphone.css,应用就会使用iPhone的界面风格。
Step 2:
添加dojo,导入dojo mobile库;
正如前面提到过dojo mobile是个跨浏览器平台的框架,在运行平台不是以WebKit为内核时,导入名为dojox.mobile.compat的兼容包,兼容非WebKit内核的浏览器。
Step3:
声明博客的目录:
目录列表的声明十分简单,dojox.mobile.EdgeToEgeList是列表容器,容器中每个项目声明为dojox.mobile.ListItem;值得注意的是moveTo属性,该属性实现了场景的切换,点击属性moveTo为"csdn"的ListItem可以切换到id为csdn的dojox.mobile.View;
下面以CSDN为例,声明文章列表,这里只是一个简单的UI,在正式应用中应该由服务器端提供数据:
通过在ListItem上声明href可以指向博客文章的地址,接下去的实现就不在本文的讨论范围内了。
OK,至此我们已经对dojo mobile框架进行了初步探索,可以看到使用dojo mobile框架可以非常快速搭建iPhone/Android本地风格的Web应用,提高了Web应用在移动设备上的用户体验。
中的一个子项目。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">   </li> <li dojoType="dojox.mobile.ListItem" icon="images/javaeye.png" moveTo="javaeye">   </li> <li dojoType="dojox.mobile.ListItem" icon="images/sitepen.png" moveTo="sitepen">   </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应用在移动设备上的用户体验。
相关文章推荐
- Dojo Mobile:iPhone/Android的Web应用开发利器
- 使用最新版本Dojo1.7的dojox/mobile开发移动设备web应用
- 使用最新版本Dojo1.7的dojox/mobile开发移动设备web应用
- iphone& android 开发指南 http://mobile.tutsplus.com
- 使用最新版本Dojo1.7的dojox/mobile开发移动设备web应用
- 使用最新版本Dojo1.7的dojox/mobile开发移动设备web应用
- Android开发必备武器,处理XML的利器--SAX快速上手【转】
- 使用jQuery Mobile + PhoneGap 开发Android应用程序(转)
- 用HTML和Javascript开发iPhone/Android原生软体-Mobile Web App Framework总整理
- SuperMap iMobile for Android 三维开发指南
- Android UI开发神兵利器之Angrytools
- 艾玛迪斯咨询讨论了跨平台的应用程序开发的iPhone,Android,黑莓和Windows Phone 7
- Android开发之-类似iPhone弹性效果的BounceListView
- Android iPhone iPad Microsoft Office Mobile 免费了
- Android零基础入门第13节:Android Studio配置优化,打造开发利器
- 移动开发与PC 区别(Android,iPhone)
- Android开发之-类似iPhone弹性效果的BounceListView
- Dojo mobile TweetView 系列教程之五 —— TweetView: Android,打包,回顾
- Genymotion:最快的安卓模拟器,Android 开发利器 安装说明
- 移动设备界面开发: 专业Android, iPhone, iPad, Palm Pre设计工具箱