Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Ecossistema php: O presente, o passado e o futuro da linguagem (back-end) mais utilizada na web

217 views

Published on

No passado, muitas pessoas reclamavam do PHP devido a falta de organização na escrita de códigos, falta de padrões e pelos ditos "sobrinhos", a linguagem amadureceu, vieram os padrões, os frameworks, gerenciador de dependências e algumas pessoas continuam falando mal da linguagem. Estamos na era dos componentes e de tecnologias como webassembly, machine learning, graphql, bem como na reestruturação da linguagem para a versão 8.0. Nessa palestra iremos ver onde o PHP se posiciona atualmente, o que vem na linguagem na próxima versão e como utilizar a linguagem para trabalhar com as tecnologias em alta.

Published in: Technology
  • Login to see the comments

  • Be the first to like this

Ecossistema php: O presente, o passado e o futuro da linguagem (back-end) mais utilizada na web

  1. 1. Ecossistema PHP O presente, o passado e o futuro da linguagem (back-end) mais utilizada na web @pokemaobr
  2. 2. Rodrigo 'Pokemaobr' Cardoso Bacharel em Matemática Aplicada e Computacional pela UFRRJ MBA em Engenharia de Softwares Orientado para Serviços pelo IBTA Community Manager @ iMasters Evangelista @ PHPSP Criador do canal de youtube PokePHP @pokemaobr - rodrigo.cardoso@imasters.com.br @pokemaobr
  3. 3. O que é o PHP hoje?
  4. 4. Most Popular Technologies StackOverflow - 2018 https://insights.stackoverflow.com/survey/2018#technology-programming-scripting-and-markup-languages
  5. 5. Most Popular Technologies StackOverflow - 2019 https://insights.stackoverflow.com/survey/2018#technology-programming-scripting-and-markup-languages
  6. 6. Most dreaded Languages StackOverflow - 2018 https://insights.stackoverflow.com/survey/2018#technology-most-loved-dreaded-and-wanted-languages
  7. 7. Most dreaded Languages StackOverflow - 2019 https://insights.stackoverflow.com/survey/2019#technology-_-most-loved-dreaded-and-wanted-languages
  8. 8. Ranking de Linguagens de Programação: RedMonk https://redmonk.com/sogrady/2018/08/10/language-rankings-6-18/
  9. 9. Ranking de Linguagens de Programação: RedMonk https://redmonk.com/sogrady/2018/08/10/language-rankings-6-18/
  10. 10. Linguagens utilizadas como back-end de websites W3Tech https://w3techs.com/technologies/overview/programming_language/all
  11. 11. Usage of server-side programming languages for websites W3Tech https://w3techs.com/technologies/overview/programming_language/all
  12. 12. PHP LifeTime
  13. 13. Vamos voltar pro início...
  14. 14. 1994-1995
  15. 15. Personal Home Page Tools ➢Scripts CGI ➢C ➢Open Source ➢Substituiu o PERL
  16. 16. 1995-1998
  17. 17. PHP FI (Forms Interpreter) ➢Variáveis estilo Perl ➢Interpretação automática de variáveis vindas de formulários ➢Sintaxe HTML embutida
  18. 18. PHP FI (Forms Interpreter) 2.0 ➢Princípio da tag <? ➢3 tipos de variáveis (long int, double e string) ➢Definição de funções
  19. 19. PHP FI (Forms Interpreter) form.html display.html
  20. 20. 1998-2000
  21. 21. PHP 3 ➢Zeev Surasky ➢Andi Gutmans ➢E-commerce num projeto de faculdade
  22. 22. PHP 3 ➢Reescrita da linguagem ➢Hypertext Preprocessor ➢“Orientação a objetos”
  23. 23. PHP 3 ➢Multiplos bancos de dados ➢Windows 95, 98, NT e Machintosh ➢10% da Web
  24. 24. PHP 3
  25. 25. PEAR e PECL ➢Reutilização de bibliotecas e extensões ➢Primeiro “repositório de dependências” ➢Primeiro “gerenciador de dependências”
  26. 26. 2000-2004
  27. 27. PHP 4 ➢Zend Engine (Performance) ➢Suporte a diversos servidores web ➢Sessões HTTP
  28. 28. PHP 4 ➢Diversas extensões ➢Suporte a ainda mais banco de dados ➢Diretivas do PHP.ini (post_max_size, file_uploads, display_startup_errors)
  29. 29. Zend Engine
  30. 30. Era dos Fóruns ➢vBulletin (2000) ➢phpBB (2000) ➢Simple Machine Forums (2001) ➢Invision Power Boards (2002)
  31. 31. Era dos Fóruns ➢iMasters (2002) ➢Clube do Hardware (2002) ➢Ligamagic (2003) ➢Tibia (2004)
  32. 32. Era dos CMS ➢Drupal (2000) ➢Moodle (2001) ➢Wordpress (2003) ➢Joomla (2005)
  33. 33. Projetos Relevantes
  34. 34. O patinho feio da web?
  35. 35. As hospedagens se adaptaram ao PHP
  36. 36. Ainda hoje (2019) 0,47% da web é PHP 4
  37. 37. 2004-2015
  38. 38. PHP 5.0 ➢Zend Engine 2.0 ➢Orientação a objetos mais robusta ➢SPL ➢PHP_EOL
  39. 39. PHP 5.1 (2005) ➢PDO ➢Compressão de PNG na GD ➢date_timezone_set()
  40. 40. Era dos frameworks ➢CakePHP (2005) ➢Symfony (2005) ➢CodeIgniter (2006) ➢Zend Framework (2006)
  41. 41. PHP 5.2 (200¨6) ➢Zip Archive ➢JSON ➢Geração de chave DSA na openssl_pkey_new()
  42. 42. Doctrine ➢ORM - DBAL ➢Baseado no Hibernate ➢DQL
  43. 43. Era dos E-commerces ➢Magento (2008) ➢PrestaShop (2008) ➢OpenCart (2010) ➢Woocommerce (2011)
  44. 44. PHP 5.3 (2009) ➢Namespaces ➢Phar ➢Lambda functions e closures
  45. 45. Era dos MicroFrameworks ➢Silex (2010) ➢Slim (2011)
  46. 46. Laravel (2011) ➢Framework baseado no CodeIgniter ➢Um dos mais populares ➢Hoje em dia é escrito em cima do core do Symfony
  47. 47. PHP 5.4 (2012) ➢Sintaxe simples para Array [1,2,3] ➢Traits ➢Servidor Web embutido
  48. 48. Composer / Packagist ➢Um novo gerenciador de dependências ➢Fácil configuração com JSON ➢Comandos simples
  49. 49. Padronização de tudo ➢PHP-FIG ➢PSRs ➢Autoload, código, etc
  50. 50. PHP the right way ➢Guia de boas práticas da linguagem ➢Traduzido para vários idiomas ➢http://br.phptherightway.com/
  51. 51. PHP 5.5 (2013) ➢Generators e Coroutines ➢Password hashing simplificado ➢Otimização de variáveis
  52. 52. PHP 5.6 (2014) ➢Aceita uploads acima de 2 GB ➢Operador Exponencial (**) ➢Redução da memória usada em POST de 200% a 300%
  53. 53. PHP 6 ➢Unicode? ➢Livros Publicados ➢Troll da comunidade
  54. 54. Facebook, Hack e HHVM ➢Tipagem estática ➢Maior performance ➢Conflitos com o core
  55. 55. O PHP é da comunidade!
  56. 56. PHP 7.0 (2015) ➢Reescrita da linguagem ➢Aumento significativo de performance ➢Unicode Implementado
  57. 57. PHP 7.0 (2015) ➢Classes anonimas ➢Agrupamento de use ➢Scalar type hints
  58. 58. Mudanças nas releases ➢Uma nova versão ou subversão a cada 1 ano ➢2 anos de suporte ativo ➢1 ano de correções de segurança
  59. 59. PHP é só pra web?
  60. 60. Peripércias Hue Hue Hue BR
  61. 61. PHP Terminal Gameboy Emulator - Gabriel Rodrigues Couto (2016)
  62. 62. PHP-Gui - Gabriel Rodrigues Couto (2016)
  63. 63. PHP 7.1 (2016) ➢Catching de múltiplos tipos de excessão ➢Tipo Iterable ➢Retorno void para funções
  64. 64. PHP 7.2 (2017) ➢Argon 2 Password Hash ➢Libsodium ➢Object typehint
  65. 65. PHP 7.3 (2018) ➢Lançamento de exceção de erros no json_encode e json_decode ➢is_countable ➢Flexibilidade no Heredoc e Nowdoc
  66. 66. E as hypes?
  67. 67. Machine Learning
  68. 68. PHP-ML ➢Algoritmos de Machine Learning ➢Treinamento ➢Extração
  69. 69. PHP-ML ➢Classificação ➢Regressão ➢Clusterização ➢Etc
  70. 70. https://github.com/php- ai/php-ml
  71. 71. PHP Simple Neutral Network - Gabriel Rodrigues Couto https://github.com/gabrielrco uto/php-simple-neural- network
  72. 72. bayes: A Naive-Bayes classifier for PHP https://github.com/niiknow/b ayes
  73. 73. GraphQL
  74. 74. Graphql-php https://github.com/webonyx/ graphql-php
  75. 75. Pure PHP realization of GraphQL protocol https://github.com/youshido- php/GraphQL
  76. 76. WebAssembly
  77. 77. PHP extension to run WebAssembly binaries https://github.com/wasmerio /php-ext-wasm
  78. 78. BlockChain
  79. 79. PHPlata - Gabriel Rodrigues Couto https://github.com/gabrielr couto/phplata
  80. 80. Ethereum Client in PHP https://github.com/kesar/e thereum-php
  81. 81. Mobile?
  82. 82. Zend On The Go Mobile https://github.com/zendtec h/on-the-go-mobile
  83. 83. Serverless
  84. 84. Serverless PHP on AWS Lambda https://github.com/mnapoli /bref
  85. 85. OpenFaaS https://github.com/openfaa s/faas
  86. 86. Kubeless https://kubeless.io/
  87. 87. Chatbots
  88. 88. Botman https://github.com/botman /botman
  89. 89. DialogFlow https://dialogflow.com/
  90. 90. O que está por vir?
  91. 91. PHP 7.4 (2019) ➢Propriedades tipadas (RFC) ➢Preloading (RFC) ➢Short Closures (RFC)
  92. 92. PHP 8.0 (JIT) ➢Compilação Just-In-Time ➢Otimização do código de execução ➢Usado na JVM e no V8 JavaScript VM (Google)
  93. 93. Cada vez mais o PHP está indo para um bom caminho!
  94. 94. Por que temos vergonha do PHP?
  95. 95. A web está acabando?
  96. 96. O que estamos desenvolvendo em PHP?
  97. 97. Como estamos recebendo as novas pessoas devs PHP?
  98. 98. O que estamos mostrando para o mundo?
  99. 99. Dúvidas?
  100. 100. Rodrigo 'Pokemaobr' Cardoso Community Manager @ iMasters @pokemaobr rodrigo.cardoso@imasters.com.br @pokemaobr

×