Slide 1

Slide 1 text

DESENVOLVIMENTO COM

Slide 2

Slide 2 text

Eu sou Fernando Silva Analista de Desenvolvimento @FernandoDebrand 2 SOBRE MIM!

Slide 3

Slide 3 text

VISÃO GERAL » Popularidade e quem usa? » CMS » Documentação e PHP-FIG - PSRs » Composer - Gerenciador de dependências e Packagist - Repositório de pacotes » Frameworks - full stack e micro » Ambientes de desenvolvimento - virtualização, conteinerização » Integração contínua - controle de versão, build, deploy… » Debug, editores e IDEs » IoT » Comunidades » Mercado de trabalho » PHP7 3

Slide 4

Slide 4 text

4 Popularidade do PHP

Slide 5

Slide 5 text

TENDÊNCIA HISTÓRICA NO USO DE LINGUAGENS SERVER-SIDE NA WEB 5 Fonte: https://w3techs.com/technologies/history_overview/programming_language/ms/y

Slide 6

Slide 6 text

ALGUNS DOS SITES/SISTEMAS/EMPRESAS MAIS POPULARES QUE USAM PHP 6

Slide 7

Slide 7 text

ALGUNS DOS SITES/SISTEMAS/EMPRESAS MAIS POPULARES QUE USAM PHP 7

Slide 8

Slide 8 text

8

Slide 9

Slide 9 text

9 CMS - Sistema de gerenciamento de conteúdo

Slide 10

Slide 10 text

CMS - SISTEMAS DE GERENCIAMENTO DE CONTEÚDO MAIS CONHECIDOS 10

Slide 11

Slide 11 text

11 GERENCIAMENTO DE DEPENDÊNCIAS E REPOSITÓRIO DE PACOTES

Slide 12

Slide 12 text

12 PADRÕES

Slide 13

Slide 13 text

PHP-FIG - FRAMEWORK INTEROP GROUP 13 O que é o PHP-FIG? “A ideia deste grupo é que representantes de projetos possam conversar sobre pontos em comum entre seus projetos e encontrar formas de trabalharmos juntos.”

Slide 14

Slide 14 text

PHP-FIG - FRAMEWORK INTEROP GROUP 14 Em outras palavras: o FIG é um grupo composto por representantes de grandes projetos em PHP, tais como como o CakePHP, Doctrine, Symfony, Drupal e Zend Framework. Este grupo busca criar padrões que todos esses projetos possam seguir, definindo assim um “formato global” para projetos PHP.

Slide 15

Slide 15 text

PHP-FIG - FRAMEWORK INTEROP GROUP 15 Esses padrões são chamados de PSR - PHP Standard Recommendation (ou padrão recomendado para PHP, em tradução livre), e cada um deles especifica um conjunto de regras diferentes, entretanto, eles podem ser utilizados em conjunto, uma vez que cada conjunto de regras define uma prática específica.

Slide 16

Slide 16 text

16 DOCUMENTAÇÃO .net

Slide 17

Slide 17 text

FRAMEWORKS 17 PHP

Slide 18

Slide 18 text

PRINCIPAIS FRAMEWORKS PHP 18

Slide 19

Slide 19 text

PRINCIPAIS MICRO-FRAMEWORKS PHP 19

Slide 20

Slide 20 text

20 AMBIENTE DE DESENVOLVIMENTO

Slide 21

Slide 21 text

PROBLEMAS DE NÃO TER PADRONIZAÇÃO 21

Slide 22

Slide 22 text

SOLUÇÃO - VIRTUALIZAÇÃO 22

Slide 23

Slide 23 text

SOLUÇÃO - VIRTUALIZAÇÃO 23

Slide 24

Slide 24 text

SOLUÇÃO - VIRTUALIZAÇÃO 24

Slide 25

Slide 25 text

SOLUÇÃO - VIRTUALIZAÇÃO 25

Slide 26

Slide 26 text

SOLUÇÃO - VIRTUALIZAÇÃO 26 Vantagens: » Mesma VM nos ambientes de DEV, HML e PRD » Padronização de ambientes

Slide 27

Slide 27 text

SOLUÇÃO - VIRTUALIZAÇÃO 27 Desvantagens: » Montagem e inicialização lenta » Consome muitos recursos de hardware

Slide 28

Slide 28 text

SOLUÇÃO - CONTEINERIZAÇÃO 28

Slide 29

Slide 29 text

SOLUÇÃO - CONTEINERIZAÇÃO 29 LXC - Linux Containers: » Jul/2008 - Kernel 2.6.26 + » Compartilha kernel e libs com o host » Isola processo nos Control Groups (CGroups) » Difícil de gerenciar

Slide 30

Slide 30 text

SOLUÇÃO - CONTEINERIZAÇÃO 30

Slide 31

Slide 31 text

SOLUÇÃO - CONTEINERIZAÇÃO 31 Docker: » Compartilhamento de imagens (Docker Hub) » Receitas para criação de container (Dockerfile) » Camada de Api REST » E segue inovando » Docker for Mac and Windows » Docker Compose (multi-container) » Docker Swarm (cluster)

Slide 32

Slide 32 text

CONTAINERS vs VMs 32

Slide 33

Slide 33 text

INTEGRAÇÃO CONTÍNUA 33

Slide 34

Slide 34 text

INTEGRAÇÃO CONTÍNUA 34

Slide 35

Slide 35 text

CONTROLE DE VERSÃO 35

Slide 36

Slide 36 text

OUTRAS FERRAMENTAS 36

Slide 37

Slide 37 text

EDITORES E IDEs 37

Slide 38

Slide 38 text

DEBUG 38

Slide 39

Slide 39 text

39 PHP e IoT

Slide 40

Slide 40 text

PHP E IOT 40 » Arduino » Onion IoT » Lib Firmata(protocolo de comunicação) » Comunicação serial com PHP

Slide 41

Slide 41 text

CONTROLE DE AR DRONE COM PHP 41

Slide 42

Slide 42 text

COMUNIDADES 42

Slide 43

Slide 43 text

ConfPHPRS 2016

Slide 44

Slide 44 text

Meetup Comunidade PHPRS

Slide 45

Slide 45 text

MERCADO DE TRABALHO 45

Slide 46

Slide 46 text

46

Slide 47

Slide 47 text

PERFORMANCE 47

Slide 48

Slide 48 text

PERFORMANCE - 72% MAIS RÁPIDO 48

Slide 49

Slide 49 text

PERFORMANCE - DE 96 REQUISIÇÕES POR SEGUNDO COM PHP 5.6 PARA 204 COM PHP 7 49

Slide 50

Slide 50 text

PERFORMANCE - VOLUME DE REQUISIÇÕES POR SEGUNDO É VISIVELMENTE MAIOR 50

Slide 51

Slide 51 text

No content

Slide 52

Slide 52 text

MAIS NOVIDADES - https://secure.php.net/manual/pt_BR/ 52

Slide 53

Slide 53 text

LINKS E REFERÊNCIAS 53 » https://speakerdeck.com/fernandodebrando/criando-um-a mbiente-de-desenvolvimento-php-com-docker-compose » http://www.phprs.com.br/2016/05/criando-um-ambiente- de-desenvolvimento-php-com-docker-compose/ » asemanaphp.com.br » https://getcomposer.org/ » https://packagist.org/ » http://php-fig.org/ » http://php.net/ » http://vagrantup.com/ » http://phansible.com/ » https://www.docker.com/ » https://hub.docker.com/

Slide 54

Slide 54 text

Alguma pergunta? @FernandoDebrand [email protected] https://speakerdeck.com/fernandodebrando 54 OBRIGADO! Participe da comunidade PHPRS. phprs.com.br rselephants @phprs phprs.slack.com meetup.com/php-rs PHP Rio Grande do Sul