正在加载...

对于一个熟练的PHP程序员或者JAVA Guru,开发一个Facebook App可能还是很容易的,毕竟Demo文档非常齐全。然而,对于同样渴望开发优秀App的前端工程师,入门的门槛可能还是要高一些。好在Facebook为我们提供了强大的文档,更好在,我,Aw,也是一名关注Web前端技术的开发者,归纳总结了一些个人的经验与大家分享:)

  1. 如何上手
    首先,我建议使用PHP的开发方式。没错,既然你是一个对服务器端编程一点都不懂的前端工程师,为什么要去花时间折腾文档和Demo较少的其他服务器端语言呢。我并不是PHP的“粉丝”,但范例最多、配置最快并且有Facebook官方支持的,似乎只有PHP了。
    然后去官方看这些内容,非常详细(但不太容易找到):
    App所具备的一些要素
    手把手叫你开发一个App
  2. Callback到底是什么
    Callback URL和ActionScript中的Call Back函数还是不太一样的。
    CallBack URL说白了,就是你自己的服务器的一个URL,比如,我的awflasher.com/someurl,在这个URL上,输出一些“相关内容”给Facebook的Canvas来进行渲染。关于这一套流程,强烈建议看这篇(翻到下面),也是在Wiki里面藏的特别深很难找到的:这么重要的问题,居然藏在一个“Random Questions”里面。也可以看这张“图”
  3.                            +------------------+
                               |   BROWSER        |
                               |                  |
                               |   +-------------+|
                               |   |Application  ||
                               |   |Canvas       ||
                               |   |             ||
                               |   |             ||
                               |   +-------------+|
                               |                  |
                               +---+----------+---+
                                   |          ^
                 1) Browser makes  |          | 5) Facebook Renders FBML to
                          request  v          |    HTML
                             +-----+----------+-----+
                             | FACEBOOK SERVER      |
                     +-------+                      |
                     |       |                      |
                     |       |                      |
                     |       |                      +<-------------+
                     |       |                      |              |
                     |       |                      |              |
                     |       |                      |              |
                     |       |                      |              |
                     |       |                      |      4) App Server
            2) FB Server Calls                      |       Returns FBML
              out to App Server---------+-----------+              |
                     |                  ^                          |
                     |                  | 3) App calls FB API      |
                     |                  v                          |
                     |        +---------+------------+             |
                     |        | YOUR APP SERVER      |             |
                     |        |                      |             |
                     |        |                      |             |
                     |        |                      |             |
                     +------->+    2.5) App server   +-------------+
                              |       composes API   |
                              |       calls          |
                              |                      |
                              |    3.5) App server   |
                              |       generates FBML |
                              |       from API results
                              +----------------------+
  4. 官方提供的PHP client包存在的一些细节问题

    我到现在也不知道官方提供了多少个PHP版本。似乎在Developer的App页面(简写为:apps.fb.com/dev和dev.fb.com)和Developers的Wiki页面有许多不同的范例。这其中有很多不规范的地方,例如:

    把<?php echo getFriends();?>写为<?=getFriends()=?>之类的“简写”。这对于刚配置好的PHP环境实在是让人无从调试(因为你想不到官方提供的代码可能有问题)

  5. PHP开发中常遇到的问题

    前端开发者的思路似乎更“粗糙”一些,我就有这个毛病。我在开发Facebook App的时候经常犯的错误就是把HTML和PHP内容混到一起了,例如:

    <?php echo ‘<p>test’.$somevar.'</p>’;

    <br>

    ?>

    这样的写法乍一看没问题,但实际上中间的<br>是PHP根本看不懂的。在大多数配置下,这个错误根本看不到(不像Flash那样会有一个Compliler帮你报错),遇到这种情况,如果是少量HTML,就给它echo出来;否则,就将PHP标签结束再输出,例如:

    <?php echo ‘<p>test’.$somevar.'</p>’;

    ?><br><?php … ?>

  6. FBML的设置

    最关键的setFBML是把FBML显示到用户个人主页的函数。在使用这个函数的时候,一定要确认用户已经“同意改变profile box”,这是安装App的几条协议中的一条。如果你自己调试期间不希望被别人看到而当时没选中,那么很可能是导致你多次无法看到相关内容出现的主要原因。

此文仅是抛砖引玉之文,因为也许我遇到的错误其他人又很容易地解决了,欢迎补充,我会保留链接。

还没找到您要的东西?Google试试看吧,
Google更注重原创、时效性好的文章:


本文相关评论: 才 8 条评论
  1. 巫山霏云 2008-07-06 01:41:12

    应该是
    php里面的short tag有时候会让人郁闷,如果把view和逻辑部分分开的话,short tag还是能够起到很好的作用
    暂时还没想给fb玩应用

  2. 石头 2008-07-07 11:37:03

    相当于

  3. polaris 2008-07-08 10:30:23

    学习API

  4. Lance 2009-07-23 06:32:59

    谁知道为什么 iframe 在 severfbml 下的 request-form 在IE6下会有滚动条啊!

  5. 动漫原创制造 2012-04-01 10:27:17

    很好,不错哟

[支持Ctrl+Enter]为了我们大家和家人的安全,留言请慎重!
声明:
1、本站仅与见过面的个人博客交换链接,见此文
2、留言时的头像是Gravatar提供的服务。如果您有兴趣并且有闲暇时间,可以看看这里的介绍