依稀记得六个月之前我还在对UCMDB原理及操作在team里侃侃而谈的分享,如今有人问我安装的故障时,我确实一脸茫然,突然觉得前一阵子看到的一句话很有道理,“经验不是工作的年限,是积累“。
那么今天我就对我前三个月做过WebOS开发做一些简单的分享,顺便巩固并记载下自己的所学习的。
我就不像其他大神一样的去阐述其历史,只说一点,过去他是属于Palm的,现在已被HP收购。
架构,与其他的智能机一样,由Linux做内核,再运用一系列的开源及自己开发内核,解释器及自己等做中间件,然后就第三方软件。在这里我附上一张图,右上角他由不同颜色表明其不同的来源,有PALM的,开源的及第三方。由此可以看出他和Android/IOS等大致相同,细致的差异在哪里我就不去比较了,感兴趣的观众可以自己去搜集相关资料。
主要的系统组件有:LunaSysMgr, Webkit/V8, Luna Service Bus, Core System Service(DB8 Database/ Activity Manager/ Node.js/ File Cashe/ Native Services/ Javascript Service/ Media Service / Communications Service: Telephony, WiFi, Blutetooh)
LunaSysMgr:
包括下面几部分
Platform Window Manager,Launcher, Application Manager/ Display Manager,
姑且叫它们平台窗口管理器,启动器, 应用程序管理器, 显示管理器。
平台窗口管理器:负责卡片的生成,提示,系统UI。
启动器:负责运算及初始化工作
应用程序管理器:是对应用整个生命周期的一个管理。
显示管理器:屏幕的控制,光线感应器的管理及距离感应器。
WebKit/V8WebKit Web Browser Engine,:这是一款著名的浏览器引擎,如firefox/Chrome 都是用的这个内核。
在这个系统中它负责HTML解释执行,CSS的布局及渲染。
V8:JavaScript引擎,编译脚本为ARM/x86的,在就是Generate GC(应该是垃圾收集器)
Broswer Server
建立于WebKit/V8之上,可以分离进程,支持NPAPI(网景API),及Virtually embeddable into other application.
Luna Service Bus
高速点对点的通信,基于UNIX domian sockets
通过集线器管理的(Managed through a hub),建立点对点的连接,允许通过复制流的监控(Strenm replication
安全,消息及订阅语义(subscription semantics),动态服务启动。
DB8 Database
设备及cloud的JSON数据库
在数据库之上的库/服务,并提供以下功能
承载JSON 对象的接口,索引和查询设备,Schema enforcementes,Schema enforcement,访问control,Sync primitives
Activity Manager
主要负责系统的协调工作,控制activity生命周期的标准化接口,动态控制相对优先(进程,网络流),排队及调度activity,基于resource的activity触发(事件/resource触发)
Node.js
提供javascript运行时环境
提供附那些在浏览器中运行的javascript不可用的特性,如Service bus interface/ File System access/ Network IO
还提供服务框架及同步框架
基于V8,支持V8的程序概要分析及debugg
File Cache
管理文件系统的空间,如合并caches, 保障最小空间, 限制最大空间,交叉清理cache(根据对象的开销,大小及生命周期),对象的锁定
Secure cache object id 生成, 文件的保持从cache到reboot.
Native Service:
Transport: EAS, IMAP, POP, SMTP, SKYPE
Message:SMS, MSS, IM
Geo-Location Service, 值得一说的是,这个是负责定位。
JavaScript:
运输作用,通信然后加入列入表中
协同,备份,文件索
其他的的一些系统组件就不再一一赘述了,大致功能如上,有些翻译或许没那么准确,大家见谅。
架构大致带过之后,我们就来说说其开发环境,在这里要申明的是:这个环境是JS方向。(还好以前有记录,不然还要查很久的资料了)。
1. JDK1.6(最新版本,安装后配置环境变量,CMD中javac –help, java –version 命令正常的话就是可用了)
2. VirtualBox3.2 ( http://www.virtualbox.org/wiki/Download_Old_Builds_3_2) (3.2版本的VirtualBox, 4.0不支持 webOS SDK1.4)
3. HPwebOS SDK 1.4 ( https://developer.palm.com/)(CMD 运行 palm-generate, 正常就是安装OK了)
4. 官方建议:Eclipse IDE for JavaScript Web Developers (http://www.eclipse.org)
5. EclipsePlug-in (webOS插件)
(1) webOS Plug-In( https://cdn.downloads.palm.com/sdkdownloads/eclipse-update-site/site.xml)
(安装正确之后在新建项目中可以找到webOS项目)
(2) Aptana Plug-In(www.aptana.com)
(增强编辑效果)
上面是从官方链接上细化的出来的,下面是官方的配置链接:
http://developer.palm.com/index.php?option=com_content&view=article&layout=page&id=1661&Itemid=55
WebOS 三月学习使用分享之一
最新推荐文章于 2024-09-03 08:58:02 发布