21/10/2014
Desenvolvimento de aplicações Web Desenvolvimento de aplicações Web Sinopse Desenvolvimento de aplicações Web robustas, em contexto empresarial, de O desenvolvimento Web, de sites dinâmicos, em forma simplificada. contexto empresarial, requer a escolha cuidadosa de qual plataforma e de quais ferramentas utilizar; consiste ainda na integração de muitos componentes. Maurício Bordon
www.anhanguera.com [email protected] ou @gmail.com www.anhanguera.com [email protected] ou @gmail.com
Desenvolvimento de aplicações Web Desenvolvimento de aplicações Web Minibiografia Sinopse
Maurício Bordon trabalha na área de TI desde 1989, e com Através da utilização do PHP (uma linguagem muito desenvolvimento Web desde 2000. Atuou na concepção e no desenvolvimento de um ERP (software de Gestão Empresarial), voltado popular para o desenvolvimento Web, utilizada por para a Web, e em diversos outros projetos, e atualmente está envolvido exemplo no site Facebook), e do Framework Symfony na implantação do ERP Protheus da TOTVS e na integração deste com (utilizado, entre muitos outros sites, no Yahoo), pode- uma Extranet. se entregar um produto robusto e de alta qualidade. Leciona a disciplina Gerência de Sistemas de Informação na Anhanguera.
www.anhanguera.com [email protected] ou @gmail.com www.anhanguera.com [email protected] ou @gmail.com
1 21/10/2014
Desenvolvimento de aplicações Web Desenvolvimento de aplicações Web Sinopse Componentes
Server Client • O que são Web Sites Dinâmicos SO / Web Server / BD SO / Browser • Quais os componentes necessários Cloud Computing Aplicativo • Como escolher uma plataforma Linguagem HTML / CSS / Javascript / • Linguagem PHP Flash • Componentes Definição de Framework Configuração (email, conexão BD) / Ambientes / • Debug / Formulários / Autorização / Acesso a Banco Framework Symfony de Dados / Tradução • Exemplo da utilização do Symfony
www.anhanguera.com [email protected] ou @gmail.com www.anhanguera.com [email protected] ou @gmail.com
Desenvolvimento de aplicações Web Desenvolvimento de aplicações Web Contexto Empresarial Plataforma
Exemplos: Intranets, Extranets, Comércio eletrônico em Geral SO Windows, Linux, Android, iOS, OS X, OS X Server
Requisitos: Performance, Escalabilidade, Segurança, Web Server Apache, IIS Facilidade de Manutenção (mudanças constantes), Banco de Dados Oracle, Sql Server, DB2, MySql, Portabilidade, Uniformidade PostgreSql Browser Chrome, IE, Firefox, Safari
www.anhanguera.com [email protected] ou @gmail.com www.anhanguera.com [email protected] ou @gmail.com
2 21/10/2014
Desenvolvimento de aplicações Web Desenvolvimento de aplicações Web Plataforma Plataforma
http://php.net/ (PHP Group) http://www.oracle.com/technetwork/java/javaee/jsp/index.html
JavaServer Pages (JSP) technology provides a PHP is a popular general-purpose scripting language that is especially suited to web simplified, fast way to create dynamic web development. Fast, flexible and pragmatic, content. JSP technology enables rapid PHP powers everything from your blog to the development of web-based applications that most popular websites in the world. are server- and platform-independent.
www.anhanguera.com [email protected] ou @gmail.com www.anhanguera.com [email protected] ou @gmail.com
Desenvolvimento de aplicações Web Desenvolvimento de aplicações Web Plataforma Como escolher a Plataforma
http://www.asp.net/get-started • Conhecer as características particulares da aplicação ASP.NET is a free web framework for building • Disponibilidade de profissionais great Web sites and Web applications using • Ambiente (SO, BD, aplicativos existentes) do Cliente HTML, CSS and JavaScript. You can also create ou Clientes Web APIs, mobile sites, use real-time • Proprietário ou Open Source technologies like Web Sockets and more! • Custo
www.anhanguera.com [email protected] ou @gmail.com www.anhanguera.com [email protected] ou @gmail.com
3 21/10/2014
Desenvolvimento de aplicações Web Desenvolvimento de aplicações Web Uso da Linguagem PHP Linguagens populares
Google.com C, C++, Go, Java, Python Facebook.com Hack, PHP, C++, Java, Python, Erlang,D, Xhp YouTube.com C/C++, Python, Java Yahoo JavaScript, PHP PHP is used by 82.0% of all the websites whose Live.com ASP.NET server-side programming language we know. MSN.com ASP.NET Wikipedia.org PHP http://w3techs.com/technologies/overview/programming_language/all , acesso em 12/10/2014 Blogger Python
http://en.wikipedia.org/wiki/Programming_languages_used_in_most_popular_websites , acesso em 12/10/2014
www.anhanguera.com [email protected] ou @gmail.com www.anhanguera.com [email protected] ou @gmail.com
Desenvolvimento de aplicações Web Desenvolvimento de aplicações Web Uso da Linguagem PHP Linguagens populares
Bing ASP.NET Twitter.com C++, Java, Scala, Ruby on Rails Wordpress.co m PHP Amazon.com Java, C++, Perl eBay.com Java, JavaScript Linkedin.com Java, JavaScript, Scala Stack Overflow C# (ASP.NET MVC)
http://en.wikipedia.org/wiki/Programming_languages_used_in_most_popular_websites , acesso em 12/10/2014
www.anhanguera.com [email protected] ou @gmail.com www.anhanguera.com [email protected] ou @gmail.com
4 21/10/2014
Desenvolvimento de aplicações Web Desenvolvimento de aplicações Web Uso do PHP no Facebook Porque usar um Framework?
• Não é absolutamente necessário, mas... Projetos open-source nos quais o Facebook está envolvido, incluindo PHP (também, declaração do • Desenvolver melhor e mais rápido Facebook sobre uso no início de suas operações): • Padronização para equipe • Design Patterns: Exemplo: MVC https://code.facebook.com/projects/
www.anhanguera.com [email protected] ou @gmail.com www.anhanguera.com [email protected] ou @gmail.com
Desenvolvimento de aplicações Web Desenvolvimento de aplicações Web Significado de Framework Frameworks Para PHP
• http://www.merriam-webster.com/dictionary/framework : the basic structure of something : a set of ideas or facts that provide support for something AppFlower Fusebox SilverStripe(Sapphir • http://pt.wikipedia.org/wiki/Framework : Framework é um conjunto de CakePHP Joomla e) classes que colaboram para realizar uma responsabilidade para um domínio ClanCatsFramework Kajona Solodev CMS de um subsistema da aplicação. CodeIgniter Laravel Symfony • Biblioteca de funções x Framework Drupal Nette Framework Yii • Existem para PHP, Java, Ruby, Etc. Fat-Free Framework NovaFramework Zend Framework FuelPHP PRADO Zikula Qcodo
www.anhanguera.com [email protected] ou @gmail.com www.anhanguera.com [email protected] ou @gmail.com
5 21/10/2014
Desenvolvimento de aplicações Web Desenvolvimento de aplicações Web Como escolher um Framework Razões para Escolher o Symfony
• Lançado em 2005 • Popularidade • Reconhecido internacionalmente • Flexível • Suporte • Expansível • Técnica – melhores práticas • Estável • • Uso de melhores práticas Segurança • Integração com outros projetos Open Source (exemplo: Doctrine e Propel) • Documentação • Documentação extensa • Licença de uso • Uso completo ou apenas dos componentes • Testado!!!!
www.anhanguera.com [email protected] ou @gmail.com www.anhanguera.com [email protected] ou @gmail.com
Desenvolvimento de aplicações Web Desenvolvimento de aplicações Web Framework Symfony Projetos e Empresas usando Symfony
http://symfony.com/what-is-symfony • Drupal: CMS • phpBB: Forum Symfony is a set of PHP Components, a Web • Laravel, Silex: Framework Application framework, a Philosophy, and a • Doctrine, Propel: ORM Community — all working together in harmony. • Magento: eCommerce • Sites: TED, BBC, Yahoo
www.anhanguera.com [email protected] ou @gmail.com www.anhanguera.com [email protected] ou @gmail.com
6 21/10/2014
Desenvolvimento de aplicações Web Desenvolvimento de aplicações Web Exemplo da documentação Certificação https://www6.pearsonvue.com/testtaker/registration/SelectTestCenterProximity/SENSIOLABS/294525 • Documentação extensiva (slide Como aprender) • Aprenda além do uso do Framework, entenda os fundamentos e melhores práticas http://www.lanuniversity.com.br/site/centro-de- • Exemplo: O que é e como funciona o protocolo HTTPD? exames
http://www.impacta.com.br/a-impacta/centro- de-exames.php
www.anhanguera.com [email protected] ou @gmail.com www.anhanguera.com [email protected] ou @gmail.com
Desenvolvimento de aplicações Web Desenvolvimento de aplicações Web Sensiolabs Técnica - Ambientes • Created in 1998, Sensio was born when Grégory Pascal and Fabien Potencier met, with the ambition of bringing together marketing and technology whilst still providing simple and pragmatic solutions. • The French digital agency which showed the strongest recorded growth in the last Configurações distintas ao instalar: three years with a turnover of €6.5m in 2009, €8.5m in 2010 and €11m in 2011. • • 80 employees and a network of experts and partners in more than 30 countries Prod • 150 active clients in 2010 • Dev • A success which can be exported, with international offices in Germany and the United States. • Test
http://sensiolabs.com/en/a_propos/nous_aimons_le_concret.html
www.anhanguera.com [email protected] ou @gmail.com www.anhanguera.com [email protected] ou @gmail.com
7 21/10/2014
Desenvolvimento de aplicações Web Desenvolvimento de aplicações Web Técnica - Rotas Técnica - Template
Twig Uso Opcional
www.anhanguera.com [email protected] ou @gmail.com www.anhanguera.com [email protected] ou @gmail.com
Desenvolvimento de aplicações Web Desenvolvimento de aplicações Web Técnica - Action Técnica - Model
Doctrine Uso Opcional
www.anhanguera.com [email protected] ou @gmail.com www.anhanguera.com [email protected] ou @gmail.com
8 21/10/2014
Desenvolvimento de aplicações Web Desenvolvimento de aplicações Web Técnica – Form Component Técnica – Form Component
www.anhanguera.com [email protected] ou @gmail.com www.anhanguera.com [email protected] ou @gmail.com
Desenvolvimento de aplicações Web Desenvolvimento de aplicações Web Técnica – Form Component Técnica – Form Component
www.anhanguera.com [email protected] ou @gmail.com www.anhanguera.com [email protected] ou @gmail.com
9 21/10/2014
Desenvolvimento de aplicações Web Desenvolvimento de aplicações Web Técnica – Form Component Técnica – Toolbar
www.anhanguera.com [email protected] ou @gmail.com www.anhanguera.com [email protected] ou @gmail.com
Desenvolvimento de aplicações Web Desenvolvimento de aplicações Web Técnica – Form Component Técnica – Toolbar
www.anhanguera.com [email protected] ou @gmail.com www.anhanguera.com [email protected] ou @gmail.com
10 21/10/2014
Desenvolvimento de aplicações Web Desenvolvimento de aplicações Web Técnica – Toolbar Técnica – Modularidade
www.anhanguera.com [email protected] ou @gmail.com www.anhanguera.com [email protected] ou @gmail.com
Desenvolvimento de aplicações Web Desenvolvimento de aplicações Web Técnica – Modularidade Sugestões para aprender
• www.php.net • Conceito de serviços • http://br.phptherightway.com/PHP - PHP do jeito Certo • • http://www.php-fig.org - PHP Framework Interop Group Externamente configuráveis • http://symfony.com/get-started - The Quick Tour • Dependência de outros serviços • http://symfony.com/doc/current/book/index.html - The Symfony Book • http://symfony.com/doc/current/components/index.html - The Symfony Components • Acessados através de Controllers • http://symfony.com/doc/current/cookbook/index.html - The Symfony Cookbook • • http://symfony.com/doc/download-best-practices-book/ - Official Symfony Best Practices Criação de Bundles • Referências adicionais • www.amazon.com • A Year With Symfony: Writing healthy, reusable Symfony2 code • Extending Symfony 2 Web Application Framework
www.anhanguera.com [email protected] ou @gmail.com www.anhanguera.com [email protected] ou @gmail.com
11 21/10/2014
Desenvolvimento de aplicações Web Desenvolvimento de aplicações Web Algumas referências em português Client Side
• http://andreiabohner.org/symfony2docs/2.4/index.html • https://groups.google.com/forum/#!forum/symfony-pt • https://twitter.com/symfony_pt_BR • http://www.schoolofnet.com/?s=symfony
www.anhanguera.com [email protected] ou @gmail.com www.anhanguera.com [email protected] ou @gmail.com
Desenvolvimento de aplicações Web Desenvolvimento de aplicações Web Client Side
www.anhanguera.com [email protected] ou @gmail.com www.anhanguera.com [email protected] ou @gmail.com
12