How To Develop A Facebook App



Similar documents
Web Frameworks. web development done right. Course of Web Technologies A.A. 2010/2011 Valerio Maggio, PhD Student Prof.

Web 2.0 Technology Overview. Lecture 8 GSL Peru 2014

COMPASS Database Work in 2014/15

Ruby on Rails. a high-productivity web application framework. blog.curthibbs.us/ Curt Hibbs <curt@hibbs.com>

Facebook apps in Python

itunes Store Publisher User Guide Version 1.1

GUI and Web Programming

THE ROAD TO CODE. ANDROID DEVELOPMENT IMMERSIVE May 31. WEB DEVELOPMENT IMMERSIVE May 31 GENERAL ASSEMBLY

Break It Before You Buy It!

Education. Relevant Courses

Getting Started With Your LearnDevNow Learning

Practical Essbase Web Services

2015, André Melancia (Andy.PT) 1

Using Ruby on Rails for Web Development. Introduction Guide to Ruby on Rails: An extensive roundup of 100 Ultimate Resources

Getting Started Guide for Developing tibbr Apps

Oracle Application Express MS Access on Steroids

Product Roadmap. Sushant Rao Principal Product Manager Fortify Software, a HP company

A Rapidsoft Systems White Paper September, On Web Development Technologies:.NET or PHP

BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME

Flash and Python. Dynamic Object oriented Rapid development. Flash and Python. Dave Thompson

Programming. Languages & Frameworks. Hans- Pe(er Halvorsen, M.Sc. h(p://home.hit.no/~hansha/?page=sodware_development

COS 333: Advanced Programming Techniques

OpenShift on you own cloud. Troy Dawson OpenShift Engineer, Red Hat November 1, 2013

BRIAN RUSSEL DAVIS. New Media Programming, Design & Concept Development. Summary

INTERESTED IN EXPANDING YOUR TECHNICAL SKILLS?

Tutto quello che c è da sapere su Azure App Service

Whitepapers at Amikelive.com

A Tour of Ruby on Rails

Interested in Expanding your Technical Skills?

Ganglia & Nagios. Maciej Lasyk 11. Sesja Linuksowa Wrocław, /25. Maciej Lasyk, Ganglia & Nagios

IST600 Mobile App Development & Design

From the Monolith to Microservices: Evolving Your Architecture to Scale. Randy linkedin.com/in/randyshoup

Oracle Database Cloud Services OGh DBA & Middleware Day

Visual Media Design Certificate Program Prior to Fall 2013

Open Source Community Metrics

This presentation introduces you to the new call home feature in IBM PureApplication System V2.0.

OpenShift Enterprise PaaS by Red Hat. Andrey Markelov RHCA Red Hat, Presales Solution Architect

Performance Testing and Optimization in Web-Service Based Applications

Layers of Caching: Key to scaling your website. Lance Albertson -- Narayan Newton

Web Cloud Architecture

Continuous integration with Jenkins CI

Chapter 1 Programming Languages for Web Applications

NetBeans: Universal Tool for Java Development and More. Roman Štrobl Technology Evangelist

Start up Jobs Germany FEB 2014

Slides from INF3331 lectures - web programming in Python

Cooperation offer for a Eurostars project

The power of root on Android emulators

A review and analysis of technologies for developing web applications

Software Development Interactief Centrum voor gerichte Training en Studie Edisonweg 14c, 1821 BN Alkmaar T:

CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup. Emmanuel Agu

Big Data Executive Survey

Using WhatCounts Publicaster Edition To Send Transactional s

Pentesting Web Frameworks (preview of next year's SEC642 update)

Gerald Kaszuba. Slowchop Studios Director Specialising in Game Design, Architecture, and Development.

Abstract. Description

How To Pass Eecs 485

Mobile Test Automation Framework

How To Build A Web App

Isaak Jimenez

Students who successfully complete the Health Science Informatics major will be able to:

Web Development Frameworks

Drupal 8. Core and API Changes Shabir Ahmad MS Software Engg. NUST Principal Software Engineser PHP/Drupal

Based on: Google searches for language tutorials

Standards, Tools and Web 2.0

Open Source Technologies on Microsoft Azure

Java in Web 2.0. Alexis Roos Principal Field Technologist, CTO Office OEM SW Sales Sun Microsystems, Inc.

the missing log collector Treasure Data, Inc. Muga Nishizawa

Web Application Development and Frameworks

Building a Reliable Messaging Infrastructure with Apache ActiveMQ

International Journal of Advanced Engineering Research and Science (IJAERS) Vol-2, Issue-11, Nov- 2015] ISSN:

Course Summary. Prerequisites

Developing Microsoft SharePoint Server 2013 Core Solutions

my website using software that I wrote.

Alberto Diaz Martin MVP SharePoint Server adiazcan

Personal Profile. Experience. Professional Experience

Team Members: Christopher Copper Philip Eittreim Jeremiah Jekich Andrew Reisdorph. Client: Brian Krzys

Mobile Applications Developer. MAIN PURPOSE OF JOB To lead the design, development and maintenance of Android, iphone and ipad applications.

CALCULATING THE COSTS OF MANUAL REWRITES

RIA Technologies Comparison

Middleware integration in the Sympa mailing list software. Olivier Salaün - CRU

Collaborative Open Market to Place Objects at your Service

A COMPONENT BASED METHODOLOGY FOR WEB APPLICATION DEVELOPMENT USING RUBY ON RAILS. Presentation 1 13 th July 2009 by Brett Nisbett

Architecture Workshop

Combatting Antipatterns with PaaS

Cloud-based Data Logging, Monitoring and Analysis

Joseph M Conaty Software Engineer

Deploy. Friction-free self-service BI solutions for everyone Scalable analytics on a modern architecture

NetBeans e lo sviluppo di applicazioni Java/JavaFX per Facebook. Corrado De Bari corrado.debari@sun.com Sun Microsystems Italia

Social Media Strategy

The GITO (Global IT & Operations) main goal is to deliver and maintain internal solutions for the business needs.

Concentrate Observe Imagine Launch

Your Technology Partner Offshore and Onsite. Outsourced Software Development Services at

301 B King Street Charleston, SC (843) info@blueion.com. SENIOR-LEVEL Web Application Developer

Temenos MarketPlace Product Certification Guidance

Open Source SOA with Service Component Architecture and Apache Tuscany. Jean-Sebastien Delfino Mario Antollini Raymond Feng

Beyond The Web Drupal Meets The Desktop (And Mobile) Justin Miller Code Sorcery Workshop, LLC

DTWMS Required Software Engineers. 1. Senior Java Programmer (3 Positions) Responsibilities:

Modern Web Development From Angle Brackets to Web Sockets

Review on StarUML an Open-Source Unified Modeling Language Tool

Christopher Zavatchen

Transcription:

Facebook App Development 101 Intro to the Platform/Building your first Facebook App Professor R. Tyler Ballance Slide, Inc. tyler@slide.com

Meet the Professor I work at Slide, Inc.

Meet the Professor I write Facebook apps.

Meet Ari Works on the platform

Facebook 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 Platform

Welcome to the Facebook Platform

Welcome 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. Kara Swisher and Mark Zuckerberg ended their relationship. Adora Cheung added FunWall Kevin Ho is feeling graphical. Lee Lorenzen plans to attend Widget Summit Mike Huang updated his profile. He edited his interests and profile picture. Will Liu is no longer listed as single. Kasey Kirkham added new photos. Keith Rabois attended CommunityNext Platform Adora and Daniel Kim are now friends. Max Levchin updated his Top Friends Jared Fleiser has thrown a sheep at Sonya Chawla Nik Gandhy wrote on Lennisse Ambriz s w A black blue box of social information

Developer Resources

Developer 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.com

Subscribe to Platform Feeds

Report good bugs

IRC Channel

Technically Speaking

<fb:hello/> How do you communicate with Facebook? XML JSON HTTP Request

Is Zuckerberg my friend? XML Response <xml>no</xml> <?xml version="1.0" encoding="utf-8"?> <friends_arefriends_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http:// api.facebook.com/1.0/ http://api.facebook.com/1.0/facebook.xsd" list="true"> <friend_info> <uid1>627205543</uid1> <uid2>4</uid2> 412 bytes <are_friends>0</are_friends> </friend_info> </friends_arefriends_response> { um : NO! } JSON Response 53 bytes [{"uid1":"627205543","uid2":"4","are_friends":false}]

Friends UIDs 697 friends JSON XML 16KB 44KB SELECT uid1 FROM friend WHERE uid2 = 627205543

Facebook Client Libraries

PHP Cons Only works with XML Pros Super-easy to use. (like BASIC, but with dollar signs) Written in PHP Officially supported Conducive to spaghetti code Wider variety of hosting options

Python Cons Shared hosts don t tend to support Python Uses simplejson by default Slightly larger learning curve for beginners Pros Very well written API Supports JSON/XML by default Easily integrated with Django Good enough for Slide

Ruby Cons Difficult to move from PHP to Ruby Bends the rules on how to write RESTful code Pros Scales well Ruby on Rails can be very clean Easy to write poorly performing code Rails encourages automated testing. Not quite conforming to Very Web 2.0 Ruby coding standards

.NET Cons IIS, or mod_mono Some aspects require.net 3.5 Very enterprisey and complicated Tied to XML with a noose Pros A variety of existing UserControls Usable from C#, or VB.NET Tight integration with Visual Studio LINQ support Very well documented

Other Libraries ColdFusion Perl Java C++

More Cons Platform moves too quickly Marketplace API Status API Data Store API Very little shared coding standards Everybody s reinventing the wheel

Dissecting Why are you awesome?

What it is yo. Owl == AWESOME

Owl Post-Install Call to action Social context

fb:dashboard Post-Install fb:action fb:profile-pic regular form fb:name regular links

Changin State fb:success

Notify. Rinse. Repeat. fb:notif-page

IN UR PROFILEZ auto-generated fb:pronoun OMFG LAME

IN UR PROFILEZ fb:name fb:profile-pic Mock AJAX d

IN UR PROFILEZ fb:error

Zee Codes

Building your first application

Testing your Facebook application

Use basic unit testing Application Logic phpunit

Metrics, engagement and fun numbers

Closure