JSCP (Javascript Client Page) 库

xuting 2007-02-12 09:00:29
JSCP (Javascript Client Page) 是我写的一个轻量的基于Prototype的javascript库,它的核心思想是把通常Web程序中服务端的最后一步rendering页面的工作转移到浏览器端进行。2006年年中时我产生了这个想法,当时没有找到有开源的库做了这个工作,于是2006年10月初自己写了这个库来实现。前两天我为Jscp写了文档和例子,并在 sourceforge.net上注册了一个 project,可以通过下面的URL访问:
http://jscpage.sourceforge.net
虽然现在几乎没人知道Jscp,但我相信它是简单而实用的,希望介绍给大家。

Jscp的想法关键在于“web程序的UI部分是静态部署在服务端,但动态显示在浏览器端”,原有的web程序通信流程是:
1 浏览器 --- [发送请求] --> webapp 服务端
2 浏览器 webapp 服务端
(等待...) (作相应工作并获得结果数据)
3 浏览器 webapp 服务端
(等待...) (将结果数据与页面模板rendering)
4 浏览器 <-- [接收结果页面] -- webapp 服务端

在Jscp中心的流程则变成:
1 浏览器 --- [发送请求] --> web 服务器
2 浏览器 <-- [接收页面模板] -- web 服务器
(.jscp.html模板可以缓存以多次使用)
3 浏览器 --- [发送请求] --> webapp 服务端
4 浏览器 webapp 服务端
(等待...) (作相应工作并获得结果数据)
5 浏览器 <-- [接收结果数据] -- webapp 服务端 (JSON格式)
6 浏览器 webapp 服务端
(rendering ...)

通过把rendering的工作移到浏览器端,Jscp改变了原有的web程序模型,我认为这个改变更合理的,rendering的工作完全可以放在浏览器端进行,为什么要让服务端来完成呢(大家应该都觉得,服务端的计算资源总是显得不够用吧)?新的模型使web程序中,浏览器端和服务端通信内容是纯粹的数据,更容易定义明确的接口,服务端的开发工作也完全集中在与UI无关的商业逻辑和数据逻辑上。

Jscp的想法和实现技术都很简单,但给web程序员带来了更多的灵活性和选择。某些浏览器端效果通过Jscp可以很容易的实现,比如本地分页,本地列表排序等。并且,Jscp是位于其他Ajax技术之下的一层,并不与它们相冲突。

Jscp并不关心服务端使用的平台,Rails, PHP, ASP等都能工作。通过前一阵我开发的一个基于Rails的项目,我认为Jscp库是实际可用的,事实上我在该项目中完全放弃了 Rails提供的 .rhtml 机制,我相信对于其他语言平台也可以做到。理论上我觉得是可以做到完全放弃这些平台提供的服务端View模型的。
...全文
99 回复 打赏 收藏 举报
写回复
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
发帖
JavaScript
加入

8.6w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
申请成为版主
帖子事件
创建了帖子
2007-02-12 09:00
社区公告
暂无公告