Facebook App Dev101 (Tyler Ballance, Slide.com)

download

of 39

Embed Size (px)

description

 Facebook App Dev 101 workshop: Intro to Platform / Building Your First App - Tyler Ballance, Slide.com & Ari Steinberg, Facebook @ Graphing Social Patterns Oct 2007

transcript

 Facebook App Development 101 Intro to the Platform/Building your first Facebook App Professor R. Tyler Ballance Slide, Inc. tyler@slide.comMeet the Professor I work at Slide, Inc.Meet the Professor I write Facebook apps.Meet Ari Works on the platformFacebook App Dev 101 Introduction to the Facebook Platform Facebook Developer Resources Platform Client Libraries Dissecting Why are you awesome? LUNCH! Building an application Testing your application Metrics?Introduction to the PlatformWelcome to the Facebook PlatformWelcome to the Facebook Platform Dave McClure is attending Graphing Social Tony Hsieh left the group Tony Hsieh For President David Young added a new video to a group. Adora Cheung added FunWall Kara Swisher and Mark Zuckerberg ended their relationship. Lee Lorenzen plans to attend Widget Summit Kevin Ho is feeling graphical. Adora and Daniel Kim are now friends. Mike Huang updated his prole. He edited his interests and prole picture. Max Levchin updated his Top Friends Will Liu is no longer listed as single. Jared Fleiser has thrown a sheep at Sonya Chawla Kasey Kirkham added new photos. Nik Gandhy wrote on Lennisse Ambrizs w Keith Rabois attended CommunityNext Platform A black blue box of social informationDeveloper ResourcesDeveloper Resources Test Console http://developers.facebook.com/tools.php Bugzilla http://bugs.developers.facebook.com/ Developer Application http://www.facebook.com/developers/ Developer Wiki http://wiki.developers.facebook.comSubscribe to Platform FeedsReport good bugsIRC ChannelTechnically Speaking How do you communicate with Facebook? XML JSON HTTP RequestIs Zuckerberg my friend? XML Response NO 627205543 412 bytes 40 {um: NO!} JSON Response 53 bytes [{quot;uid1quot;:quot;627205543quot;,quot;uid2quot;:quot;4quot;,quot;are_friendsquot;:false}]Friends UIDs 697 friends JSON XML 16KB 44KB SELECT uid1 FROM friend WHERE uid2 = 627205543Facebook Client LibrariesPHP Cons Pros Super-easy to use. Only works with XML (like BASIC, but with dollar signs) Written in PHP Ofcially supported Conducive to Wider variety of spaghetti code hosting optionsPython Cons Pros Shared hosts dont tend Very well written API to support Python Uses simplejson by Supports JSON/XML default by default Easily integrated Slightly larger learning with Django curve for beginners Good enough for SlideRuby Cons Pros Difcult to move from Scales well PHP to Ruby Bends the rules on how Ruby on Rails can be to write RESTful code very clean Easy to write poorly Rails encourages performing code automated testing. Not quite conforming to Very Web 2.0 Ruby coding standards.NET Cons Pros A variety of existing IIS, or mod_mono UserControls Some aspects Usable from C#, or require .NET 3.5 VB.NET Very enterprisey and Tight integration complicated with Visual Studio LINQ support Tied to XML with a noose Very well documentedOther Libraries ColdFusion Perl Java C++More Cons Platform moves too quickly Marketplace API Status API Data Store API Very little shared coding standards Everybodys reinventing the wheelDissecting Why are you awesome?What it is yo. Owl == AWESOMEPost-Install Owl Call to action Social contextPost-Install fb:dashboard fb:action fb:prole-pic regular form fb:name regular linksChangin State fb:successNotify. Rinse. Repeat. fb:notif-pageIN UR PROFILEZ fb:pronoun auto-generated OMFG LAMEIN UR PROFILEZ fb:name fb:prole-pic Mock AJAXdIN UR PROFILEZ fb:errorZee CodesBuilding your first applicationTesting your Facebook applicationUse basic unit testing Application Logic phpunitMetrics, engagement and fun numbersClosure