首先,你可以点这个地方,看看这个模拟的google操作系统,

下面是一个系统截图:

 

 好东西大家一起分享,你可以点这里下载这个实例

下面是二次开发说明:

一、      目录结构

Icons文件夹用于保存桌面png图标。

Images文件夹用于保存桌面背景图片。

SpaceFrame文件夹里面是框架示例程序的入口。

TestJs文件夹用于保存精灵OS框架核心JS代码。

Themes文件夹用于保存OS窗口样式、状态栏样式、任务栏样式等主题文件。

原则上只要保持目录结构不便,运行示例代码便没有问题。

 

二、      示例入口页面源代码及分析

 

<html xmlns="http://www.w3.org/1999/xhtml" >

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<head >

    <title>FairyNest</title>

    <link href="../Themes/vista/win.css" rel="stylesheet" type="text/css"/>

<link href="../Icons/vista/icon.css" rel="stylesheet" type="text/css"/>

<link href="../Themes/vista/taskbar.css" rel="stylesheet" type="text/css" />

    <link href="../Themes/vista/bleb.css" rel="stylesheet" type="text/css" />

         <link href="../Themes/vista/Status.css" rel="stylesheet" type="text/css" />

    <script type="text/javascript" src="../TestJs/BlueEffects.js"></script>

    <script type="text/javascript" src="../TestJs/BlueWinEffects.js"></script>

    <script type="text/javascript" src="../TestJs/BlueWindows.js"></script>

         <script type="text/javascript" src="../TestJs/BlueTaskBar.js"></script>

         <script type="text/javascript" src="../TestJs/BlueIcon.js"></script>

         <script type="text/javascript" src="../TestJs/BlueDeskIcon.js"></script>

 

    <script type="text/javascript">

    function Test()

     {

            BlueTaskBar.CreateTaskBar();

            BlueDesk.CreateDeskArea();

           

             var mytest={width:800,height:550,x:100,y:100,url:"http://www.baidu.com",status:"百度首页"};

        var Icon=new DeskIcon({Src:"home.png",Title:"百度搜索",WinOptions:mytest});

        BlueDesk.InsertIcon({icon:Icon});       

        mytest={width:800,height:550,x:100,y:100,url:"http://www.google.com",status:"google首页"};

        Icon=new DeskIcon({Src:"Document.png",Title:"google搜索",WinOptions:mytest});

        BlueDesk.InsertIcon({icon:Icon}); 

       

        mytest={width:800,height:550,x:100,y:100,url:"http://www.yodao.com/",status:"有道首页"};

        Icon=new DeskIcon({Src:"Clock.png",Title:"有道搜索",WinOptions:mytest});

        BlueDesk.InsertIcon({icon:Icon});         

         mytest={width:800,height:550,x:100,y:100,url:"http://www.yahoo.cn/?loop=true",status:"yahoo首页"};

        Icon=new DeskIcon({Src:"Bat.png",Title:"yahoo搜索",WinOptions:mytest});

        BlueDesk.InsertIcon({icon:Icon});        

        mytest={width:800,height:550,x:100,y:100,url:"http://www.zhongsou.com/index_jb.htm",status:"中搜首页"};

        Icon=new DeskIcon({Src:"pic.png",Title:"中国搜索",WinOptions:mytest});

        BlueDesk.InsertIcon({icon:Icon});

      

        BlueDesk.ShowIcons(); 

     } 

</script>  

</head>

<body onLoad="Test()" style=" margin:0px; background-image:url('../Images/cehIgS9QLaLLc2.jpg'); overflow:hidden;"> 

 

</body>

</html>

 

首先,在<head>里面引用了所有相关的样式文件和js文件,并有一个名为testjs函数,这个函数将在<body onLoad="Test()">这个地方调用,也即是页面载入完成以后将运行这个函数。

然后,test函数里面,一定要先运行这两行代码:

BlueTaskBar.CreateTaskBar();  //创建任务栏

BlueDesk.CreateDeskArea();   //创建桌面

 

并不一定要再test函数里面调用这两个方法,但一定要在你开始创建一个个桌面图标之前,先吧任务栏和桌面区域创建好。不然,桌面区域都没创建好,桌面图标创建咋哪里?

 

接着,就可以在桌面上创建桌面图标了:

var mytest={width:800,height:550,x:100,y:100,url:"http://www.baidu.com",status:"百度首页"};

var Icon=new DeskIcon({Src:"home.png",Title:"百度搜索",WinOptions:mytest});

BlueDesk.InsertIcon({icon:Icon});

 

其中,var Icon=new DeskIcon()是用来创建桌面图标的。

DeskIcon对象用户应该了解的参数主要有三个:

Src桌面图标的路径,应该为png各式的背景透明的图标,不然显示出来可能不太好看。

Title桌面图标的标题,将显示在桌面图标的下面,类似于windows桌面图标标题的现实方式。

WinOptions这个参数应该是一个json对象,也即是类似于这里var mytest={width:800,height:550,x:100,y:100,url:"http://www.baidu.com",status:"百度首页"}; 这样的一个对象。这个参数主要用来定义当双击桌面图标的时候,系统将打开一个什么样的窗口,具体的定义方式,请参看下面的WinOptions定义。

 

再接着就是WinOptions的定义了,也就是定义系统应该打开什么样的窗口。

用户应该关心的WinOptions对象属性如下:

idstring 字符串类型,定义窗口的唯一标识。如果用户不做定义的话,系统将自动生成。一般如果不是要把窗口的openmodal属性设置为true的话,不推荐手工设置id.同时,系统部允许id重复,若检测到重复时,系统将报错。

closabletrue|false ,定义该窗口是否显示关闭按钮,若定义为false,则窗口打开后将不能关闭。

minsizeabletrue|false ,定义窗口是否显示最小化按钮。若定义为false,则窗口打开后将不能最小化到任务栏。

maxsizeabletrue|false ,定义窗口是否显示最大化按钮。若定义为false,则窗口打开后将不能最大化到满屏。

resizeabletrue|false ,定义窗口是否可以拖动大小。若定义为false,则窗口打开后将不能通过鼠标拖动改变窗口大小。窗口拖动大小的触点在窗口右下角。

dragabletrue|false ,定义窗口是否可以拖动改变位置。若定义为false,则窗口打开后将固定在桌面上,不能通过拖动改变窗口的位置。拖动窗口的触点在窗口title区域。

openmodaltrue|false ,定义窗口是否只能打开一次。若定义为true,则窗口打开后再次点击对应的桌面图标时,系统将不会重新打开新的窗口,而是使当前窗口获得焦点。若定义为false,则重复点击对应的桌面图标时,系统将重复生成同样定义的窗口。同时,若要使openmodal属性为true生效,应配合使用id属性,此时应手工设置窗口id

showstatustrue|false ,定义窗口是否显示状态栏。

titlestring 字符串类型,定义窗口标题。

haseffecttrue|false ,定义窗口是否使用效果。若为true,则窗口在打开、关闭、最大化、最小化时都将显示动画效果。

openmaxtrue|false ,定义窗口打开时是否最大化。

opencentertrue|false ,定义窗口打开时是否桌面居中。

minwidth: int ,数字类型,定义窗口的最小宽度,即当窗口可以拖动大小时,最小不会小于此宽度。

minheight: int ,数字类型,定义窗口的最小高度,即当窗口可以拖动大小时,最小不会小于此高度。

width: int ,数字类型,定义窗口打开时的宽度。数值不能小于minwidth,否则无效。

height: int ,数字类型,定义窗口打开时的高度。数值不能小于minheight,否则无效。

X: int ,数字类型,定义窗口打开时的x坐标。

y: int ,数字类型,定义窗口打开时的y坐标。

 

最后,当创建好了桌面图标以后,这时还只是把一个个桌面图标对象装载在内存里面。需要再调用BlueDesk.ShowIcons()以在桌面上显示图标。

 


 

posted @ 2009-10-29 13:17 laoliao 阅读(261) 评论(0) 编辑
摘要: 1、概述jQuery是一个非常优秀的JS库,与Prototype,YUI,Mootools等众多的Js类库相比,它剑走偏锋,从web开发实用的角度出发,抛除了其它Lib中一些不实用的东西,为开发者提供了短小精悍的类库。其短小精悍,使用简单方便,性能高效,能极大地提高开发效率,是开发web应用的最佳的辅助工具之一。因此大部分开发者在抛弃Prototype而选择Jquery来进行web开发。作者:精灵...阅读全文
posted @ 2009-10-23 14:00 laoliao 阅读(249) 评论(2) 编辑

    接上,首先还是,如果你觉得本文章看上去一大段一大段的文字很枯燥,那么可以请你先看这个演示:精灵部落 相信看完之后你会提起精神,再回头仔细看看这篇文章,谢谢!

每个人都可能同时对很多种信息有需求,包括社交、新闻、视频、音乐、游戏等等。当前网络上各种服务提供商或者内容提供商,都是相对独立、专一的致力于某一个方向,比如校内致力于社交、新浪致力于新闻、56致力于视频、kugoo致力于音乐、盛大致力于网游。当然也不排除一些大型企业同时提供多样化的服务,但所有这些信息,对于网民个人来说,有很多是多余的,是他们不关心的。比如新闻,也许一些小年轻只关心娱乐新闻,什么国家政治经济方面的,对她来讲就统统都属于垃圾信息;比如游戏,也许某人只玩征途,那么所有其他游戏信息对他来讲也都是垃圾信息;再比如视频,每个人也都有自己喜欢的那一类影片,甚至只喜欢自己能数的出来的那么几个几十个影片,那么所有其他的视频信息对他来讲,也都垃圾信息。网络上的信息丰富了,但同时网民选择、过滤这些信息的难度也就加大了,纵然搜索引擎可以给人们一些便利,但相信几乎所有网民都有过为了一条自己想要的信息,在搜索引擎里面翻页翻到手软的经历。而且还有可能今天刚翻过一遍,明天还要重复的再翻一遍,因为你不知道你什么时候会再用到这些信息,等你再要用的时候,你也已经记不清楚这条信息上次是在哪儿找到的了。

每个商家都在追求利益最大化,对于网络来说,点击率、流量无疑就意味着商业利益。于是很多内容编辑为了吸引网民的注意,总喜欢用一些标新立异的字眼迷惑人的判断“骗”人点击浏览,对于这样的信息,搜索引擎根本就无法判断它查找到的是否就是用户想要的,甚至用户自身也得仔细研读才可以做出判断。用户与搜索引擎都在迷惑中不得已接触很多自己根本不关心、不想要的信息,在筛选、过滤过程当中花费本不必要时间。同时,商家为了追求利益吸引用户,总是片面甚至极端的挖掘用户的“负面”潜能,搞怪、游戏,无所不用其极。我们不反对用适当的游戏放松心情,但不能不加限制,不能只为眼前利益不顾可能给国家人民的教育事业带来的严重负面影响——这几乎已经是一个众所周知的问题。

我个人认为,所谓的“流行风尚”跟主流媒体的引导有莫大关系。现在的网络环境比较负面的一点简单总结来说就是:商家为了追求利益,不断地把用户引导向“歧途”,于是不玩网络游戏的年轻人似乎倒成了“另类”,加入社交网站不会抢车位、买卖奴隶的似乎也是另类,爱学习成绩好的是却只是书呆子、土老冒。难道真的只有这些方式才可以吸引用户么?只是当前尚没有人用相对更加“正面积极”的方式取得过商业成功吧。

那么,既然发现了这么多问题,有没有什么方法可以解决呢?我想,也许不能完全改变现状,但起码是可以做个有益的尝试。下面说说我的想法:

1、 建一个网站,这个网站本身并不提供太多内容,但是可以为用户提供收藏网络信息的功能。比如订阅自己关心的新闻、记录自己偏爱或者偶然发现的喜欢的网址、保存从网上 搜集到的有用的或感兴趣的资料,包括视频、音乐、文字等等。当用户形成使用习惯以后,将可以免去很多重复搜索的烦恼,也可以排除掉很多“垃圾”信息的干扰。他以后进入这个平台将只看到他自己关心和感兴趣的内容,同时这并不排斥他继续在网络信息的海洋里面遨游,如果有需要,他还可以继续以他以前的方式上网,只是可能会增加一个习惯,就是发现自己感兴趣的内容以后,收藏到我们提供的这个平台。当然也不排除用户可以选择将这些信息保存在自己电脑上,但是相对来说这样有很多不便之处,比如不能带着电脑到任何一个可能需要这些信息的地方、用移动存储设备拷贝来拷贝去总是容易疏漏、不能便利的与好友分享一些有用的信息等等。用户的眼睛是雪亮的,他们会做出自己明智的选择。

2、 这个网站形式上必须有所突破,如果毫无新意恐怕一开始就难以获得认同。同时网站的提供的功能也要求其在信息管理上必须做到简洁实用、有条不紊,否则,如何给人这是已经祛除了“糟粕”的感觉?由于潜在的用户群大多是年轻人,要吸引他们这个网站还必须很时尚。有一个设计能符合这些要求,那就是我们的精灵部落。我们一般不主动强调这是一个WebOS,我们只在乎它可以满足我们设想的实现、可以给用户很好的体验。

3、 这个网站还必须具有社交的功能,类似现在的校内、开心等。人是社会性的、渴望与外界沟通是所有人的共性。融入SNS模式可以帮助我们较快的争取更多用户,让更多人知道我们提供的服务。

4、 我们认为不能只顾眼前利益,一定要远见一点,决不搞前面分析市场问题提到的那些套路。像什么抢车位、买卖奴隶,什么征途、魔兽,我们不否认它们的存在是有一定道理的,但我们也认为像这样更多情况下只是“骗”人掏腰包、虚度时光的东西,永远都只能风靡一时而已,绝对禁不起时间的考验。精灵部落将会是一个开放式的平台,未来可以安装扩展很多小功能,但我们希望届时设计出来的功能将是既充满新意可以吸引用户同时又能让用户有所收获,而不仅仅是消遣打发时间。同时精灵部落未来将更加偏重于提供功能性、实用型的服务,这里限于篇幅暂且不提。

5、 我们还将严格审查精灵部落中处于传播状态的内容,保证它们与我们的引导方向一致。我们渴望最大限度的争取用户,但决不毫无原则的为所有用户提供服务。我们将努力做一个受人尊敬的互联网企业,也许会为此牺牲很多,但最终产生的品牌效应将是我们最大的财富。

6、 最终,在我们的蓝图下,每个用户在精灵部落中都将有一个属于自己的独立的空间,他(她)可以在这里联系朋友、分享生活乐趣,也可以收藏管理自己关心的网络信息,可以安装使用很多他偏爱的小功能,可以追求个性、展现自我等等。这将是一个颠覆性的体验,也必将受到很多用户青睐。

 

 [未完待续]文章来自:精灵部落

QQ:70buluo@163.com(1047166052)

posted @ 2009-05-13 08:47 laoliao 阅读(993) 评论(7) 编辑

接上,首先还是,如果你觉得本文章看上去一大段一大段的文字很枯燥,那么可以请你先看这个演示:精灵部落 相信看完之后你会提起精神,再回头仔细看看这篇文章,谢谢!

在电子商务、办公系统(OA)、电子政务等事物性应用平台领域,我们以办公系统为例。在这方面,国内目前比较知名的如通达OA、极品OA等,研究发现,所有这些产品所含功能几乎千篇一律,甚至用户界面都很雷同,不排除细节上有一些差异,但没有任何一款产品有本质上的创新(个人所见,没有批评针对的意思)。同时,在与某些厂商的接触当中也了解到,他们普遍以为OA作为一个功能性、事物性的产品,用户更注重的是“功能”二字,认为只要实现了用户需求的基本功能,便是令人满意的产品。我以为这是国内软件厂商的一个通病,是固步自封难以获得突破性发展的根本原因。在这种大环境之下,如果有某个厂商提出革命性的解决方案,比如利用webos技术,将用户体验提升到可以与桌面应用相媲美的高度,那么它无疑将抢占高地,在竞争中突出重围,甚至从此一家独大、傲视群雄。

综合而言,时代是不断发展的,人们的认知和感知水平也是不断发展和提高的。当科技发展到一定程度,用户必然不再满足于原有技术水平转而追求更为科学人性的新事物。没有用户甘心自己整天被一些自己并不关心的信息所干扰。哪怕就在一个OA里面,就单个用户而言,对他有用的信息和功能也是极为有限的,可每次打开OA时,他却不得不面对让自己眼花缭乱的一大堆按钮、链接以及自己并不关心的信息。传统的技术条件下,也许有厂商设想过要解决这个问题,但是他们拿不出合适的解决方案。理想的用户界面应该是近乎无形的,招之即来、挥之即去。我们拿战斗机的座舱打比方,早期的Su27座舱里面,飞行员面对的是一大堆密密麻麻的各式表盘、按钮,几乎所有功能都对应着一个操作按钮,占据着座舱固定的某一个位置。于是,飞行员操作的时候时时刻刻被一大堆信息干扰着,随时有误操作的可能,风险非常大,飞行员在整个飞行过程中都必须神经紧绷,压力巨大。现在科学发展了,新战机先进水平的一大衡量标准便是座舱设计的科学人性程度。纵观天下三代及以上战机,座舱无不极力减少各种操作按钮,努力将功能集成到机载电脑上,目的就是要实现理想化的用户界面。电脑可以让飞行员排除干扰,只给飞行员提供当时有用和飞行员关心的信息,这样飞行员才可以从各种操作干扰中解放出来,集中精力完成战斗。软件的发展,是同样的道理。软件应该只提供对用户当时有用的信息和用户关心的信息。用户需要的时候,可以让信息出现,用户不需要的时候,可以让信息立即消失不再干扰自己。如果我们只像某些软件厂商认为的那样,实现基本功能就可以了,那就是说我们将只能制造Su27那样的老式飞机,虽然它确实是可以满意基本的战斗需求了,但它永远不再是先进的飞机。如果我们非要等到别人先造出一个更加先进、成功的飞机然后再跟进,那么即便我们成功跟进,也就此注定我们技术已经比它落后多少年,注定我们永远只能被人牵着鼻子跑。我们跟它相比,就永远没有竞争优势,永远只能在市场低级的角落旮旯里面度日。更为科学人性的操作界面和用户体验,是软件发展的趋势,是永恒的主题,我想这个是无可非议的。如果我们想要做一个行业领先的软件公司,我们就应该在这个领域抢先于别人,甚至做别人发展的榜样和风向标。

有人也许要说,也许使用新技术,未必不是好事,但是往往使用新技术,也将带来新的高成本。果真如此么?我们还是以战斗机为例。新的更先进的战斗机,往往都是追求更高更便利的可维护性的,许多细节的东西,直接对最终用户封装,你根本不用关心它里面是怎么运做。也许有一个部件会出问题,那么简单,这是一个可拆卸的部件,拆了换上新的,一切ok。出问题的部件你返厂会有专门的技术服务人员帮你搞定,你完全不必担心。Webos,其实是相同的道理。我们还是拿精灵OS为例。在拥有版权或者使用权的前提之下,使用精灵OS做二次开发是一件相当轻松的事情,专业用户甚至根本不需要要去了解它的内部机制,只要简单了解使用方法,便可以轻松对其进行扩展以形成新的产品。精灵OS本身,几乎就像是Windows或者其他操作系统一样,是稳定的,不需要用户额外付出任何其他维护成本。专业用户要做的,其实就相当于在Windows等操作系统之上开发一些可用的应用程序并捆绑安装。当然,精灵OS肯定也难免会有一些漏洞,但由于其良好的组件化的设计,使得专业用户不必担心这可能导致严重后果。精灵OS可以通过更新其核心代码,轻而易举解决用户的这些烦恼,这也就类似于Windows系统可以通过不断发布补丁来维护其系统的安全和稳定一样。也就是说,整个精灵OS,只要有版权所有厂商提供技术支持,其他各级用户的使用和维护将是十分轻松的。精灵OS一直追求对普通用户而言简单易用。

[未完待续]文章来自:精灵部落

QQ:70buluo@163.com(1047166052)

posted @ 2009-05-11 08:32 laoliao 阅读(2096) 评论(16) 编辑

首先,如果你觉得本文章看上去一大段一大段的文字很枯燥,那么可以请你先看这个演示:精灵部落 相信看完之后你会提起精神,再回头仔细看看这篇文章,谢谢!

      Webos这个概念出现已经不是一日两日的事情了,但是webos究竟应该是个什么样的东西,业界目前还难以给出一个定论。普遍认为现有的网络环境还难以适应webos的发展,因为毫无疑问,webos会是一个大型的web应用程序,动辄需要用户浏览器下载上兆的js代码等相关文件才可能顺利运行,而当前各地的网速可能都还不是够快。也许用户等个公交车,10分钟甚至是半个小时都能忍耐,但你要用户坐在电脑前盯着浏览器哪怕只是10秒钟看你这系统还没打开,那都是难以忍受的。

Webos当然还不能仅仅是一个用户体验上类似于桌面操作系统的东西,但这却又似乎是必须的,因为不给用户这样的体验,用户很难联想到OS,也很难认同你这是个OS,更何况如果你不能给用户以媲美于桌面操作的用户体验,从技术角度讲就已经没有任何优势可言。同时,Webos在浏览器里面运行的事实也注定了它和桌面操作系统不可能是同一性质的,也不可能达到相同的功能和效果,但它们却又是非常类似的。桌面操作系统,主要是用来管理本地资源和应用程序,Webos就应该主要用来管理网络资源和网页应用。理想状态下的webos,应该可以实现用户电脑只要安装一个浏览器,就可以在任何可以联接互联网的地方访问他的系统及系统里面的资源和应用。只不过,目前为止,web应用程序的功能远没达到桌面应用的程度。比如photoshop等,估计很长一段时间内都不可能在浏览器里面实现与之媲美的应用,所以,webos也是在相当一段长的时间内不可能替代桌面操作系统,甚至永远都不要考虑让它去替代桌面系统。我们更多的时候应该去想,怎么让它在适合它、需要它的领域发挥它应有的作用。

Webos,毫无疑问,将会是未来的趋势。众所周知,B/S架构的应用将是未来发展的主流方向。

Web1.0时代,引领潮流的是新浪、网易等门户形式的内容服务,形式类似于传统媒介,内容提供商准备、编辑好内容发布在站点上,用户被动浏览、接受内容。

Web2.0时代,也就是我们目前正在经历的时代,标志性的应用是博客、威客、音视频分享、社交网站等。在这个时代,用户一改1.0时代被动接受的角色为主动提供、分享的角色。每个网民,都可以是内容提供商,因此,这个时代也是网络信息量爆炸式增长的时代,网络信息量迅速攀升为海量。与此同时海量信息及web2.0普遍使用ajax技术异步交互的特性也明显导致了一些问题,最典型的便是搜索引擎的检索。面对海量信息,用户想要获取自己需要的内容必然更加依赖于搜索引擎,但异步交互却导致内容无法被蜘蛛程序捕获,检索就成问题了。同时海量信息,也必然导致大量于用户而言没有意义的垃圾信息,用户在使用搜索引擎查找内容的时候,更加费时费力。于是业界提出,未来web3.0时代,应该是一个可以对网络信息和网络应用有效管理的时代。

预言未来web3.0的典型代表将是webosWebos,简单而言便是基于web浏览器的操作系统。Webos除了应该给用户以与桌面操作系统类似的感知良好的用户体验以外,还应该具备良好的信息管理和应用程序管理等基本功能。用户通过使用webos,可以有效地收藏管理他关心的来自于网络的信息以及他关心和喜爱的网络应用程序(更详细介绍可以参照一同附上的精灵部落简单规划相关内容)。Webos可以给用户一个相对私人的网络空间,用户可以在这个空间里面只查看所有自己关心的内容,排除网络海量信息导致的垃圾信息的干扰。

webos信息管理和应用程序管理等基本功能成型以后,它就变成了一个灵活而强大的基础平台。类似于桌面操作系统,我们将可以不断在这个平台扩展有用的功能。平台提供的基础管理功能也将大大简化其中独立应用程序的开发难度,比如权限管理、用户管理甚至用户界面等。同时用户对webos强大功能和良好体验的青睐也必将吸引它向更多有前景的领域发展。

webos技术成熟以后,凭其突出的优势和特色,必将突破局限,走向多元化发展。我个人以为,webos技术非常适合于电子商务、办公系统(OA)、电子政务等事物性平台应用,同时也适合于各种信息管理系统,甚至任何有待改进用户体验的web应用。

webos将是互联网应用的一个突破性发展,是几代互联网人梦寐以求的实现——多少年来,互联网技术一直在追求web应用能够提升到与桌面应用相媲美的高度。信息网络化是时代发展的必然趋势,因此,能够有效管理网络信息的webos也将是时代发展的必然趋势,其发展前景之乐观不可估量。

 

那么,现在回过头来看,目前的网络环境等客观因素真的就一定制约着webos的发展么?关于这个,我想,我是很有发言权的。我本人已经很长一段时间在研究webos方面的问题。通过努力,我已用事实证明,在js代码极其精练、高效的前提之下,webos是有可能只运行在不过100kjs核心代码的基础之上的。我的精灵OS,就是一个很有说服力的例子。

精灵OS是一款独立研发、拥有完全自主知识产权的webos精灵OS建立在一个健全高效并且有特色、有针对性的ajax基础框架之上。同时,因为比较深入了解、研究了两大主流浏览器iefirefox的性能及各自技术标准,有针对性的根据各自特点做了性能优化,精灵OS在这两大浏览器中的运行效率很高,在一般速度还可以的宽带环境下就可以给用户以几乎媲美桌面应用的用户体验,直接给了当前业界对目前网络环境还不适宜webos发展的言论以有力反击。事实上,用户可以在程序初始化阶段仅下载不超过100k的核心代码,就可以顺利运行精灵OS,这相对国外众多厂商使用prototype等第三方框架动辄引入上兆代码是无法比拟的。

同时,精灵OS比较有效防止了大型ajax应用中普遍容易出现的内存泄露问题,即应用程序动辄使浏览器占用系统上百甚至数百兆内存。精灵OS专门研究了ie的内存回收机制,有针对性的、尽最大可能杜绝内存泄露,并在一定程度上有效回收内存资源。实践证明,在ie浏览器中,初始化精灵OS时,只占用系统不到60m内存,甚至更低。这样的内存使用量,甚至低于随便打开一个比较大型的门户网站,如网易、新浪等。当然随着运行精灵OS中的各个应用程序,内存占用量会增多,但依然在当前主流配置电脑的承受范围之内,最坏的测试结果也仅相当于用户浏览网易、新浪等门户网站不断打开新页面所造成的结果,完全没有因为使用新技术而造成软硬件无法适应的后果。测试表明,用户连续使用3小时精灵OS,反复关闭打开其中大约60个应用程序窗口,最终只给ie造成不超过200M,firefox造成不超过150M的内存占用。这是一个相当不错的测试结果,说明精灵OS完全是适于实用的。这也是当前国内国外许多其他同类产品难以做到的。

 

在解决了运行效率的问题之后,再有一个很大的课题就是,webos不应该仅仅给用户类似周面桌面操作系统的体验,还应该提供强大的资源管理和应用管理等基本功能,否则,充其量,也就是一个模拟效果而已。这当然也是能做到的。精灵OS还是一个很好的例子。

精灵OS是目前我所知的同类产品中唯一一个实现了比较完整的OS应有功能的产品。精灵OS真正实现了信息管理、应用程序管理、用户管理、角色权限管理等基础功能。不同角色用户可以使用和安装不同的应用程序,可以管理和分享自己收藏的有用信息,甚至设置专门的访问帐号(类似于windows中的来宾帐户管理),让不同的用户访问自己不同的文件。同时精灵OS中的文件和文件夹都可以设置密码保护和访问权限,只要用户想保护起来的内容,就绝对是安全的。在借助精灵OS的基础功能,用户可以很容易在这个平台上扩展出新的应用功能,并纳入系统的统一管理。

同时,精灵OS是一个组件化的设计,也是一个用户可以高度自定义展现个性的产品。精灵OS实现了接近于理想状态下“招之即来,挥之即去”的用户界面。用户可以随时把当时关心的内容展现在自己面前,而不受其他信息干扰。不想看见的信息,可以随时关闭让它消失。甚至自定义一个桌面,桌面上只展现自己关心喜爱的应用程序或内容。精灵OS还提供了良好的主题和UI管理。专业用户可以在短时间为精灵OS设计添加新的窗口样式、状态栏样式、任务栏样式等等。用户在有选择余地的前提下,可以在几秒钟内让自己的OS改头换面。

[未完待续]文章来自:精灵部落

     QQ:70buluo@163.com(1047166052)
posted @ 2009-05-05 11:37 laoliao 阅读(2349) 评论(28) 编辑
摘要: 还是照常例,先上效果:其实原理很简单的,只不过做出效果来显得比较有趣而已。鼠标移到图片上试试,它绝对会骂人的哦,呵呵!不过要等到下面显示的一列小图片都加载完了以后才能看到最好的效果。[效果来自精灵部落] ////////////////////////////////鼠标移到图片上试试/////////////////////////////////////////////////////////...阅读全文
posted @ 2009-01-21 09:09 laoliao 阅读(4142) 评论(22) 编辑
摘要: 算算在这里也写了不少篇博客了,也知道了一点大家的习惯,所以废话不多说,直接先上大家可以看到的效果: //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////...阅读全文
posted @ 2009-01-19 10:21 laoliao 阅读(2198) 评论(12) 编辑
摘要: 言归正传。相信大家最初看到google首页出现的图标动画的时候,特别是发现原来那么传神的效果居然不是flash的时候,肯定感觉很惊奇吧?起码当初我就是这样的感觉。是不是认为要用js实现那样的动化简直有点不可思意呢? 先给大家看看实现的效果: ------------------------------------------------------------------------------...阅读全文
posted @ 2009-01-07 13:14 laoliao 阅读(3273) 评论(31) 编辑
摘要: 也许不少朋友知道,精灵部落体验版上线当天,由于邮件验证的环节频频出错(新浪等邮件服务商不可能让我如此免费频繁地使用它的服务的)导致不少人没有注册成功。这让我觉得自己架设一个邮件服务器是很有必要的。然而,这却似乎不是一个轻松的工作。首先,得要解决用什么架设的问题。网上找了一圈,发现linux平台下要解决这个问题可能容易一点,但是windows平台下,可以选择的软件虽然很多,什么winmail,ama...阅读全文
posted @ 2008-12-23 09:50 laoliao 阅读(2764) 评论(23) 编辑
摘要: 用BlueEffects效果库实现的类似于csdn中的背景颜色渐变的效果,鼠标移过下面的预览区域可以看到效果.BlueEffects是精灵部落(精灵部落是什么,朋友们可以看看我博客的其它几篇文章,相信你会感兴趣的.)使用的基础效果库,轻量级,各种效果库可以很灵活地分离出来使用,避免了许多其他js框架要使用其效果必须引用一大堆不必要的代码的尴尬局面.同时,BlueEffects在精灵部落的代码中起到...阅读全文
posted @ 2008-12-21 11:25 laoliao 阅读(1561) 评论(6) 编辑