xunwap

专注移动互联网服务

正在浏览标签为 Widget 的文章

当前移动互联网上最流行的词语之一当属 “App Store” 了,Apple的iPhone,iPad有App Store,Google的Android也有App Store…作为App Store中的主角,各种App的本质也即是”基于搭载的Mobile Platform所提供的API来开发供用户使用的本地化应用程序”。这一点让我们联想到了传统的PC上的各种应用程序, 当然,传统的PC上还有一种App的存在形式,也即是通常所说的基于web的”B/S”架构的应用程序。Mobile上也可以进行”B/S”架构的应用程序开发,Mobile上运行的Browser为这种模式的实现提供了最基本的条件,更进一步,基于Mobile的特性,在Mobile上逐渐兴起了一种”基于Widget”的应用开发模式,基于Widget的开发模式与传统的PC端的web开发类似,都是使用”HTML+JavaScript+CSS”来完成。

随着技术的成熟,以及浏览器功能的日益强大,越来越多的”本地化应用程序”在转向”基于web的应用程序”,为什么会有这种变化?随着服务器硬件和软件功能的日益强大,以及网络基础设施的完善和带宽的增长,原本需要在用户本地完成的功能可以转移到服务器上完成,然后服务器将处理结果发送到用户端的浏览器进行展示。将这一模式进行抽象:服务器端用于响应用户的服务请求并完成相应的运算功能;用户端的web页面运行在浏览器上与用户完成操作的交互以及结果的展示。这种基于”B/S”架构的应用程序有诸多优点:大大简化了用户的使用,用户不再需要安装对应的客户端,用户只需要访问对应的web页面即可;服务的功能升级只需要在服务器端进行,用户可以通过浏览器来快速接受功能升级而不再需要更新客户端软件来完成。

当前流行的智能手机操作系统主要有Android , Symbian,iOS,Meego,Windows Phone,多样化的操作系统给开发者带来诸多不便,最基本的一点即是:由于操作系统的不兼容,同一个应用程序需要在多个平台上重复实现,这增加了开发的难度。相比于传统的PC应用程序开发,可以使用基于”B/S”架构的web应用程序来很好地解决应用程序的跨平台问题,在智能手机上,同样可以使用基于web的应用程序开发方式,不过,现在的智能手机平台对基于web的应用程序开发提供了更好的支持,这一更好的支持可以使用”widget”来概括。在这一模式下,应用程序的界面和交互操作可以使用”HTML+CSS+JavaScript”来完成,应用程序中所使用的智能手机操作系统的功能可以通过调用对应的JavaScript API来完成,”HTML+CSS+JavaScript”这一组合的天然跨平台特性可以很好地解决智能手机应用程序的跨平台问题。widget模式的应用程序也有其独到的优点: widget用于与用户完成操作的交互,widget中的服务处理可以发送到服务器端完成,这样就大大降低了应用程序对智能手机的资源消耗。延长了用户手机的续航时间。

技术的发展总有其相似性,基于widget的开发模式也将会在智能手机应用程序开发中占据重要的地位。

本站原创文章,转载请注明出处

PC上的C/S模型到B/S模式的演化
越来越多的传统C/S模式的应用在向B/S模式的应用转化,一个典型的例子就是大量传统的基于C/S模式的ERP系统在向B/S模式的ERP系统转化。为什么会有这种变化呢?一方面: 对于传统的C/S应用程序,如果用户需要使用这个APP,那么用户需要先下载安装文件,然后安装使用,这给用户的使用带来了麻烦。同时,对于这类C/S模式的APP,应用程序的更新是一个相对麻烦的过程,用户需要重新下载安装包进行安装或者下载安装包补丁进行升级。另一方面,依赖于现在日益强大的服务器端硬件设备的支持,原本依赖于客户端完成的计算任务现在可以转交给服务器端来完成。这样就可以大大降低APP对客户端运行环境的依赖,给用户以更好的体验。同时,我们也应当看到,对于B/S模式的应用程序,应用程序的使用接口是基于浏览器的web页面,在这种情况下,大量的APP计算任务都在服务器端完成,客户端的浏览器只是用作交互和展示,这就可以大大简化APP的使用和维护,因为服务器端的升级和维护对于客户端是不可见的,并且可以通过web页面即时地展现给所有的用户。
当前的移动互联网应用的特点
当前的各大智能手机平台都在推出”App Store”,简单地说就是依赖于智能手机操作系统的本地应用程序,最著名的当属苹果的AppStore了。这种AppStore中的应用程序实质上也就是传统的PC上C/S模式的应用程序的一个演化。对于当前的智能手机应用程序的开发来说,很大的一个问题是平台多样化给应用程序的开发带来了很大的困难。不同的平台有不同的应用程序接口和开发环境,为了使用应用程序更好的与所依赖的操作系统相结合,大量的应用程序代码都与操作系统及开发环境绑定,这样做的缺点是:降低了应用程序的可移植性,同样一个应用可能要在类似于 iPhone,Android,Windows Phone 等等平台上重新实现一遍。在传统的PC环境下,可以通过 Java 的跨平台特性来解决应用程序在不同的平台间的移植性,做到”一次编译,到处运行”。但是,纵观当前的PC端桌面应用程序,使用Java开发的只占很少数的部分,出现这种情况的原因有很多,很重要的一点就是为了桌面应用程序更好地利用操作系统提供的应用程序开发接口,以及给用户带来很好更Native的体验,大量的桌面应用程序都放弃了依赖于Java的跨平台特性,而使用类似于C/C++这样的开发工具来开发,同时,B/S模式的兴起也大大简化了应用程序在不同平台间的移植。出于同样的原因,在当前的智能手机应用程序开发中,也没有被产泛接受的通用开发平台,在iPhone上使用Object-C,在Symbian上使用C++,在Android上使用Java…是否就没有一种开发工具可以横跨所有的智能手机平台,做到”一次开发,到处运行”? 答案是否定的,受到传统的B/S模式的启发,Widget这个概念的兴起让我们看到了希望。
智能手机平台对widget开发的支持
不管是iPhone,Android , Windows Phone还是其它的智能手机平台,都支持Widget开发,各家厂商都在自己的平台上为开发者开发出更好的基于Widget的应用程序提供了大量的工具以及基于JavaScript的开发接口,这样可以使得基于Widget应用程序给用户带来同样好的体验。基于Widget的开发本质上就是基于”JavaScript+HTML+CSS”,然后借助于一些平台本身提供了API来完成应用程序的开发,因为”JavaScript+HTML+CSS”与生具来的良好跨平台特性,这就使得基于Widget的应用程序具有良好的跨平台特性。同时,对于智能手机,应用程序的耗电量问题一直是一个关键的问题,基于Widget的应用程序可以将大量的计算任务交由服务器端来完成,Widget应用程序只需要完成相应的交互和展示即可,这就极大地降低了Widget应用程序对智能手机本身资源的耗用。
尽管基于Widget技术的智能手机应用程序开发还没有成为主流,但是PC与Mobile技术发展的相似之处有理由让我们相信,基于Widget的移动平台开发技术将会与基于B/S架构的PC应用开发技术一样大行其道。

                                                                                                                         本站原创,转载请注明出处