Pablo Godel es un programador argentino que vive en Miami y es fundador de la lista de PHP en español. Presentó sobre el desarrollo de aplicaciones móviles con PHP y Symfony2. Explicó brevemente la historia del desarrollo de teléfonos móviles y aplicaciones, destacando el lanzamiento del iPhone y Android. También resumió que Symfony2 es un framework PHP compuesto por 21 componentes de código abierto que son usados en varios otros proyectos además de como framework completo.
Araling Panlipunan 4
Ekonomiks Learning Module Yunit 3
------------------
Source: DepEd
Regional Mass Training for Grade 10 Teachers on K to 12 Basic Education Program
May 4 - 9, 2015 | Bicol University, Daraga, Albay
CONEXION A LA BASE DE DATOS SQLITE A TRAVES DE UNA APLICACION MOVIL ANDRO...Ivan Petrlik
GUIA DE LABORATORIO QUE TE ENSEÑARA A CONECTARTE A LA BAE DE DATOS CON SQLITE DESDE UNA APLICACION MOVIL EN ANDROID
MATERIAL PREPARADO POR EL INGENIERO DE SISTEMAS IVAN PETRLIK AZABACHE
Music Was My First Love.
A talk given at Darker Music Talks in London on June 04, 2014.
http://www.darkermusictalks.org
SlideShare of the Day: June 15, 2014
Araling Panlipunan 4
Ekonomiks Learning Module Yunit 3
------------------
Source: DepEd
Regional Mass Training for Grade 10 Teachers on K to 12 Basic Education Program
May 4 - 9, 2015 | Bicol University, Daraga, Albay
CONEXION A LA BASE DE DATOS SQLITE A TRAVES DE UNA APLICACION MOVIL ANDRO...Ivan Petrlik
GUIA DE LABORATORIO QUE TE ENSEÑARA A CONECTARTE A LA BAE DE DATOS CON SQLITE DESDE UNA APLICACION MOVIL EN ANDROID
MATERIAL PREPARADO POR EL INGENIERO DE SISTEMAS IVAN PETRLIK AZABACHE
Music Was My First Love.
A talk given at Darker Music Talks in London on June 04, 2014.
http://www.darkermusictalks.org
SlideShare of the Day: June 15, 2014
Naveen Gupta introduces himself in his CV presentation. He is 21 years old and from India, having graduated 1 year ago from the School of Management Sciences at M.G.K.V.P. University in Varanasi, India. He is looking to work in a small or mid-size, innovative and creative company blending technologies and business development.
Primal Chaos was the first being to exist, emerging from a dark void and creating the universe through a violent eruption. Primal Chaos views itself as the true foundation of reality and creator of all other beings, though some mention unnamed deities that may have preceded it. Primal Chaos has immense, immortal power and took the form of a female to create the first entities and spread its essence throughout the world.
Internet y los buscadores (especializados, inteligentesAngie Suarez
Este documento habla sobre las estrategias para realizar búsquedas efectivas en internet. Menciona que existen millones de sitios web disponibles y es importante planificar bien la búsqueda ya que la información no siempre es confiable. Además, lista algunos de los buscadores líderes a nivel mundial y regional e incluye consejos útiles como el uso de comillas para encontrar frases exactas.
El documento describe los daños a la salud causados por el tabaquismo, incluyendo un mayor riesgo de varios tipos de cáncer y enfermedades cardiovasculares, así como daños pulmonares permanentes. Fumar también perjudica casi todos los órganos del cuerpo y duplica la tasa general de mortalidad por cáncer. Combatir el tabaquismo es una prioridad para la salud pública debido a los efectos negativos del humo de tabaco para los no fumadores también.
The company has 3 computer systems - one linked to a program for selling paint products and with Office, one for invoicing using the latest Microsoft Office, and one for color painting. They use internet services like email on both wireless and fixed systems and have a Facebook page for sharing new products and promotions. They also have a website but no online shop. For invoicing, word processing, and data processing they use Microsoft Office programs like Word and Excel which they find user-friendly and a good value.
An extreme unicycle troupe performs daring tricks and synchronized choreography in a 10-15 minute show. The 5 performers balance and leap between platforms and obstacles like staircases and pallets on their unicycles in an area that can be set up anywhere and involves some audience participation with riders leaping over crowd members.
(132) La competencia intercultural del docente en la enseñanza universitaria ...CITE 2011
La metodología e-learning, tiende a la creación de espacios interculturales, debido a la potencial diversidad del alumnado que atiende; además promueve enfoques metodológicos no tradicionales, transitando desde un aprendizaje autónomo e individual a un aprendizaje colaborativo y respetuoso, desde la transmisión a la construcción de conocimiento. En este entendido se considera que las necesidades formativas, para una educación respetuosa de la diversidad cultural, debe considerar la competencia intercultural.
Dentro de este contexto se propone esta comunicación, fundamentada en una Investigación orientada a detectar las necesidades del profesorado respecto de la enseñanza intercultural en un entorno on-line. Para ello se utiliza, una metodología mixta, que se basa en dos cuestionarios, y una entrevista, para el profesorado y alumnado respectivamente, diseñados para medir estas necesidades.
Los alcances de esta investigación se orientan a delimitar un perfil docente que considere la competencia intercultural y así contribuir al empoderamiento de la misma, a través de planes de formación para el docente que trabaja en entornos on-line.
Dealing with digital furniture: LMS', IRs and CRIS' - Opportunities for Integ...enlightenrepository
1) The document discusses opportunities for integrating the University's Library Management System (LMS), Institutional Repository (IR), and Current Research Information System (CRIS) to more effectively manage research publications and comply with open access policies.
2) It describes the University's existing LMS, IR, and CRIS systems as well as drivers for open access like increased research impact and funder policies.
3) Key goals for integration include fulfilling open access obligations, increasing research visibility, implementing a university-wide publications database, and assessing research outputs. Policies and technology need to work in tandem to achieve these goals.
While the percentage of U.S. adults who use smartphones and/or tablets continues to grow, the use of mobile media by people aged 55 or older, who now represent more than 60 percent of non-users, will be a critical factor in future growth according to the latest Reynolds Journalism Institute (RJI) mobile media poll.
Este documento describe los procesos y estrategias de formación y acompañamiento de Computadores Para Educar en 2010, incluyendo el monitoreo y evaluación de actividades, el uso del sistema de información SIMEC, y los objetivos y recomendaciones para los formularios de encuesta aplicados a directivos y docentes.
Este documento proporciona información sobre varias herramientas para reparar archivos PST dañados de Outlook, incluidos Stellar Phoenix Outlook PST Repair Tool, Advanced Outlook Repair, CopyPST y Recovery Toolbox for Outlook. Explica cómo estas herramientas pueden recuperar correo electrónico, contactos y otros datos perdidos de archivos PST corruptos o eliminados, y dividir grandes archivos PST.
Este documento contiene un manual de instrucciones para el convertidor de frecuencia CFW-08. Incluye información sobre la instalación mecánica y eléctrica, puesta en marcha, uso de la interfaz HMI, descripción detallada de los parámetros, solución de problemas, características técnicas y accesorios opcionales. También contiene una referencia rápida de los parámetros más importantes con sus funciones y valores predeterminados.
Global Millennial Survey de Telefónica 2014: resultados globales Paul Fabretti
Los millennials se muestran optimistas, preocupados por sus carreras profesionales y dispuestos a tomar las riendas de su futuro.
Los millennials, jóvenes con edades entre 18 y 30 años, se muestran optimistas sobre el futuro, especialmente en América Latina; se preocupan por la estabilidad laboral; y piensan estratégicamente acerca de la identificación de las mejores oportunidades, de acuerdo con los resultados de Global Millennial Survey de Telefónica, que se realiza por segundo año consecutivo.
Los resultados muestran la naturaleza ubicua de la tecnología en las vidas de los millennials, su espíritu emprendedor, y su preocupación por de la pobreza, la corrupción, la economía y la educación.
Fonterra Consumer Brands Contact Case StudyDatasquirt
Fonterra was spending over $830,000 per year manually processing 17,500 fax and phone orders each week. They implemented Datasquirt's CONTACT solution to automate order processing. This automated 85% of orders, reduced errors by 53%, and cut costs by over 15%, saving Fonterra over $830,000 annually and projected savings of over $5.4 million in 5 years. The solution also allowed Fonterra to reduce their call center staff from 30 employees to 19.
Este documento contiene varias recetas y consejos relacionados con la santería yoruba. Incluye instrucciones para hacer una lámpara para Shangó, amarrar a la policía usando un caimito, baños para quitar maldiciones y una lista de objetos comúnmente usados en rituales (ebós) de santería como telas de colores, ratoneras, piedras y más.
Fun6.2 the fuse and circuit breaker notesEnoch Chow
Fuses and circuit breakers are used to protect electrical circuits and devices. Fuses are thin wires that melt and break the circuit if too much current flows. Circuit breakers use electromagnets to break the circuit automatically in a short circuit. Both work to safely disconnect power before overheating can cause fires or electrocution. Common household devices like kettles and heaters use electrical heating. Fuses or circuit breakers of the proper rating must be selected based on the power of each appliance to provide safety.
Creacion de aplicaciones moviles con symfony2Pablo Godel
Pablo Godel es un programador argentino que vive en Miami desde 1999. Fundó la lista de PHP en español y co-fundó ServerGrove Networks, una empresa de hosting especializada en PHP y Symfony. Aunque no es experto en aplicaciones móviles, ha creado algunas usando Symfony2. Explica que las aplicaciones móviles son cada vez más importantes debido al aumento en el acceso a Internet a través de dispositivos móviles y la demanda de servicios en cualquier momento.
El documento describe una demostración de un sistema de automatización doméstica controlado por voz a través de un teléfono. El sistema incluye dispositivos Zipato, Asterisk, Raspberry Pi, interruptores inteligentes Fibaro y sirenas Fortrezz. El reconocimiento de voz en Asterisk detecta comandos como "encender luz" y los envía a los dispositivos a través de URL para controlarlos de forma remota.
Este documento describe dos demostraciones de sistemas de automatización doméstica. La primera demostración involucra el control de dispositivos domésticos como lámparas, sirenas y enchufes inteligentes a través de comandos de voz reconocidos por Asterisk e implementados mediante solicitudes HTTP a un servidor Zipato. La segunda demostración describe un sistema de teleasistencia que utiliza dispositivos como un llavero inteligente Fibaro y una sirena Fortrezz. Ambas demostraciones se basan en una Raspberry Pi ejec
Este documento presenta un proyecto de PowerPoint sobre temas de informática dividido en dos partes. La primera parte cubre temas como alojamiento web, publicación de páginas web y presentaciones en PowerPoint. La segunda parte trata sobre virus informáticos, creación de blogs, tabletas y videos en Movie Maker. El documento concluye que es importante estar a la vanguardia de la tecnología y proteger los equipos y conocimientos de amenazas cibernéticas.
El documento resume las características principales del sistema operativo Android. En 3 oraciones:
Android es un sistema operativo móvil de código abierto creado originalmente por Andy Rubin y comprado por Google. Tiene características como ser de código abierto, multitarea, compatibilidad con hardware y actualizaciones a través de la tienda Play Store. Su arquitectura incluye componentes como el kernel Linux, librerías, un marco de aplicaciones y las aplicaciones mismas.
Este documento discute las tendencias emergentes en el consumo de contenido a través de medios sociales y móviles en televisores. Explica cómo los usuarios ahora almacenan sus archivos y datos en la nube en lugar de en sus computadoras de escritorio. También describe varias plataformas como Google TV, Apple TV y Samsung Internet@TV que permiten a los usuarios acceder a contenido de la nube, redes sociales y otros servicios directamente en sus televisores. El documento sugiere que en los próximos años, la experiencia en línea
Pablo Godel es un programador argentino viviendo en EE.UU. desde 1999. Fue fundador de la lista de PHP en español y co-fundador de ServerGrove Networks, una compañía de hosting especializada en PHP y Symfony. El documento proporciona consejos sobre cómo configurar un entorno de desarrollo productivo, incluyendo el sistema operativo, editores, control de versiones, pruebas, depuración y despliegue.
Este documento presenta una introducción a la plataforma Android. Explica que Android es un sistema operativo móvil de código abierto basado en Linux. Detalla algunas de las características clave de Android como su arquitectura de aplicaciones, navegador integrado, soporte multimedia y más. También describe los fundamentos del desarrollo de aplicaciones Android como actividades, vistas, intenciones y el ciclo de vida de las actividades. Finalmente, ofrece consejos sobre cómo comenzar a desarrollar aplicaciones Android.
El documento discute la evolución de las computadoras y dispositivos móviles a través del tiempo. Originalmente, las computadoras estaban atadas a los escritorios, pero las laptops permitieron mayor movilidad. Luego, los teléfonos inteligentes como los Blackberry y iPhone revolucionaron la industria al hacer que la computación sea completamente móvil. Ahora, dispositivos como el iPad han redefinido el concepto de uso al hacer la computación más cómoda y casual. El documento también ofrece consejos sobre consideraciones iniciales para el desarrollo
Este documento describe la adopción y uso de Plone como sistema de gestión de contenidos en proyectos del gobierno venezolano. Explica brevemente qué es Plone y por qué se eligió, e informa sobre las experiencias, capacitación, mejoras y apoyo comunitario que se han desarrollado alrededor de su uso en sitios web gubernamentales y educativos.
Jolicloud OS es un sistema operativo Linux diseñado específicamente para netbooks. Se basa en Ubuntu pero está optimizado para hardware más limitado como el de las netbooks. Ofrece una interfaz sencilla e intuitiva centrada en aplicaciones basadas en la nube accesibles desde el escritorio. El documento describe la historia, características y requisitos de Jolicloud OS, incluida su interfaz de usuario, aplicaciones, compatibilidad e instalación.
Este documento describe pyxser, una extensión de Python para serializar objetos de Python a XML. Pyxser permite serializar referencias circulares y cruzadas de manera eficiente, preserva la información de tipos, y puede filtrar o seleccionar atributos. Para usar pyxser, solo se necesita un compilador C99 y las bibliotecas de desarrollo de Python y LibXML2. El documento también explica cómo usar pyxser con Django a través de un decorador, y cómo seleccionar atributos y filtrar clases en el resultado XML.
Esta charla intenta acerca a los nuevos usuarios al CMS Plone explicando su instalación, sus bondades, su arquitectura, pro y contra de adoptar para el desarrollo de sistemas, comunidad y todo el soporte disponible en Español, mostrar casos de éxitos de implementación de esta herramienta en Venezuela.
El documento proporciona una introducción al curso de Guadalinex, un sistema operativo basado en GNU/Linux desarrollado por la Junta de Andalucía. El curso cubre la introducción al software libre y GNU/Linux, la instalación de Guadalinex, su uso diario y aplicaciones comunes como OpenOffice y Firefox. También se menciona que la Junta de Andalucía utiliza Guadalinex en 300.000 ordenadores para ahorrar 180 millones de euros.
- La historia de la robótica LEGO Mindstorms comenzó en la década de 1980 cuando LEGO creó un departamento de productos educativos y comenzó a desarrollar ladrillos programables.
- En 1998 se lanzó el sistema LEGO Mindstorms original, que permitía a los usuarios construir y programar robots utilizando ladrillos LEGO inteligentes. Hubo varias versiones posteriores del sistema.
- Mindstorms ha ayudado a muchos niños y adultos a aprender conceptos de robótica, ingeniería y programación de una man
Este documento presenta información sobre el desarrollo sostenible y la tecnología de software libre. Explica que el software libre promueve la sostenibilidad económica, social y ambiental al permitir el ahorro de costos, la independencia tecnológica, la colaboración comunitaria y un menor impacto ecológico. También identifica algunos inconvenientes como la falta de difusión y soporte, pero concluye que el software libre ofrece grandes beneficios al permitir que la tecnología evolucione de forma abiert
El documento habla sobre las telecomunicaciones y las centrales IP. Explica que una central IP es un equipo telefónico diseñado para ofrecer servicios de voz y video a través de redes de datos. También menciona algunos detalles sobre su funcionamiento y ventajas para grandes corporaciones, aunque la calidad del audio aún no se compara con el telefónico tradicional. Finalmente, dice que esta tecnología llegó para quedarse y resolverá problemas en poco tiempo.
El segundo párrafo resume las principales ventajas de Google Drive como herram
OpenWOLF es un proyecto de software libre guatemalteco que busca ser la columna vertebral del gobierno electrónico a través del uso de las mejores herramientas de código abierto como Linux, Apache, PostgreSQL y Ruby on Rails con énfasis en la transparencia, capacitación de la comunidad y continuidad del proyecto.
Este documento discute el software libre y su historia. Explica que el software libre permite a los usuarios ejecutar, estudiar, modificar y distribuir el código fuente de un programa. También describe cómo Richard Stallman fundó el movimiento de software libre en respuesta a las restricciones de los programas privativos en los años 1980. Finalmente, resalta las ventajas del software libre como su bajo costo, independencia de proveedores y mayor seguridad.
Similar a Creación de aplicaciones móviles con PHP y Symfony2 (20)
SymfonyCon Cluj 2017 - Symfony at OpenSkyPablo Godel
- OpenSky is a digital agency that uses Symfony to power multiple e-commerce businesses, with over 100 employees in offices around the world.
- They have been using Symfony since 2010, initially migrating from Magento to Symfony 1 and then Symfony 2.
- Their current stack includes Symfony 2.8, PHP 7.1, MySQL, MongoDB, Redis, and over 10,000 unit tests.
Symfony Live San Francisco 2017 - Symfony @ OpenSkyPablo Godel
OpenSky is a digital agency that uses Symfony to power multiple e-commerce businesses. It has over 100 employees across several global offices. OpenSky migrated from Magento to Symfony2 in 2010 and has been an early adopter of new Symfony versions. Their coding workflow utilizes Git, GitHub Enterprise, PHP coding standards, and peer code reviews. They implement security using multiple firewalls and role voters. Doctrine is used for both MongoDB and MySQL, with references between the databases. Events and queues are used for asynchronous functionality.
OpenSky es uno de los primeros grandes usuarios de Symfony desde su lanzamiento. Hoy en día cuenta con varios millones de usuarios activos. Compartiremos como OpenSky utiliza Symfony, Doctrine con MySQL y MongoDB y otros componentes.
También ofreceremos algunos tips de la infraestructura y la organización que posibilitan un crecimiento gradual, continuo y ágil.
The document discusses automating software deployment using Ansible. It provides an overview of Ansible's basic concepts like inventory files to define hosts, playbooks to execute tasks on hosts, and roles to bundle related tasks. It then discusses using Ansible roles to automate deployments, including the ansistrano roles which can deploy applications by copying files, managing releases, and supporting deployment hooks. Overall the document presents Ansible as a way to easily automate and standardize software deployment processes.
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony AppsPablo Godel
Web applications are becoming increasingly more complex, so deployment is not just transferring files with FTP anymore. We will go over the different challenges and how to deploy our PHP applications effectively, safely and consistently with the latest tools and techniques. We will also look at tools that complement deployment with management, configuration and monitoring.
La Caja de Herramientas del Desarrollador Moderno PHPConferenceARPablo Godel
En los últimos años ha habido un tremendo progreso e innovación en herramientas y aplicaciones disponibles para que el desarrollador web mejore la calidad, eficiencia y velocidad de sus aplicaciones. Es difícil estar al tanto de todas estas actualizaciones.
En esta charla introduciremos y exploraremos las herramientas que marcan una real diferencia en las siguientes áreas:
Desarrollo, testeo y debugging con Vagrant, Ansible, y Docker
Monitoreo y logging con Logstash, Kibana, Redis, y Elasticsearch
Deployment con Capistrano, Capifony y similares
Todas estas herramientas, además de consejos y trucos aprendidos a lo largo de años de experiencia harán de esta charla muy interesante para desarrolladores de diversos niveles.
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony AppsPablo Godel
Web applications are becoming increasingly more complex, so deployment is not just transferring files with FTP anymore. We will go over the different challenges and how to deploy our PHP applications effectively, safely and consistently with the latest tools and techniques. We will also look at tools that complement deployment with management, configuration and monitoring.
The document discusses the modern developer toolbox and outlines various tools that developers can use for development environments, testing, debugging, profiling, deployment, logging, and monitoring of applications. It provides recommendations for setting up development environments on different operating systems and with tools like Vagrant, Docker, Ansible, and Homebrew. It also discusses PHP installation and editors/IDEs to use. Testing with PHPUnit, Behat, and Jenkins is covered as well as debugging with XDebug, profiling with XHProf, and deployment with Ansible, Capistrano and other options. Logging with Monolog, Logstash and Kibana is also summarized along with monitoring metrics with StatsD, Graphite and Grafana.
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...Pablo Godel
Un programador PHP/web no está completo sin conocimientos de administración de servidores. Cuando buscas un trabajo, seguramente te encontrarás con el requerimiento de conocimientos para configurar un servidor (Linux, Apache, MySQL and PHP). Las posibilidades de que consigas ese trabajo son mayores si conoces sobre servidores.
PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balasPablo Godel
Las aplicaciones web se están complicando cada vez más, por lo que el deployment ya no es cuestión de transferir archivos a través de FTP. En esta charla analizaremos los diferentes desafíos a la hora de hacer deploy de nuestras aplicaciones PHP de forma efectiva, segura y consistente con las últimas herramientas y técnicas.
php[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP appsPablo Godel
Web applications are becoming increasingly more complex, so deployment is not just transferring files with FTP anymore. We will go over the different challenges and how to deploy our PHP applications effectively, safely and consistently with the latest tools and techniques. We will also look at tools that complement deployment with management, configuration and monitoring.
Lone Star PHP 2013 - Sysadmin Skills for PHP DevelopersPablo Godel
A PHP/web developer is not complete without knowing server administration. When looking for a job, it is quite likely that you will be required to know about installing and configuring a LAMP (Linux, Apache, MySQL and PHP). Your prospects of getting that job are much higher when you know these. In this session we will cover: - Introduction to LAMP servers - Frequently used Unix commands - Linux distro Differences - Prepare your LAMP server before going live - Overall LAMP Security - Performance tips to improve your website speed - Compiling PHP from source. Adding PHP extensions. - Basic description of web hosting options for PHP.
Lone StarPHP 2013 - Building Web Apps from a New AnglePablo Godel
AngularJS is a new JavaScript framework, backed by Google, for building powerful, complex and rich client-side web applications. We will go over the features and basics of building a web application with AngularJS and we will demonstrate how to communitate with a REST server built with PHP.
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...Pablo Godel
AngularJS es un framework Javascript relativamente nuevo, patrocinado por Google, que está ganando mucha popularidad gracias a su potencia, flexibilidad y simplicidad.
En esta charla haremos una introducción de sus caulidades más importantes, veremos como se acopla con Symfony para la creación de aplicaciones web con interfaz ricas y complejas, incluyendo consejos prácticos de como diseñar nuestra aplicación establecer su estructura.
Por último, mostraremos una aplicación escrita en AngularJS que se conecta a servidores REST y WebSockets creados con Symfony.
Creating Mobile Apps With PHP & Symfony2Pablo Godel
The document discusses creating mobile apps with PHP and Symfony. It begins with an introduction to mobile apps and why they are important given the rise of mobile internet usage. It then covers the history of mobile technology and apps. Next, it discusses using Symfony components and the Silex microframework to build mobile apps. It also covers creating mobile web apps with frameworks like jQuery Mobile and integrating them with Symfony through templates, routing, and controllers.
Tek13 - Creating Mobile Apps with PHP and SymfonyPablo Godel
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.
Tek 2013 - Building Web Apps from a New Angle with AngularJSPablo Godel
AngularJS is a new JavaScript framework, backed by Google, for building powerful, complex and rich client-side web applications. We will go over the features and basics of building a web application with AngularJS and we will demonstrate how to communicate with a REST server built with PHP.
Soflophp 2013 - SysAdmin skills for PHP developersPablo Godel
A developer is not a complete one without basic server/system administration skills. We will go over linux and network administration tips, Apache and MySQL configuration, basic security and other related topics.
Symfony2 and MongoDB - MidwestPHP 2013 Pablo Godel
In this talk we will see how to use MongoDB in Symfony2 projects to speed up the development of web applications. We will give an introduction of MongoDB as a NoSQL database server and look at the options on how to work with it from Symfony2 and PHP applications.
Rock Solid Deployment of Web ApplicationsPablo Godel
This document discusses best practices for deploying web applications. It recommends automating deployment using tools like Capistrano, Fabric, or Phing to allow for continuous deployment. It also stresses the importance of monitoring servers and applications during deployment using tools like StatsD, Graphite, Logstash, Graylog, and Kibana. The document provides examples of deployment scripts and emphasizes planning deployment early in the development process.
Creación de aplicaciones móviles con PHP y Symfony2
1. Aplicaciones Móviles
Quién es Pablo Godel?
Creación de aplicaiones
móviles con
PHP y Symfony2
Pablo Godel
PHP Barcelona Conference 2011
Friday, October 28, 2011
2. Quién es Pablo Godel?"
• Argentino, viviendo en Miami, EE.UU. desde 1999
• Programador PHP, Symfony, entre otros
• Fundador de la lista de PHP en español
http://news.php.net/php.general.es/3 )Julio 2000(
• Pasé el control a php.net con más de 1000 subscriptos
• Co-fundador de ServerGrove Networks
⁃ fundada en 2005
⁃ servicios de hosting especializado en PHP, Symfony,
Zend Framework, entre otros
Friday, October 28, 2011
5. Aplicaciones Móviles -
Quién es Pablo Godel? Por qué?
• Cada vez más personas tienen acceso a
Internet en el télefono móvil
• Los dispositivos son cada vez más potentes y
versátiles
• El acceso a Internet es más rápido y confiable
• El público demanda servicios y aplicaciones
en todo momento
Friday, October 28, 2011
6. Aplicaciones Móviles -
Quién es Pablo Godel? Por qué?
• No se pueden dar ventajas en el mercado
ultra-competitivo
• Tus competidores ya lo están haciendo o
implementando
Friday, October 28, 2011
7. Aplicaciones Móviles -
Quién es Pablo Godel? Por qué?
Algunos números...
Friday, October 28, 2011
8. Aplicaciones Móviles -
Quién es Pablo Godel? Por qué?
• 5.300 millones de usuarios a nivel mundial
• 370 millones de teléfonos móviles vendidos en
Q1 2011 a nivel mundial
• + 850 millones de usuarios en China
• 54 millones de usuarios en España )2010(
• 300 mil aplicaciones móviles con 10.900
millones de instalaciones
Friday, October 28, 2011
9. Aplicaciones Móviles -
Quién es Pablo Godel? Por qué?
Teléfonos celulares
por Paises
Fuente:
http://www.nationmaster.com/graph/med_mob_pho-media-mobile-phones
Friday, October 28, 2011
10. Aplicaciones Móviles -
Quién es Pablo Godel? Por qué?
¿Cómo llegamos hasta aquí?
Friday, October 28, 2011
11. Aplicaciones Móviles -
Quién es Pablo Godel? Por qué?
Un poco de historia...
Friday, October 28, 2011
12. Aplicaciones Móviles -
Quién es Pablo Godel? Historia
1979 Primera red celular )1G - primera generación(
comercial del mundo lanzada en Japón
Friday, October 28, 2011
13. Aplicaciones Móviles -
Quién es Pablo Godel? Historia
1983 Motorola DynaTAC
El teléfono “móvil”
Motorola DynaTAC -
también conocido como
LA BOTA - costaba
US$ 3995 y pesaba 793
gramos!
Friday, October 28, 2011
14. Aplicaciones Móviles -
Quién es Pablo Godel? Historia
1997 WAP - Wireless Application Protocol
Estandard común para conectar distintas redes y
aplicaciones en dispositivos
• Cliente WAP
• Servidor envia WML )XML(
<?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>
Friday, October 28, 2011
21. Aplicaciones Móviles -
Quién es Pablo Godel? Historia
2007 iPhone
• Revolución en el
mercado de
telefonía móvil
• Cliente Web Safari
Friday, October 28, 2011
22. Aplicaciones Móviles -
Quién es Pablo Godel? Historia
2007 iPhone App Store
Friday, October 28, 2011
23. Aplicaciones Móviles -
Quién es Pablo Godel? Historia
2008 Primer dispositivo Android
Friday, October 28, 2011
24. Aplicaciones Móviles -
Quién es Pablo Godel? Historia
2010 iPad
Friday, October 28, 2011
25. Aplicaciones Móviles -
Quién es Pablo Godel? Historia
¿Qué significa todo esto?
Friday, October 28, 2011
26. Aplicaciones Móviles -
Quién es Pablo Godel? Historia
Generación móvil
La PC no está muerta
Friday, October 28, 2011
27. Aplicaciones Móviles -
Quién es Pablo Godel? Historia
Generación móvil
Pero el consumo de información pasó a
teléfonos y tabletas
Friday, October 28, 2011
28. Aplicaciones Móviles -
Quién es Pablo Godel? Historia
Generación móvil
Y esto es sólo el comienzo...
Friday, October 28, 2011
30. Aplicaciones Móviles -
Quién es Pablo Godel? Symfony
¿Qué es Symfony?
Friday, October 28, 2011
31. Aplicaciones Móviles -
Quién es Pablo Godel? Symfony
Definición por Fabien Potencier:
⁃ Symfony2 es un grupo de componentes
independientes, reusables y cohesivos, para
solucionar problemas comunes de
desarrollo web.
⁃ Symfony2 es también un framework full-
stack, gracias a estos componentes
Fuente: http://fabien.potencier.org/
Friday, October 28, 2011
32. Aplicaciones Móviles -
Quién es Pablo Godel? Symfony
21 componentes
de alta calidad
Friday, October 28, 2011
33. Aplicaciones Móviles -
Quién es Pablo Godel? Symfony
Componentes: • DependencyInjection
• EventDispatcher
• HttpFoundation
• DomCrawler
• ClassLoader
• CssSelector
• HttpKernel
• BrowserKit
• Templating
• Translation
• Serializer
• Validator
• Security
• Routing
• Console
• Process
• Config
• Finder
• Locale
• Yaml
• Form
Todos en GitHub: http://github.com/symfony
Friday, October 28, 2011
34. Aplicaciones Móviles -
Quién es Pablo Godel? Symfony
Proyectos usando componentes de Symfony2:
• 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?
Fuente: http://fabien.potencier.org/
Friday, October 28, 2011
35. Aplicaciones Móviles -
Quién es Pablo Godel? Symfony
¿Conoces o usaste
symfony 1.x?
Friday, October 28, 2011
36. Aplicaciones Móviles -
Quién es Pablo Godel? Symfony
Mejor olvídate...
Friday, October 28, 2011
37. Aplicaciones Móviles -
Quién es Pablo Godel? Symfony
Lo único en común entre
symfony 1.x y Symfony2
es el nombre...
Friday, October 28, 2011
38. Aplicaciones Móviles -
Quién es Pablo Godel? Symfony
Bueno, la carpeta web
también...
Friday, October 28, 2011
39. Aplicaciones Móviles -
Quién es Pablo Godel? Symfony
Características
• Escrito completamente desde cero para PHP 5.3 o superior.
• Basado en los estandares del protocolo HTTP
• API sólido y estable.
• Extensible mediante creación de bundles (en sf1 eran llamados plugins)
• Configuración flexible con archivos Yaml, XML, anotaciones, y/o código PHP.
• Toda la configuración es convertida a PHP y cacheada.
• Creación y manejo de formularios
• Muchos unit tests
• Código auditado por compañia de seguridad profesional gracias a las
donaciones de la comunidad Symfony.
Friday, October 28, 2011
40. Aplicaciones Móviles -
Quién es Pablo Godel? Symfony
Comunidad Symfony
• 312 personas han contribuido a Symfony2 hasta la
fecha
• ~2500 pull requests en GitHub
• 705 bundles en http://symfony2bundles.org
• Canales IRC en Freenode: #symfony-es, #symfony
y #symfony-dev
• Listas de discusión: symfony-es, symfony y
symfony-devs en Google Groups
Friday, October 28, 2011
41. Aplicaciones Móviles -
Quién es Pablo Godel? Symfony
Características
• Excelente integración con:
• Doctrine2 ORM y ODM
• Propel2
• Assetic - manejo de assets (css, js, imágenes, etc)
• Twig - motor de plantillas
• Swiftmailer - envío de emails
Friday, October 28, 2011
42. Aplicaciones Móviles -
Quién es Pablo Godel? Symfony
¿Por qué Symfony?
Friday, October 28, 2011
43. Aplicaciones Móviles -
Quién es Pablo Godel? Symfony
• Gracias a la base sólida se pueden crear buenas
APIs HTTP / Restful
• Twig facilita la creación de plantillas para
dispositivos móviles
• Es posible re-utilizar mucho código para distintas
aplicaciones o dispositivos gracias a las plantillas,
los controladores y el ruteo
Friday, October 28, 2011
44. Aplicaciones Móviles -
Quién es Pablo Godel? Tipos
1.Aplicaciones nativas
2.Aplicaciones SMS
3.Aplicaciones web
4.Aplicaciones híbridas )mezcla de nativas & web(
Friday, October 28, 2011
45. Aplicaciones Móviles -
Quién es Pablo Godel? Tipos
Aplicaciones Nativas
Friday, October 28, 2011
46. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? nativas
• iPhone - Objective-C
• Android - Java
• Windows Mobile - .NET
• Frameworks multi-plataform
⁃ PhoneGap http://phonegap.com
⁃ rhomobile http://rhomobile.com
⁃ Appceledator http://appcelerator.com
⁃ Corona http://anscamobile.com/corona/
Friday, October 28, 2011
47. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? nativas
PHP o Symfony no corren en estos
dispositivos pero las aplicaciones
nativas comúnmente necesitan
conectarse a un servidor.
Usos comunes:
• envío de mensajes
• carga de datos de una DB
• autenticación/autorización
• chats
Friday, October 28, 2011
48. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? nativas
Consideraciones:
• Diseñar API )RESTful, HTTP, XML-RPC(
temprano en el ciclo de desarrollo
• Una API se puede utilizar para otro tipo de
clientes )ej. Desktop como Adobe AIR(
• Reutilizar controladores y aprovechar el
_format para generar distintos formatos de
contenido )XML, json, etc(
Friday, October 28, 2011
49. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? Nativas
Symfony2 Bundle para crear una API
- FOSRestBundle
https://github.com/FriendsOfSymfony/FOSRestBundle
Friday, October 28, 2011
50. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? nativas
Notificaciones PUSH
Un servidor envía mensajes a la red celular
con destino teléfono/aplicación
- El servidor puede estar desarrollado con
Symfony
Ejemplo en PHP: http://easyapns.com/
Friday, October 28, 2011
51. Aplicaciones Móviles
Quién es Pablo Godel?
Aplicaciones SMS
Friday, October 28, 2011
52. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? SMS
Symfony puede recibir y enviar mensajes de
texto a través de un gateway
Usos comunes:
- Envío de alertas
- Chats
- Pagos electrónicos
- Avisos publicitarios
Friday, October 28, 2011
53. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? SMS
Friday, October 28, 2011
54. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? SMS
Recibo de SMS
1.El usuario envía un mensaje de texto a un "short code" )ej. 12334(
2.El mensaje se rutea a través del proveedor de telefonía
3.El mensaje llega al gateway registrado para procesar el short code
4.El gateway convierte el mensaje y lo envía por internet utilizando
HTTP/HTTPS
5.Nuestro servidor recibe el "request" con la siguiente información:
⁃ número de télefono
⁃ operador / carrier
⁃ contenido del mensaje
6.Procesamos el mensaje
7.Si es necesario enviamos una respuesta
Friday, October 28, 2011
55. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? SMS
Envío de SMS
1.Generamos el contenido del mensaje
2.Se envía el mensaje al gateway con la siguiente información
⁃ número de teléfono
⁃ operador / carrier )opcional(
⁃ contenido del mensaje
3.El gateway recibe el mensaje y responde si puede aceptarlo
4.Una vez que el mensaje es enviado, es posible recibir un acuse de
recibo. Este aviso puede ser un “request” aparte.
Friday, October 28, 2011
56. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? SMS
Proveedores de SMS gateway:
• Twilio
http://twilio.com
)lanzanzando servicio internacional pronto(
• Clickatell
http://www.clickatell.com
• SMSpubli
http://www.smspubli.com
Friday, October 28, 2011
57. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? SMS/MMS
MMS son mensajes multimedia con texto,
imágenes, video y audio
Usos comunes:
- Procesamiento de fotos
- Envío de código de barras 2D
Friday, October 28, 2011
58. Aplicaciones Móviles
Quién es Pablo Godel?
Aplicaciones Web
Friday, October 28, 2011
59. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? Web
Frameworks HTML / Javascript
• iui
http://code.google.com/p/iui/ )uno de los primeros(
• 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/
Friday, October 28, 2011
60. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? Web
jQuery Mobile
Friday, October 28, 2011
61. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? Web
jQuery Mobile
Soporta:
- IOS )iPhone/iPad(
- Android
- Blackberry
- Windows Phone
- palm webOS
- symbian
Friday, October 28, 2011
62. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? Web
jQuery Mobile
Friday, October 28, 2011
63. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? Web
jQuery Mobile - Características
• Basado en jQuery
• Liviano )12KB comprimido(
• HTML5
• Accesible )funciona con lectores de
páginas(
• Eventos, plugins y themes
• Patrocinado por Mozilla, Adobe, Palm,
Nokia, Blackberry entre otros.
Friday, October 28, 2011
64. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? Web
jQuery Mobile - Características
• Manejo de páginas
• Transiciones
• Ventanas de dialogo
• Enlances y botones
• Barras de navegación
• Encabezados / Pies de páginas
• Formularios
• Listas
Friday, October 28, 2011
65. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? Web
jQuery Mobile - Manejo de páginas
<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>
Friday, October 28, 2011
66. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? Web
jQuery Mobile - Manejo de páginas
<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 -->
<!-- Start of second page -->
<div data-role="page" id="bar">
! <div data-role="content">!
! ! <p>I'm first in the source order so I'm shown as the page.</p>! !
! ! <p><a href="#foo">Back to foo</a></p>!
! </div><!-- /content -->
</div><!-- /page -->
</body>
Friday, October 28, 2011
67. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? Web
jQuery Mobile - Transiciones
<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>
Friday, October 28, 2011
68. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? Web
jQuery Mobile - Ventanas de dialogo
Friday, October 28, 2011
69. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? Web
jQuery Mobile - Barras de navegacion
<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>
Friday, October 28, 2011
70. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? Web
jQuery Mobile - Forms
Friday, October 28, 2011
71. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? Web
jQuery Mobile - Forms
Friday, October 28, 2011
72. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? Web
jQuery Mobile - Listas
Friday, October 28, 2011
73. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? Web
jQuery Mobile y Symfony
Friday, October 28, 2011
74. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? Web
Friday, October 28, 2011
75. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? Web
Friday, October 28, 2011
76. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? Web
Plantillas
Friday, October 28, 2011
84. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? Web
jQuery Mobile y Symfony / Rutas opción 3
m_portada:
pattern: /m
defaults: { _controller: DesymfonyBundle:Movil:index }
Friday, October 28, 2011
85. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? Web
Controladores y acciones
Friday, October 28, 2011
86. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? Web
jQuery Mobile y Symfony / Controlador & Acción
public function indexAction()
{
$em = $this->get('doctrine')->getEntityManager();
$ponenciasDiaUno = $em->getRepository('DesymfonyBundle:Ponencia')-
>findTodasDeFecha('2011-07-01');
$ponenciasDiaDos = $em->getRepository('DesymfonyBundle:Ponencia')-
>findTodasDeFecha('2011-07-02');
$format = $this->get('request')->getRequestFormat();
return $this->render('DesymfonyBundle:Default:index.'.$format.'.twig', array(
'ponenciasDiaUno' => $ponenciasDiaUno,
'ponenciasDiaDos' => $ponenciasDiaDos,
));
}
Friday, October 28, 2011
87. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? Web
Testing
Friday, October 28, 2011
88. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? Web
• Podemos utilizar los functional
tests de Symfony2 ya que el
contenido es HTML
• Si utilizamos el modo AJAX para
transiciones y carga dinámica,
no podemos usar los functional
tests
• Alternativas: Selenium RC
• Behat )BDD(
Friday, October 28, 2011
89. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? Web
jQuery Mobile y Symfony
DEMO !
Aplicación desymfony:
• http://desymfony.qa.servergrove.com
• http://desymfony.qa.servergrove.com/m
Panel de Control:
• https://control.servergrove.com/
• https://control.servergrove.com/m
login: demo@servergrove.com
password: Demo2010
Friday, October 28, 2011
90. Aplicaciones Móviles
Quién es Pablo Godel?
Aplicaciones Híbridas
Friday, October 28, 2011
91. Aplicaciones
Aplicaciones Móviles
Quién es Pablo Godel? híbridas
Aplicaciones que combinan aspectos de
aplicaciones nativas y web
Framework PhoneGap
- Desarrollo de aplicación con HTML y JavaScript
- Integración con XCode
- Compila en código nativo
- Acceso a acelerómetro, cámara, geolocation,
notificaciones
Friday, October 28, 2011