JSCP (Javascript Client Page) 库

xuting 2007-02-12 08:59:03
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模型的。
...全文
629 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
傻根她弟 2007-02-12
  • 打赏
  • 举报
回复
支持
woyingjie 2007-02-12
  • 打赏
  • 举报
回复
web client side MVC
woyingjie 2007-02-12
  • 打赏
  • 举报
回复
呵呵.支持.最近也在做json+trimpath的东西.
内容概要:本文档名为《赵家湾学校后大门一百三十六栋.txt》,实则是一份综合性科研仿真资源索引,集中展示了多个技术领域的Matlab/Simulink与Python代码实现项目。内容涵盖风光互补制氢合成氨系统容量-调度优化、微电网能量管理、无人机三维路径规划、图像分割、信号处理、电力系统建模、模型预测控制(MPC)、深度学习预测模型(如LSTM、Transformer)、联邦学习、强化学习应用等多个前沿方向。文档不仅列出具体研究题目和算法模型,还整合了智能优化算法(如PSO、GWO、DBO等)、路径规划、车间调度、通信优化、雷达跟踪、元胞自动机模拟等通用技术模块,并附有网盘链接提供完整代码与仿真模型下载,旨在为科研人员提供可复现的技术支持与开发参考。; 适合人群:具备一定编程基础,从事电气工程、自动化、计算机科学、人工智能、控制工程、能源系统等相关领域的研究生、科研人员及工程技术开发者。; 使用场景及目标:①辅助高水平学术论文复现与科研项目开发;②为硕士/博士论文、课程设计、学科竞赛提供算法实现与仿真建模支持;③提升在新能源并网、智能控制、路径规划、负荷预测、故障诊断等领域的工程实践与创新能力。; 阅读建议:此文档为资源导航型材料,建议结合个人研究方向筛选对应主题,通过提供的百度网盘链接获取完整代码包,并配合相关文献进行仿真实验与参数调试,以实现高效复用、二次开发与技术创新。

52,779

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧