`
wjlgryx
  • 浏览: 306789 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JIL Mobile Widget 初步认识

阅读更多

   上星期去参加html5专题讲座沙龙,学到了点比较好奇的东西,所以回来研究研究!

前言
手机平台的技术发展与趋势,「从本机(Native Application)走向云端(Cloud Computing)应用」,是一个不能不谈的发展方向。在云端的架构之下,应用程序都可以由单机形式转变为Web Application。因为运算不在手机端了,是在服务器端;所以,「如果要你撰写一个能秀出服务器端图片的软件,你要怎么做?」


软件构思
传统的应用开发做法,会以单机应用做为思考出发点。一开始,我想:「利用ImageView组件,搭配Socket来连接服务器。」不过,经过一番研究后,想到:「 为何不想想HTML技术,这种方式不是会比传统的UI组件搭配运算代码方式更省力吗。」


图一:一开始的架构--ImageView搭配Socket

我又想:「意思是做成HTML文件,利用手机上的Browser来观看图片吗。这跟网页制作有什么不同。」

用Browser来观看HTML文件,在手机上需要有Browser才行。但Browser是一个完整的应用软件,不易于UI整合;因此,我们需要的是类似ImageView这种组件,但又要能完善支持Web技术,因为这样的组件才能嵌入到UI里,例如与Home Screen做整合,才能提供更佳的使用性。

JIL Mobile Widget带来新形态的软件开发模式

我的想法是:一个能完全支持HTML/CSS/JavsScript的「Web Widget」具备Browser的功能,又能以组件(Widget)的形式与手机UI结合。真有这种技术吗?有Browser的「功能」,又可以如组件(Widget)般嵌入UI!

OPhone的JIL Mobile Widget技术正是一个代表。

图二:采用Web导向方式

OPhone Platform的特色:「加入了由JIL所开发的Mobile Widget。」Mobile Widget提供了相当强大的HTML/CSS/JavaScript功能,特别是WDT(OPhone SDK的Eclipse开发插件)的配合,已经能实现一些「采用HTML制作应用软件、整合云端服务」的理想了。JIL与WDT是未来3G软件开发新模式的示范,值得我们去留意这个方向。

JIL Mobile Widget的应用开发模式



典型的Android应用程序采用Java语言开发,大多数运算被实作在本机上,意谓著这些应用程序都使用手持设备的运算(即Processor)资源;这类的应用程序就是我们经常看见的APK组件。JIL Mobile Widget与APK应用程序很不一样,整个应用就是一套网页,并被包装成WGT组件后安装到手机上。

1. 创建HelloWidget专案

利用Eclipse的New Widget Project功能,立即创建一份基本的JIL Mobile Widget应用,这个应用包含下列文件:

•HelloWidget.html - 主画面文件
•HelloWidget.js - JavaScript代码、由HelloWidget引入使用
•HelloWidget.css - 使用CSS做UI排版(Layout)
•Default.png - 背景图
•Icon.png - 图示
•config.xml - Mobile Widget的设置文件

这些都是WDT在创建Mobile Widget项目时自动产生的文件。有了WDT的协助,简单的Mobile Widget应用可以很快被创建。经过一番功夫,终于学习到OPhone Platform最精采的一项技术。这时,终於可以继续开发我的应用了。

2. 修改HTML (UI)

我首先想到的是:「更换HTML文件的背景图」。这个工作难不倒有网页制作功底的我,所以我很快就制作了一张全新的图档,并取代原来的Default.png。很快地,我了解到Mobile Widget是怎么一会事了。因为这和我过去在制作网页时,所使用的观念相同。

制作JavaScript功能

我继续制作著秀图软件。制作一个秀图软件倒底能有多简单?

制作秀图软件

我想要用JavaScript来展现照片的动态效果,所以很快地想到jQuery这个JavaScript库。 jQuery是一个相当受到欢迎的JavaScript库,jQuery改变我们撰写JavaScript的方式,现在,我们把它放到OPhone Platform里一起使用。也就是,如果我们能善用现有的Web Application技术,「制作联网的OPhone软件就是这么简单。」这是一个很棒的火花,也是移动技术的趋势。


於是我先将jQuery加了进来,然后修改HelloWidget.html,加入:


view plaincopy to clipboardprint?

    <script type="text/javascript" src="jquery.min.js"></script> 


然后又想到,「照片的画面编排呢?要怎么做?」因为用了Mobile Widget技术,所以当然是使用CSS来做UI排版。於是我又编写了一段CSS代码,同时用来取代自动创建的HelloWidget.css,并存成slideshow.css如下:

view plaincopy to clipboardprint?

    #home_slideshow { 
           width: 180px; 
    } 
    #home_slideshow img { 
        position:absolute; 
        z-index:8; 
        opacity:0.0; 
    } 
    #home_slideshow img.active { 
        z-index:10; 
        opacity:1.0; 
    } 
    #home_slideshow img.last-active { 
        z-index:9; 
        opacity:0.0; 
    } 



依软件架构的要求,先将3张图片放到我的Web空间里;然后加上了一段HTML代码到HelloWidget.html以秀出图片,并使用上述的CSS做UI排版:

view plaincopy to clipboardprint?

    <div id="home_slideshow"> 
    <img src="http://www.jollen.org/consulting/1.jpg" width="240" alt="" class="active" /> 
    <img src="http://www.jollen.org/consulting/ 2.jpg" width="240" alt="" /> 
    <img src="http://www.jollen.org/consulting/ 3.jpg" width="240" alt="" /> 
    </div> 


搭配JavaScript可以做出什么效果呢?我决定展现一下过去设计JavaScript的功力,制作了一段代码,可以让3张图片以随机方式每次显示一张。「搭配CSS更可以做出一些显示效果。」把以下代码加入HelloWidget.html:

view plaincopy to clipboardprint?

    <script type="text/javascript"> 
      
           function slideSwitch() { 
                  var $active = $('#home_slideshow img.active'); 
                        var $sibs = $active.siblings(); 
                        var rnd = Math.floor(Math.random() * $sibs.length ); 
                        var $next = $($sibs[rnd]); 
      
                  if ($active.length == 0) $active = $('#home_slideshow img:last'); 
                  $active.addClass('last-active'); 
            
                  $next.css({opacity: 0.0}) 
                         .addClass('active') 
                         .animate({opacity: 1.0}, 1200, function() { 
                                $active.removeClass('active last-active'); 
                         }); 
           } 
            
           // Using jQuery 
           $(function() { 
                  setInterval( "slideSwitch()", 5000 ); 
           }); 
            
    </script> 


从这个例子来看,由JIL所制定与开发的Mobile Widget成功让手机软件开发成为一种「跨开发人员」的技术,同时配合API标准的制定,Mobile Widget还可以被导入不同的手机平台,成为一项3G应用开发的新标准。令人耳目一新!

使用Mobile Widget技术,我以最少的代码,完成了一个秀图软件。

 

  • 大小: 65.7 KB
  • 大小: 63.3 KB
  • 大小: 39.8 KB
分享到:
评论

相关推荐

    JIL Mobile JIL Spec

    JIL Mobile Widget是目前手机终端上最重要的规范之一,它是由JIL...目前中国移动Mobile Market上已经开始销售Widget应用,本规范定义了JIL Mobile Widget最为重要的两侧,JIL widget格式规范以及JIL Widget API规范。

    JIL Widget 范例

    **JIL Widget 范例详解** JIL(Java Interactive Learning)Widget是一种基于Java平台的轻量级应用程序,主要用于提供用户界面元素和交互功能。它为开发者提供了在各种设备上创建自定义用户界面的可能性,特别是在...

    JIL Widget Format Specification 1.01 JIL Widget 格式规范1.01

    ### JIL Widget 格式规范 1.01 关键知识点概述 #### 一、文档概览 **《JIL Widget 格式规范 1.01》**是一份技术文档,旨在为开发者提供关于如何创建符合 JIL(Joint Innovation Lab)标准的 Widget 的详细指南。这...

    JIL widget system API specfication(Handset API)1.1 JIL Widget 系统API(终端侧API)1.1规范

    ### JIL Widget System API Specification (Handset API) 1.1 规范 #### 前言 欢迎阅读《JIL Widget系统API规范》。本规范文档旨在为开发者提供一个全面的技术指南,涵盖了一系列用于开发运行在终端设备上的Widget...

    JIL Widget System API Specification - Handset API v1 2 2.pdf

    ### JIL Widget System API Specification — 手机API v1.2.2 #### 概述 JIL(Joint Innovation Lab)Widget系统API规范是为中国移动等运营商提供的一个标准框架,旨在帮助开发者创建基于Web的应用程序。该规范版本...

    JIL Widget System API Specification - Handset API v1.2.0.pdf

    ### JIL Widget System API Specification V1.2.0 关键知识点解析 #### 一、概述 JIL(Joint Innovation Lab)Widget System API Specification 版本 1.2.0 是一款专为移动设备设计的Widget系统API规范文档,旨在...

    JIL SDK Getting Start 1.0 JIL SDK 1.0教程

    JIL SDK(Joint Innovation Lab Software Development Kit)是专门为开发移动小工具(Widget)而设计的一个开发工具包。它基于业界标准的Eclipse软件开发环境,并集成了一个JIL Widget Wizard来帮助开发者在几分钟内...

    widget搭建开发环境

    本文将详细介绍如何基于OPhone平台进行Mobile Widget的开发环境搭建及简单示例,帮助开发者快速入门。 #### OPhone Mobile Widget开发概述 OPhone是一款基于Android系统定制的操作系统,支持多种应用程序的开发,...

    JIL SDK 1.0 API Refernce JIL SDK1.0 API 手册

    **JIL SDK 1.0 API 参考手册** JIL SDK 1.0 API 参考手册是针对Java Intelligent Learning (JIL) 平台的开发者所设计的一份详尽指南,它提供了全面的API接口说明,帮助开发人员理解和使用JIL SDK进行应用程序的开发...

    JIL SDK 1.0 Overview JIL SDK 1.0概述文档

    ### JIL SDK 1.0 概述 #### 引言 欢迎来到联合创新实验室(Joint Innovation Lab,简称 JIL)。JIL SDK 1.0 是一个强大的开发工具包,它为开发者提供了一种创建可运行在 JIL 兼容手机上的应用小部件的方式。这些...

    基于WAC的Widget开发指南

    ### 基于WAC的Widget开发指南:关键知识点概览 #### 1....通过学习本指南,开发者不仅可以熟悉JIL SDK的使用,还能够深入了解Widget开发的关键技术和最佳实践,从而有效地提高开发效率和产品质量。

    JIL SDK Release 1.0 User Guide JIL SDK 1.0用户向导

    ### JIL SDK 1.0 用户指南:移动小部件开发详解 #### 一、引言 JIL(Joint Innovation Lab)SDK 1.0 用户指南为开发者提供了全面深入的指导,帮助他们创建符合 JIL 规范的移动小部件。本指南主要涵盖以下几个方面...

    Widget开发规范

    JIL API规范定义了Widget与设备硬件和操作系统之间的交互接口,是实现Widget功能多样性和增强设备兼容性的基础。掌握JIL API的使用方法,可以使Widget开发者充分利用设备资源,提供更加丰富的功能和服务。例如,位置...

    比Json.Net更快的JSON 序列化库 Jil.zip

    Jil 是一个 .NET 的快速 JSON 序列化和反序列化的开发包,基于 Sigil 构建并进行一些疯狂的优化。示例代码:using(var output = new StringWriter()) {  JSON.Serialize(  new  {  MyInt = 1,  MyString...

    JIL-Security-Architecture-requirements-(ADV_ARC)-v2-0.pdf

    ### JIL 安全架构需求 (ADV_ARC) V2.0 #### 一、引言 本文档旨在为开发者提供安全架构需求 (ADV_ARC) 的指导,并为评估者提供如何应用该家族的安全保障需求至智能卡及类似设备的技术领域。在文中提到的满足 ADV_...

    Jil,高效的json序列化和反序列化库

    Jil是一个高效的JSON序列化和反序列化库,它比其他常见的JSON处理库如Newtonsoft.Json等拥有更高的性能。Jil在处理大型数据集时尤其能显示出其速度优势,并且它提供了对客户端的支持,例如JavaScript,使其在Web开发...

Global site tag (gtag.js) - Google Analytics