Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 告诉我为什么我不该';不能这样做:带有完整JS/HTML前端的Sinatra API_Javascript_Html_Ruby_Sinatra_Web - Fatal编程技术网

Javascript 告诉我为什么我不该';不能这样做:带有完整JS/HTML前端的Sinatra API

Javascript 告诉我为什么我不该';不能这样做:带有完整JS/HTML前端的Sinatra API,javascript,html,ruby,sinatra,web,Javascript,Html,Ruby,Sinatra,Web,我将要设计一个社交网站,必须能够处理大量的用户 以下是我想要如何设计它: Sinatra在后端使用一个完整的RESTAPI来完成网站上的所有操作 专门与RESTAPI通信的JQuery/HTML前端web应用程序 通过这种方式,我只需要制作一个中央API,其他应用程序(iPhone、Android)可以与之通信 此外,服务器上的负载似乎会减少,因为服务器只需提供最低数量的信息,其他一切都由客户端完成 为什么更多的网站不是这样做的 为什么我不想这么做?对我来说这似乎是个好主意…因为它是,搜索引

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

以下是我想要如何设计它:

  • Sinatra在后端使用一个完整的RESTAPI来完成网站上的所有操作
  • 专门与RESTAPI通信的JQuery/HTML前端web应用程序
通过这种方式,我只需要制作一个中央API,其他应用程序(iPhone、Android)可以与之通信

此外,服务器上的负载似乎会减少,因为服务器只需提供最低数量的信息,其他一切都由客户端完成

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


为什么我不想这么做?对我来说这似乎是个好主意…

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

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


但是如果您坚持使用jQuery,我认为您会错过很多在使用框架时认为理所当然的事情,您可能需要重新实现这些事情。但这确实取决于你的应用程序。

没有JS,在应用程序中添加Ajax之后,获得基本功能并不难。例如,您可以创建API以响应普通html标记和响应JSON

我喜欢用JS\ajax来做API的所有事情,使用新技术可能会更简单、更优雅,它会给你们更多的功能,但即使是谷歌现在也不能索引完整的ajax站点

阅读:

可能是因为对于不支持Javascript的用户代理来说,该系统根本不起作用。看。没错,但现实地说,我不在乎这个——我的意思是,如今如此高比例的web依赖JavaScript,这真的很重要吗?这对我很重要(因为我有时使用
链接
),如果你关心网站的可访问性和机器可读性,这对你也很重要(比如说,因为你想让搜索引擎找到你的网站,或者你想让用户将链接分发到你的网站).就我个人而言,当我想从网页中自动提取信息时,我真的很喜欢能够简单地解析HTML,而不必启动实际的浏览器实例来动态加载所有内容。除此之外,你认为这会减少web服务器的负载的假设是完全错误的有可能您通常不需要在服务器端动态地重新创建HTML内容。但是,如果您需要多个HTTP请求来组合一个页面,则效率要低得多。