tek13 - creating mobile apps with php and symfony

94
Creating Mobile Apps with PHP & Symfony Pablo Godel @pgodel http://joind.in/8159 Tek13, Chicago, May 15 2013 Wednesday, May 15, 13

Upload: pablo-godel

Post on 27-Jan-2015

128 views

Category:

Technology


5 download

DESCRIPTION

In this talk we will look at some of the reasons on why mobile applications are important, including some history on the mobile market. Then we will look at some frameworks that help develop high-quality mobile apps and we will showcase a mobile app developed with PHP and Symfony2, including the source code which will be available on Github.

TRANSCRIPT

Page 1: Tek13 - Creating Mobile Apps with PHP and Symfony

Creating Mobile Apps with PHP & Symfony

Pablo Godel @pgodel

http://joind.in/8159Tek13, Chicago, May 15 2013

Wednesday, May 15, 13

Page 2: Tek13 - Creating Mobile Apps with PHP and Symfony

⁃ Born in Argentina, living in the US since 1999⁃ PHP & Symfony developer⁃ Founder of the original PHP mailing list in spanish ⁃ Master of the parrilla⁃ Co-founder of ServerGrove

Who am I?!

Wednesday, May 15, 13

Page 3: Tek13 - Creating Mobile Apps with PHP and Symfony

Wednesday, May 15, 13

Page 4: Tek13 - Creating Mobile Apps with PHP and Symfony

Wednesday, May 15, 13

Page 5: Tek13 - Creating Mobile Apps with PHP and Symfony

⁃ Founded ServerGrove Networks in 2005

⁃ Provider of web hosting specialized in PHP, Symfony, ZendFramework, MongoDB and others

⁃ Servers in USA and Europe!

Who am I?!

Wednesday, May 15, 13

Page 6: Tek13 - Creating Mobile Apps with PHP and Symfony

⁃ Very active open source supporter through codecontributions and usergroups/conference sponsoring

Community is our Teacher

Wednesday, May 15, 13

Page 7: Tek13 - Creating Mobile Apps with PHP and Symfony

Why?

Mobile Apps - Why

Wednesday, May 15, 13

Page 8: Tek13 - Creating Mobile Apps with PHP and Symfony

•More & more people have access to Internet through mobile devices•Devices are more powerful & versatile• Internet access is faster and more reliable•Users demand services and applications at all times & and the go•Don’t give advantages in an ultra-competitive market•Your competition is already using it or implementing it

Mobile Apps - Why

Wednesday, May 15, 13

Page 9: Tek13 - Creating Mobile Apps with PHP and Symfony

Some numbers...

Mobile Apps - Why

Wednesday, May 15, 13

Page 10: Tek13 - Creating Mobile Apps with PHP and Symfony

•Estimated 6.5 billion mobile subscriptions globally (over 90%)•1.7 billion mobile phones sold in 2012•1 billion users in China alone•321M subscriptions in the US (over 100%)•Devices range from phone and tablets to door locks, thermostats, etc.

Mobile Apps - Why

Wednesday, May 15, 13

Page 11: Tek13 - Creating Mobile Apps with PHP and Symfony

How did we get here?

Mobile Apps - Why

Wednesday, May 15, 13

Page 12: Tek13 - Creating Mobile Apps with PHP and Symfony

Let’s see some history...

Mobile Apps - History

Wednesday, May 15, 13

Page 13: Tek13 - Creating Mobile Apps with PHP and Symfony

First commercial cellular network launched in

Japan )1G - first generation(

1979

Mobile Apps - History

Wednesday, May 15, 13

Page 14: Tek13 - Creating Mobile Apps with PHP and Symfony

The “mobile” telephone

Motorola DynaTAC -

aka “The Boot”cost: US$ 3995weight:793g / 28 ounces

1983 Motorola DynaTAC

Mobile Apps - History

Wednesday, May 15, 13

Page 15: Tek13 - Creating Mobile Apps with PHP and Symfony

Common Standard to connect networks and apps•WAP client•Server sends WML (XML)

WAP - Wireless Application Protocol

<?xml version="1.0"?><!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml" ><wml> <card id="main" title="First Card"> <p mode="wrap">This is a sample WML page.</p> </card></wml>

1997

Mobile Apps - History

Wednesday, May 15, 13

Page 16: Tek13 - Creating Mobile Apps with PHP and Symfony

WAP/WML

Mobile Apps - History

Wednesday, May 15, 13

Page 17: Tek13 - Creating Mobile Apps with PHP and Symfony

WAP/WML

Mobile Apps - History

Wednesday, May 15, 13

Page 18: Tek13 - Creating Mobile Apps with PHP and Symfony

WAP/WML

Mobile Apps - History

Wednesday, May 15, 13

Page 19: Tek13 - Creating Mobile Apps with PHP and Symfony

Developer:

WAP/WML

Mobile Apps - History

Wednesday, May 15, 13

Page 20: Tek13 - Creating Mobile Apps with PHP and Symfony

User:

WAP/WML

Mobile Apps - History

Wednesday, May 15, 13

Page 21: Tek13 - Creating Mobile Apps with PHP and Symfony

2007...

Mobile Apps - History

Wednesday, May 15, 13

Page 22: Tek13 - Creating Mobile Apps with PHP and Symfony

•Revolutionized the market of mobile telephony

•Safari Web Client

iPhone2007

Mobile Apps - History

Wednesday, May 15, 13

Page 23: Tek13 - Creating Mobile Apps with PHP and Symfony

iPhone App Store2007

Mobile Apps - History

Wednesday, May 15, 13

Page 24: Tek13 - Creating Mobile Apps with PHP and Symfony

First Android Device2008

Mobile Apps - History

Wednesday, May 15, 13

Page 25: Tek13 - Creating Mobile Apps with PHP and Symfony

iPad2010

Mobile Apps - History

Wednesday, May 15, 13

Page 26: Tek13 - Creating Mobile Apps with PHP and Symfony

So what does all this mean?

Mobile Apps - History

Wednesday, May 15, 13

Page 27: Tek13 - Creating Mobile Apps with PHP and Symfony

The PC is not dead

Mobile Apps - History

The Mobile Generation

Wednesday, May 15, 13

Page 28: Tek13 - Creating Mobile Apps with PHP and Symfony

The PC is not dead, yet?

The Mobile Generation

Mobile Apps - History

Wednesday, May 15, 13

Page 29: Tek13 - Creating Mobile Apps with PHP and Symfony

Information is now consumed on phones and tablets

The Mobile Generation

Mobile Apps - History

Wednesday, May 15, 13

Page 30: Tek13 - Creating Mobile Apps with PHP and Symfony

And this is just the beginning...

The Mobile Generation

Mobile Apps - History

Wednesday, May 15, 13

Page 31: Tek13 - Creating Mobile Apps with PHP and Symfony

Symfony?

Mobile Apps - Symfony

Wednesday, May 15, 13

Page 32: Tek13 - Creating Mobile Apps with PHP and Symfony

What is Symfony?

Mobile Apps - Symfony

Wednesday, May 15, 13

Page 33: Tek13 - Creating Mobile Apps with PHP and Symfony

Definition by Fabien Potencier:

⁃ Symfony2 is a reusable set of standalone, decoupled, and cohesive PHP components

that solve common web development problems.

⁃ Based on these components, Symfony2 is

also a full-stack web framework.

http://fabien.potencier.org/article/49/what-is-symfony2

Mobile Apps - Symfony

Wednesday, May 15, 13

Page 34: Tek13 - Creating Mobile Apps with PHP and Symfony

Silex

The PHP/‘Symfony’ micro-framework

http://silex.sensiolabs.org/

Mobile Apps - Symfony

Wednesday, May 15, 13

Page 35: Tek13 - Creating Mobile Apps with PHP and Symfony

25 high quality components

http://symfony.com/doc/current/components/index.html

Mobile Apps - Symfony

Wednesday, May 15, 13

Page 36: Tek13 - Creating Mobile Apps with PHP and Symfony

• DependencyInjection• EventDispatcher• HttpFoundation• DomCrawler• ClassLoader• CssSelector• HttpKernel• BrowserKit• Templating• Translation• Serializer• Validator • Security • Routing • Console • Process • Config • Finder • Locale • Yaml• Form

Components:

GitHub: http://github.com/symfony

Mobile Apps - Symfony

Wednesday, May 15, 13

Page 37: Tek13 - Creating Mobile Apps with PHP and Symfony

Proyects using Symfony2 components:

• Silex: BrowerKit, CssSelector, DomCrawler, EventDispatcher, HttpFoundation, HttpKernel, Routing, Form, Translation, Validator

• Goutte: BrowserKit, DomCrawler, CssSelector, Process, ClassLoader, Finder • Behat: Console, DependencyInjection, EventDispatcher, Finder, Yaml, Config,

Translation • Doctrine2: Console, Yaml Propel2: Console, ClassLoader, Yaml• PHPUnit: Yaml • FLOW3: Yaml • Midguard CMS: most of them in their next version? • phpBB 4: most of them• Drupal 8: ClassLoader, HttpFoundation, HttpKernel, and more• EZ Publish• Laravel• Composer• ...

Mobile Apps - Symfony

Wednesday, May 15, 13

Page 38: Tek13 - Creating Mobile Apps with PHP and Symfony

Do you know or usedsymfony 1.x?

Mobile Apps - Symfony

Wednesday, May 15, 13

Page 39: Tek13 - Creating Mobile Apps with PHP and Symfony

Forget it...

Mobile Apps - Symfony

Wednesday, May 15, 13

Page 40: Tek13 - Creating Mobile Apps with PHP and Symfony

The only thing in common between

symfony 1.x & Symfony2 is the name...

Mobile Apps - Symfony

Wednesday, May 15, 13

Page 41: Tek13 - Creating Mobile Apps with PHP and Symfony

OK... the web folder too...

Mobile Apps - Symfony

Wednesday, May 15, 13

Page 42: Tek13 - Creating Mobile Apps with PHP and Symfony

Why Symfony?

Mobile Apps - Symfony

Wednesday, May 15, 13

Page 43: Tek13 - Creating Mobile Apps with PHP and Symfony

•Provides solid base to build good HTTP & RESTful APIs•Twig makes it easy to build templates for mobile devices•Re-use code for different devices thanks to templates, controllers and routing

Mobile Apps - Symfony

Wednesday, May 15, 13

Page 44: Tek13 - Creating Mobile Apps with PHP and Symfony

1.Native applications2.SMS applications & Voice applications3.Web aplicaciones4.Hybrid applications (mix native, web, others)

Mobile Apps - Types

Wednesday, May 15, 13

Page 45: Tek13 - Creating Mobile Apps with PHP and Symfony

Native Applications

Mobile Apps - Types

Wednesday, May 15, 13

Page 46: Tek13 - Creating Mobile Apps with PHP and Symfony

• iPhone - Objective-C•Android - Java•Windows Mobile - .NET•Frameworks multi-platform⁃ PhoneGap http://phonegap.com

⁃ rhomobile http://rhomobile.com

⁃ Appceledator http://appcelerator.com

⁃ Corona http://anscamobile.com/corona/

Mobile Apps - Native Apps

Wednesday, May 15, 13

Page 47: Tek13 - Creating Mobile Apps with PHP and Symfony

Common uses:•send emails & messages in general• loading of profile data•authentication & authorization•chats

Mobile Apps - Native Apps

PHP does not run in these devices but native apps need to retrieve and store data from servers.

Wednesday, May 15, 13

Page 48: Tek13 - Creating Mobile Apps with PHP and Symfony

Some considerations:•Design API (RESTful, HTTP, XML-RPC) early on at the development cycle

•An API can be used for other types of clients (ej. Desktop como Adobe AIR)•Re-use controllers and use _format to generate different content types (XML, JSON, etc)

Mobile Apps - Native Apps

Wednesday, May 15, 13

Page 49: Tek13 - Creating Mobile Apps with PHP and Symfony

Build APIs with Symfony2

- FOSRestBundlehttps://packagist.org/packages/friendsofsymfony/rest-bundle

- ApiDocBundlehttps://packagist.org/packages/nelmio/api-doc-bundle

Mobile Apps - Native Apps

Build APIs with Silex

- responsible-service-provider

- silex-skeleton-rest

Wednesday, May 15, 13

Page 50: Tek13 - Creating Mobile Apps with PHP and Symfony

Push Notifications

Server sends messages to mobile devices- AppleApnPushBundle- RMSPushNotificationsBundle- DABSquaredPushNotificationsBundle- ZendService\Google\Gcm- ZendService\Apple\Apns

Mobile Apps - Native Apps

Wednesday, May 15, 13

Page 51: Tek13 - Creating Mobile Apps with PHP and Symfony

SMS (and voice) Applications

Mobile Apps - SMS Apps

Wednesday, May 15, 13

Page 52: Tek13 - Creating Mobile Apps with PHP and Symfony

Symfony can send/receive text messages

Common uses:- Alerts- Chats- Electronic payments- Ads- Two-factor authentication

Mobile Apps - SMS Apps

Wednesday, May 15, 13

Page 53: Tek13 - Creating Mobile Apps with PHP and Symfony

Mobile Apps - SMS Apps

Wednesday, May 15, 13

Page 54: Tek13 - Creating Mobile Apps with PHP and Symfony

SMS Gateway providers:•Twilio•Nexmo•Clickatell•BulkSMS

Mobile Apps - SMS Apps

Wednesday, May 15, 13

Page 55: Tek13 - Creating Mobile Apps with PHP and Symfony

MMS are multimedia messages with text, images, video, audio.Common uses:- Photo processing- Sending/scanning 2D barcodes

Mobile Apps - SMS/MMS Apps

https://github.com/endroid/QrCodehttps://github.com/endroid/EndroidQrCodeBundlehttps://github.com/mkoppanen/php-zbarcode

Wednesday, May 15, 13

Page 56: Tek13 - Creating Mobile Apps with PHP and Symfony

Web Applications

Mobile Apps - Web Apps

Wednesday, May 15, 13

Page 57: Tek13 - Creating Mobile Apps with PHP and Symfony

Mobile Apps - Web Apps

http://forecast.io

Wednesday, May 15, 13

Page 58: Tek13 - Creating Mobile Apps with PHP and Symfony

Frameworks HTML / Javascript • iui

http://code.google.com/p/iui/ (one of the first ones)

• JQuery Mobile http://jquerymobile.com/ (Open source)

• JQTouch http://jqtouch.com/ (Open source)

• DHTMLX Touch http://dhtmlx.com/touch/ (Open source)

• The M Project http://www.the-m-project.org/ (Open source)

• Sensa Touch http://www.sencha.com/products/touch/

Mobile Apps - Web Apps

Wednesday, May 15, 13

Page 59: Tek13 - Creating Mobile Apps with PHP and Symfony

Mobile Apps - Web Apps

jQuery Mobile

Wednesday, May 15, 13

Page 60: Tek13 - Creating Mobile Apps with PHP and Symfony

Supports:- IOS (iPhone/iPad)- Android- Blackberry- Windows Phone- palm webOS- symbian

jQuery Mobile

Mobile Apps - Web Apps

Wednesday, May 15, 13

Page 61: Tek13 - Creating Mobile Apps with PHP and Symfony

jQuery Mobile

Mobile Apps - Web Apps

Wednesday, May 15, 13

Page 62: Tek13 - Creating Mobile Apps with PHP and Symfony

•Based on jQuery•Light (40KB)•HTML5 •Accesible (works on screen readers)•Events, plugins, themes•Lots of documentation

jQuery Mobile - Features

Mobile Apps - Web Apps

Wednesday, May 15, 13

Page 63: Tek13 - Creating Mobile Apps with PHP and Symfony

•Page management•Transitions•Dialog windows•Links and buttons•Navigation bars•Header / Footer•Forms•Lists

Mobile Apps - Web Apps

jQuery Mobile - Features

Wednesday, May 15, 13

Page 64: Tek13 - Creating Mobile Apps with PHP and Symfony

jQuery Mobile - Page management

<body>

<!-- Start of first page --><div data-role="page" id="foo">

! <div data-role="content">!! ! <p>I'm first in the source order so I'm shown as the page. </p>!!! ! <p>View internal page called <a href="#bar">bar</a></p>!! </div><!-- /content -->

</div><!-- /page -->

</body>

Mobile Apps - Web Apps

Wednesday, May 15, 13

Page 65: Tek13 - Creating Mobile Apps with PHP and Symfony

<body>

<!-- Start of first page --><div data-role="page" id="foo">

! <div data-role="content">!! ! <p>View internal page called <a href="#bar">bar</a></p>!! </div><!-- /content -->

</div><!-- /page -->

<!-- Start of second page --><div data-role="page" id="bar">

! <div data-role="content">!! ! <p><a href="#foo">Back to foo</a></p>!! </div><!-- /content -->

</div><!-- /page --></body>

Mobile Apps - Web AppsjQuery Mobile - Page management

Wednesday, May 15, 13

Page 66: Tek13 - Creating Mobile Apps with PHP and Symfony

jQuery Mobile - Transitions

<a href="foo.html" data-rel="dialog" data-transition="pop">Open dialog</a>

<a href="foo.html" data-rel="dialog" data-transition="slidedown">Open dialog</a>

<a href="foo.html" data-rel="dialog" data-transition="flip">Open dialog</a>

<a href="foo.html" data-rel="dialog" data-transition="fade">Open dialog</a>

Mobile Apps - Web Apps

Wednesday, May 15, 13

Page 67: Tek13 - Creating Mobile Apps with PHP and Symfony

jQuery Mobile - Dialogs

Mobile Apps - Web Apps

Wednesday, May 15, 13

Page 68: Tek13 - Creating Mobile Apps with PHP and Symfony

jQuery Mobile - Navigation bars

<div data-role="header" data-position="inline">! <a href="index.html" data-icon="delete">Cancel</a>! <h1>Edit Contact</h1>! <a href="index.html" data-icon="check">Save</a></div>

Mobile Apps - Web Apps

Wednesday, May 15, 13

Page 69: Tek13 - Creating Mobile Apps with PHP and Symfony

jQuery Mobile - Forms

Mobile Apps - Web Apps

Wednesday, May 15, 13

Page 70: Tek13 - Creating Mobile Apps with PHP and Symfony

jQuery Mobile - Forms

Mobile Apps - Web Apps

Wednesday, May 15, 13

Page 71: Tek13 - Creating Mobile Apps with PHP and Symfony

jQuery Mobile - Lists

Mobile Apps - Web Apps

Wednesday, May 15, 13

Page 72: Tek13 - Creating Mobile Apps with PHP and Symfony

jQuery Mobile & Symfony

Mobile Apps - Web Apps

Wednesday, May 15, 13

Page 73: Tek13 - Creating Mobile Apps with PHP and Symfony

Templates

Mobile Apps - Web Apps

Wednesday, May 15, 13

Page 74: Tek13 - Creating Mobile Apps with PHP and Symfony

<!DOCTYPE html><html><head> <title>Podisum by ServerGrove</title> <meta name="viewport" content="width=device-width, initial-scale=1"></head>

<body>

{% block content %}{% endblock %}

</body></html>

layout.html.twig

Mobile Apps - Web Apps

Wednesday, May 15, 13

Page 75: Tek13 - Creating Mobile Apps with PHP and Symfony

{% extends "layout.html.twig" %}

{% block content %} <div data-role="page" id="home"> <div data-role="header"> <h1>Podisum</h1> </div> <div data-role="content">

<1-- ... --> </div> </div>

index.html.twig

Mobile Apps - Web Apps

Wednesday, May 15, 13

Page 76: Tek13 - Creating Mobile Apps with PHP and Symfony

<div data-role="header" data-theme="b"> <h1>{{title}}</h1> <a href="#home" data-icon="home" data-iconpos="notext" data-direction="reverse" class="ui-btn-right jqm-home" data-ajax="false">Home</a></div>

header.mhtml.twig

Mobile Apps - Web Apps

Wednesday, May 15, 13

Page 77: Tek13 - Creating Mobile Apps with PHP and Symfony

{% extends "layout.html.twig" %}

{% block content %}{% include “header.html.twig’ %}

<div data-role="content"><1-- ... -->

</div> </div>

index.html.twig

Mobile Apps - Web Apps

Wednesday, May 15, 13

Page 78: Tek13 - Creating Mobile Apps with PHP and Symfony

Routing

Mobile Apps - Web Apps

Wednesday, May 15, 13

Page 79: Tek13 - Creating Mobile Apps with PHP and Symfony

home: pattern: / defaults: { _controller: DemoBundle:Default:index }talks: pattern: /talks.{_format} defaults: { _controller: DemoBundle:Talk:index, _format: html } requirements: _format: html|xml|icstalk: pattern: /talk/{slug} defaults: { _controller: DemoBundle:Talk:talk }

jQuery Mobile & Symfony / Routing

Mobile Apps - Web Apps

Wednesday, May 15, 13

Page 80: Tek13 - Creating Mobile Apps with PHP and Symfony

Mobile Apps - Web Apps

jQuery Mobile & Symfony / Routing

home: pattern: /m defaults: { _controller: DemoBundle:Default:index,_format:mhtml }talks: pattern: /m/talks defaults: { _controller: DemoBundle:Talk:index, _format:mhtml }talk: pattern: /m/talk/{slug} defaults: { _controller: DemoBundle:Talk:talk, _format:mhtml }

Wednesday, May 15, 13

Page 81: Tek13 - Creating Mobile Apps with PHP and Symfony

Mobile Apps - Web Apps

jQuery Mobile & Symfony / Routing (option 2)

home: pattern: /m defaults: { _controller: DemoBundle:Default:index, mobile:true }talks: pattern: /m/talks defaults: { _controller: DemoBundle:Talk:index, mobile:true }talk: pattern: /m/talk/{slug} defaults: { _controller: DemoBundle:Talk:talk, mobile:true }

Wednesday, May 15, 13

Page 82: Tek13 - Creating Mobile Apps with PHP and Symfony

m_home: pattern: /m defaults: { _controller: DemoBundle:Mobile:index }

Mobile Apps - Web Apps

jQuery Mobile & Symfony / Routing (option 3)

Wednesday, May 15, 13

Page 83: Tek13 - Creating Mobile Apps with PHP and Symfony

Controllers & Actions

Mobile Apps - Web Apps

Wednesday, May 15, 13

Page 84: Tek13 - Creating Mobile Apps with PHP and Symfony

jQuery Mobile & Symfony / Controller & Action

public function indexAction() { $em = $this->get('doctrine')->getEntityManager(); // ...

$format = $this->get('request')->getRequestFormat();

return $this->render('DemoBundle:Default:index.'.$format.'.twig', array( // ... )); }

Mobile Apps - Web Apps

Wednesday, May 15, 13

Page 85: Tek13 - Creating Mobile Apps with PHP and Symfony

Extras

Mobile Apps - Web Apps

•Detect Mobile devices http://mobiledetect.net/

•Symfony2 + MobileDetectBundle•Silex + MobileDetectServiceProvider

Wednesday, May 15, 13

Page 86: Tek13 - Creating Mobile Apps with PHP and Symfony

Testing

Mobile Apps - Web Apps

Wednesday, May 15, 13

Page 87: Tek13 - Creating Mobile Apps with PHP and Symfony

•Symfony2 functional tests for HTML pages•For AJAX other testing methods may be used:•Selenium RC•Behat

Mobile Apps - Web Apps

Wednesday, May 15, 13

Page 88: Tek13 - Creating Mobile Apps with PHP and Symfony

DEMOS !

Podisum: http://github.com/pgodel/podisum

sunshinephphttp://m.sunshinephp.com/

Control Panel:•https://control.servergrove.com/•https://control.servergrove.com/m

login: [email protected]: demo

Mobile Apps - Web Apps

Wednesday, May 15, 13

Page 89: Tek13 - Creating Mobile Apps with PHP and Symfony

Podisum http://github.com/pgodel/podisum

Generates summaries of Logstash events Silex appTwig templatesMobile version

Mobile Apps - Web Apps

Wednesday, May 15, 13

Page 90: Tek13 - Creating Mobile Apps with PHP and Symfony

Podisum

Apache access_log Logstash

Redis

Podisum redis-client

MongoDB

Podisum Silex App

Web Client

Mobile Apps - Web Apps

Wednesday, May 15, 13

Page 91: Tek13 - Creating Mobile Apps with PHP and Symfony

Hybrid Applications

Mobile Apps - Hybrid Apps

Wednesday, May 15, 13

Page 92: Tek13 - Creating Mobile Apps with PHP and Symfony

Applications that combine web, sms, voice and native aspects

Framework PhoneGap

- Build apps with HTML & JavaScript- Integrates with XCode- Compiles app into native code- Access to accelerometer, camera, geolocation, notifications and more

Mobile Apps - Hybrid Apps

Wednesday, May 15, 13

Page 93: Tek13 - Creating Mobile Apps with PHP and Symfony

Questions?

Mobile Apps

Wednesday, May 15, 13

Page 94: Tek13 - Creating Mobile Apps with PHP and Symfony

Feedback Please:http://joind.in/8159

Thank you!

Twitter: @pgodel IRC Freenode: pgodel

Source: https://github.com/pgodel/podisumSlides: http://slideshare.net/pgodel

Mobile Apps - Thanks!

Wednesday, May 15, 13