Facebook JSSDK与PHP SDK

Facebook JSSDK与PHP SDK,facebook,facebook-php-sdk,facebook-javascript-sdk,Facebook,Facebook Php Sdk,Facebook Javascript Sdk,从我对各种网站的简要探索来看,JSSDK似乎比PHP SDK更常用。即使是用PHP实现的站点也使用JSSDK。PHP参考页面有776个like,而JS参考页面有20k+个like。PHP参考页面说PHPSDK帮助您将Facebook登录添加到页面中,但即使登录按钮也使用JSSDK。PHPSDK实际上有什么优势吗?为什么PHP SDK投入的精力如此之少?PHP SDK只是围绕Facebook API的服务器端包装 如果您正在运行Node.JS,那么JSSDK可以在服务器中使用,也可以在客户端中使用

从我对各种网站的简要探索来看,JSSDK似乎比PHP SDK更常用。即使是用PHP实现的站点也使用JSSDK。PHP参考页面有776个like,而JS参考页面有20k+个like。PHP参考页面说PHPSDK帮助您将Facebook登录添加到页面中,但即使登录按钮也使用JSSDK。PHPSDK实际上有什么优势吗?为什么PHP SDK投入的精力如此之少?

PHP SDK只是围绕Facebook API的服务器端包装

如果您正在运行Node.JS,那么JSSDK可以在服务器中使用,也可以在客户端中使用


实际上,您可以决定从何处与Facebook通信:客户端还是服务器端。

好吧,JSSDK肯定会更受欢迎。不是每个人都用PHP开发服务器端代码(可以使用Java/Scala/.NET/Python/etc),但每个人都必须用JavaScript编写客户端代码

至于这两种方法的好处,如果可以的话,使用JavaScript SDK肯定会有好处

  • 减少服务器上的负载
  • 更好的响应时间,因为请求直接从客户端浏览器发送到Facebook,而不是从他们的浏览器=>您的服务器=>Facebook,然后再返回
当然,有时您必须在服务器端执行操作,这可能是因为您希望将结果存储在数据库中,也可能是因为这是一个安全敏感的操作。(例如,你永远不会将你的app access_令牌传递给客户端,并将其作为其秘密使用)


另外,PHPSDK中投入了“很少的精力”,因为它非常简单,它完全是标准的HTTP内容,比如发出GET请求并返回Json/XML响应,从POST参数中读取签名的_请求并对其进行解码。它可以在没有任何SDK的情况下轻松完成。(使用其他服务器端语言的开发人员就是这样做的)。JavaScriptSDK不能这样说,它必须处理跨浏览器问题,必须与FB通信以完成滚动画布页面或弹出Iframe对话框等操作。如果没有一个良好的测试SDK,您可能会有点疯狂

但是在服务器端(或客户端)这样做有什么特别的好处吗?这不是好处,而是你想做什么。在这种情况下,你知道Facebook为什么设计登录按钮等只用于JS SDK而不是PHP SDK吗?因为登录按钮是客户端组件。换句话说,它是由客户端浏览器解释的HTML和Javascript。它与您的服务器无关。