Palm Pre 全胡话之 6 — 和普通人说话:没有 AppServer,也不一定有 WebServer

公司

2009-02-03 17:04

软硬件皆没摸到,所以行文全无根据,毫不负责。
本文有技术术语,但是一定有解释。不一定专业贴切,但是对于普通人,这么理解并不算错。

术语
术语 1 本地 Service 和 Server
以网络的观点,本地 Service 和 Server,是不同的概念。(虽然有时候 Server 表现为 Service 的形态)
本地 Service,就是本地跑的服务(程序)。比如你按 Ctrl+Alt+Del,甭出来的任务管理其中的某些线/进程。
Server,指服务器(上的程序),比如你输入 Google.com,某个网络上的 Server 会处理你的请求,返回一个 Google 的页面给浏览器。
术语 2 本地和服务器
同样,以网络的观点,区分本地和服务器,更是基本当中的基本。
Javascript 是本地脚本,意味着它是 Download 到本地,由浏览器(而不是 webserver)解析。
服务器端脚本呢?一个例子是 Php,Hipda 的读者注意浏览器的 URL 部分,http://www.hi-pda.com/forum/forumdisplay.php?fid=12 中的 forumdisplay.php,就是一个服务器端脚本。本地没有 forumdisplay.php 这个文件。web server 解析了 php,然后把结果发给浏览器。
术语 3 Web server 和 App server
Web server 和 App server。J2EE 语境下两个词皆有特定含义。你知道他们都是 Server 就好了。

分层
那么以网络的观点,WebOS,表现为什么样子呢?
1 本地
最不被关心的部分。
管他是什么 OS,上面有什么本地 Framework,什么类库,什么本地 Services。反正统统叫做本地就好了,提供最基本的功能。连接能力,绘图运算和交互能力,存储空间等等。
2 浏览器
是比较重要的部分。所以虽然是本地的一部分,但是被单独提出来。
能多大程度的操作本地资源。怎样和服务器交互。UI 表现出怎样的特性等等。
3 网络服务
当然重要。
涉及一些标准协议框架,一些 server,应用服务,热部署,分布部署,动态负载平衡,应用服务管理,数据库等等。你都不用管。
手机上用不着这么高级的东西。知道 web server 大概是啥就行了。
有人怒了,这不是什么都没说吗?但其实,你已经建立起最基本的,清晰的分层了。

 

OS 和浏览器的整合
现在请同学们打开一个本地程序,资源管理器,然后在里面输入 www.google.com。。。资源管理器变成 IE 了~~~
OS 和浏览器的整合,自当年 MS 那个影响深远的反垄断官司始。到臭名昭著的 ActiveX,告于段落。之后通过 flash,ajax,ff andon, 新 HTML 标准等等,继续发展。
普通人不用管那么多,知道 PC 上浏览器越来越强大,和 OS 结合越来越紧密就好了。
手机上不过是重复 PC 上的事儿。
WebOS,本地和浏览器整合的更加紧密。
有人提到 Palm 的地址簿也是通过 mojo 构架写的。说明以前作为本地程序的地址簿,很可能是调用浏览器来表现内容。没错,和刚刚你在资源管理器里看到的差不多。
这里涉及一个问题,浏览器表现人名列表没问题(比如 Firefox 上也能跑一个 WebOS 的地址簿),但是如果你再 Firefox 点发短信,会怎么样?
认为能发出短信的同学可以结束这篇文章了。

协议
发短信的功能,会被一个协议的串描述。
luna://com.palm.messaging:…
如果浏览器会汉语,他会这么读:
luna 协议下,调用 palm 公司的信息程序 (or 本地 Service or xxx 一再说过了,我们不关心本地,你知道他在本地就好了。理由?这里没有制定远程地址。)
类似的
http://www.google.com
也是个协议的串 www.google.com,不是在本地的。
不知道下面的协议你看着眼熟不?
ed2k://|server|222.186.8.70|4089|/…

本地功能
下面进入关键部分了。Firefox 是可以理解 http 协议的,但是 luna 协议是他没学过的。怎么办???
不知道也没啥,ed2k 协议 Firefox 本来也不知道。
但是,如果你装了电驴,再点这个协议,Firefox 会启动电驴,把下载 xx 节目这件事,交给电驴这个本地程序完成。
浏览器,在安装了本地程序(还包括浏览器插件或者系统注册之类的东西)之后,通过一个协议串,调用了本地功能。
聪明的你一定能想到,Pre 的 OS,调用浏览器显示地址簿的时候,如果点发短信,这个协议串出现之后(luna://com.palm.messaging:…)将要发生些什么。
系统整合的浏览器,通过插件/扩展/本地 Service 之类的东西,调用了本地功能(发短信)。
这个过程,没 Server 什么事。

最后的话
本文不是对 Uglee 文章的否定。
他的观点完全可以圆上(把本地资源调用和 HTMLJavascript 的发布都用(或者其中之一)Server 解决。)。和本文一样,是一种能成立的可能性。都有可能对,也都有可能错。。。Time will tell.
甚至,如果那个 “App Server” 的原意是本地 Service(本地 Service,本地程序,或者本地浏览器扩展或者什么,本地的都不太重要:))是一回事,那和本文在大构架上是差不多的。
总之,分层的意义之一,就是在最合适的地方,做该做的事。而不是在手机上作所有的事。
手机今天的任务就是扩展浏览器。Server 级别的东西最终会出现在手机上,未来网络分散发布的结果,而不是 Pre 上市的时候。

登录,参与讨论前请先登录

评论在审核通过后将对所有人可见

正在加载中

移动互联网/苹果/ERP/SAP。 写过:「 iPhone 可有设计哲学」,「领先五年的迷思」,「以前没有 iPhone OS,以后没有 Mac OS」,「对社交说不」,「 MSNS :移动社交网络 」,「云书店,新阅读」⋯⋯

本篇来自栏目

解锁订阅模式,获得更多专属优质内容