Walkthrough of the current (late April 2010) state of the Facebook Platform, given as a talk as part of the Facebook Developer Garage London workshop day at the Difference Engine in Middlesborough
22. Anatomy of a Facebook application http://apps.facebook.com/flixster/ http://apps.facebook.com/flixster/m/770800493 Database Facebook Web server Facebook API
66. can define new FBML tags using Custom Tags, and also use in your application custom tags that other developers created (there's a Custom Tags Directory)
68. FBML example <fb:header><fb:name uid=”profileowner” /></fb:header> <h3>Hey <fb:name uid=”profileowner” />!</h3> <p>You're so vain, you probably think this app is about you ;-)</p> http://wiki.developers.facebook.com/index.php/FBML
69.
70. “ We built FBJS to empower developers with all the functionality they need, and to protect our users' privacy at the same time”
72. Facebook provides own AJAX, dialogs and animation functions for use, instead of you using a framework like jQuery
73. Facebook parses JavaScript that you give it, and any identifiers (function and variable names) get prepended with your application ID
74. FBJS parsing example function foo(bar) { var obj = {property: bar}; return obj.property; } function a12345_foo(a12345_bar) { var a12345_obj = {property: a12345_bar}; return a12345_obj.property; } http://wiki.developers.facebook.com/index.php/FBJS
75.
76. has some advanced features not available in the Graph API, including batching multiple queries into a single call
77.
78. use the IN keyword in SELECT or WHERE clauses to do subqueries, but the subqueries cannot reference variables in the outer query's scope http://developers.facebook.com/docs/reference/fql/
79.
80. also a separate Application Dashboard for all other applications
81.
82. promote the activity of your users so their friends can see what they've done with your application
83. set a counter, as a lightweight way for you to inform/notify your users to take action within your application