基于 Ruby on Rails 的 ideaStax 编辑器开发全解析
1. 仅客户端实现概述
仅使用 JavaScript、XHTML 和少量 CSS 实现的拖放界面示例,手动实现能让我们对新技术更有信心,且可在无服务器的环境中运行。但仅客户端实现缺乏与更多资源的连接,也无法保存时间线供用户分享和后续使用。因此,我们将把 ideaStax 编辑器重构为端到端的 Ruby on Rails 应用程序,利用后端服务器和数据库实现这些重要功能。
2. 服务器支持的 ideaStax 编辑器
仅客户端版本的 ideaStax 编辑器为 script.aculo.us 的 Draggable、Droppable 和 Sortable 对象提供了很好的参考示例,但缺少服务器部分。在大多数实际的富互联网应用(RIA)中,Droppable 和 Sortable 等对象的回调会触发 AJAX 调用,通知远程服务器事件发生。服务器决定如何更新 RIA 页面并返回相应更新,客户端将其插入 DOM 树的预定义位置。
与纯 JavaScript 或 XML + JavaScript 解决方案相比,这种模式可能需要更多 AJAX 请求和服务器资源,但简化了服务器端部分的创建和维护。部分(partial)是 Rails 团队提出的术语,指可重用的小型原子视图代码。例如 ideaStax 编辑器中的 XHTML 幻灯片就是典型的部分。在服务器支持的实现中,部分可保持 XHTML 状态,无需 JavaScript。
服务器支持的 ideaStax 编辑器还有其他不同之处,如照片从数据库查询加载,script.aculo.us 对象会被告知可进行 AJAX 请求的
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



