PHP para aplicações Web de grande porte

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    7 Favorites

    PHP para aplicações Web de grande porte - Presentation Transcript

    1. PHP para aplicações Web de grande porte Felipe Ribeiro - http://feliperibeiro.com Maio de 2008 João Pessoa - PB
    2. Quem é esse cara? Felipe Ribeiro Estudante de Ciência da Computação na UFCG Engenheiro de sistemas da startup americana Shoprizer.com Experiência em sistemas distribuídos e desenvolvimento Web há 6 anos http://feliperibeiro.com felipernb@gmail.com.br
    3. Agenda Apresentando o PHP O que é uma aplicação de grande porte Outras tecnologias Vantagens e desvantagens do PHP Features e ferramentas para atender os requisitos O que vem por aí?
    4. O que é PHP?
    5. O que é PHP? PHP originalmente significava Personal Home Page; Hoje, assim como GNU, é um acrônimo recursivo que significa: “PHP Hypertext Preprocessor”; É uma linguagem dinâmica; Tomou o lugar do Perl no boom da Web; Uma linguagem de programação focada na Web.
    6. Um pouco de história PHP nasceu em 1994
    7. Foi criado por Rasmus Lerdorf
    8. E tinha essa cara <!--getenv HTTP_USER_AGENT--> <!--ifsubstr $exec_result Mozilla--> Hey, you are using Netscape!<p> <!--endif--> <!--sql database select * from table where user='$username'--> <!--ifless $numentries 1--> Sorry, that record does not exist<p> <!--endif exit--> Welcome <!--$user-->!<p> You have <!--$index:0--> credits left in your account.<p> <!--include /text/footer.html-->
    9. Depois virou PHP/FI <? $name = \"bob\"; $db = \"db\"; $result = msql($db,\"select * from table where firstname='$name'\"); $num = msql_numrows($result); echo \"$num records found!<p>\"; $i=0; while($i<$num); echo msql_result($result,$i,\"fullname\"); echo \"<br>\"; echo msql_result($result,$i,\"address\"); echo \"<br>\"; $i++; endwhile; ?>
    10. E hoje é mais ou menos assim... <?php class SimpleClass { private $attribute; public function foo($bar) { echo $this->attribute * $bar; } } class ExtendedClass extends SimpleClass { public function foo($bar) { try { do_something(); } catch(FooBarException $e) { die($e->getMessage()); } parent::foo($bar); } } $o = new ExtendedClass; $o->foo(); ?>
    11. Como funciona? Fonte: Zend Technologies
    12. PHP é popular! Fonte: Netcraft
    13. Quem usa? Yahoo! Sourceforge Facebook Last.fm Flickr E mais de 20 milhões de sites! :) del.icio.us Digg Wikipedia
    14. O que são aplicações de grande porte?
    15. Aplicações de grande porte Grande volume de Componentes dados Ambiente heterogêneo Grande número de (integração com acessos diferentes linguagens de programação e SOs) Necessidade de alta disponibilidade e redundância (Hot swap, cluster failover, etc)
    16. Os desafiantes
    17. Java Bastante robusta e padrão de mercado, porém sua “burocracia” dificulta mudanças rápidas.
    18. .NET Custos de licença, dependência da IDE, dependência de plataforma, código fechado.
    19. Ruby e Python Trazem ótimos conceitos, mas ainda estão em fase de maturação.
    20. Vantagens do PHP Simplicidade Escalabilidade Custo Comunidade Apache Deployment simples Independente de plataforma e fornecedor
    21. Desvantagens do PHP Falta suporte a multi- threading. Infelizmente carrega um karma de quick’n’dirty por causa de alguns maus programadores. (Mas vamos virar esse jogo!)
    22. Integração com outros sistemas Webservices SOAP SoapClient SoapServer REST libcurl XMLWriter XMLReader
    23. Integração com outros sistemas Integração com outras linguagens de programação Java C/C++ e COM/.NET Perl
    24. SGBDs Suporte nativo a vários SGBDs MySQL, PostgreSQL, Oracle, SQLite, etc... Camadas de abstração PDO MDB2
    25. Testes de Unidade Os testes devem ser automatizados Pelo menos nas fases em que isso é possível Scripts de teste desenvolvidos ao longo do tempo aumentam o patrimônio da empresa e garantirão uma qualidade cada vez maior do software PHPUnit http://phpunit.de
    26. Extensões PEAR (The PHP Extension and Application Repository) http://pear.php.net Repositório de classes escritas em PHP
    27. Extensões PECL (The PHP Extension Comunity Library) http://pecl.php.net Extensões nativas, escritas em C.
    28. Produtividade PHP por si só já é bastante produtivo, mas existem IDEs e Frameworks que melhoram ainda mais a produtividade.
    29. IDEs (ou simples editores) Zend Studio ($$$) TextMate ($$$) Eclipse PDT Emacs Komodo Vim Delphi for PHP ($$$) Entre outros... gEdit KDevelop
    30. Frameworks Frameworks ajudam na padronização de código e reutilização de componentes. Zend Framework Symfony Prado CakePHP Muitos outros...
    31. Escalabilidade Muito Simples! Apache mod_proxy_balancer faz quase tudo que você precisa!
    32. Performance PHP dificilmente é o gargalo 80-90% do tempo de carregamento de um site está no front-end Mas mesmo assim, podemos otimizar
    33. Caching e Performance PHP tem um compilador JIT que gera um código intermedário chamado opcode que é então interpretado. Por default essa compilação ocorre em todas as execuções do script. Para otimização e caching desse opcode, existem algumas soluções: Pacote APC do PECL XCache Zend Platform ($$$)
    34. E o suporte? Comunidade ativa Zend Grandes investidores Oracle Yahoo! IBM
    35. O que vem por aí? PHP 5.3 e PHP 6 prometem novidades Namespaces Closures Unicode
    36. Conclusões PHP nasceu para Web e por isso sai na frente. PHP é bom o suficiente para grande maioria das aplicações que rodam na Web. PHP é simples e barato. LAMP dá conta do recado!
    37. Perguntas?
    38. Obrigado! Felipe Ribeiro http://feliperibeiro.com felipernb@gmail.com
    39. Referências PHP 5 Objects, Patterns, and Practice - Matt Zandstra - Editora Apress PHP Leads Web 2.0 - Andi Gutmans (White Paper) PHP 5: Open Source Scripting for the Heterogeneous Enterprise - Zend Technologies (White Paper) An overview on PHP - Zend Technologies (White Paper)

    + Felipe RibeiroFelipe Ribeiro, 2 years ago

    custom

    2820 views, 7 favs, 1 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 2820
      • 2803 on SlideShare
      • 17 from embeds
    • Comments 0
    • Favorites 7
    • Downloads 145
    Most viewed embeds
    • 17 views on http://www.willianrodriguez.com

    more

    All embeds
    • 17 views on http://www.willianrodriguez.com

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories