告诉我为什么我不应该这样做:全JS/HTML前端的Sinatra API

Tell me why I shouldn't do this: Sinatra API with Full JS/HTML Frontend

本文关键字:HTML 前端 API Sinatra JS 为什么 不应该 这样做 告诉我      更新时间:2023-09-26

我即将设计一个社交网站,必须能够处理大量的用户。

我想这样设计它:

  • 在后台使用完整的REST api来完成网站上的所有操作
  • JQuery/HTML前端web应用程序,只与REST API通信

通过这种方式,我只需要制作一个其他应用程序(iPhone, Android)应用程序将与之通信的中心API。

而且,它似乎会减少服务器的负载,因为服务器只需要提供最少量的信息,其他一切都是在客户端完成的。

为什么更多的网站不这样做?

我为什么不想这么做呢?

因为它是脆弱的,搜索引擎不会索引你的内容。

37signals正在为这种架构开发一个名为Cinco的框架:

http://thinkvitamin.com/code/javascript/37signals-cinco-framework-to-be-open-sourced/

但是如果你坚持只使用jQuery,我认为你会错过很多你在使用框架时认为理所当然的东西,你可能不得不重新实现。但这取决于你的应用

在没有JS的情况下获得基本功能并不难,在将Ajax内容添加到应用程序之后。例如,你可以创建你的API来响应纯html标记和JSON。

我喜欢用JS'ajax做API周围的所有东西,它可能更容易和优雅的新技术,它给你更多的功能,但即使是谷歌不能索引完整的ajax网站现在。

阅读:http://www.google.com/support/webmasters/bin/answer.py?answer=81766