O PHP Mudou, você deveria fazer o mesmo

Preview:

DESCRIPTION

Todos conhecem nosso PHP como a poderosa plataforma que é. Mas por que não podíamos apresentar o PHP assim alguns anos atrás? O que mudou? Por que o termo PHP não contempla somente a sintaxe? O que o PHP oferece de diferente num mundo com tantas opções? A ideia é como apresentar e defender a adoção do PHP para tomada de decisão tecnológica

Citation preview

O PHP Mudouvocê deveria fazer o mesmo

O PHP Mudouvocê deveria fazer o mesmo

PHP?Sério?PHP?

Sério?

Mente AbertaMente Aberta

“Tecnologias de Desenvolvimento

vão muito além do Código, devendo ser avaliadas pelo

Ecossistema que as suporta”

“Tecnologias de Desenvolvimento

vão muito além do Código, devendo ser avaliadas pelo

Ecossistema que as suporta”

O que é PHP?O que é PHP?

Que tal uma volta no tempo?Que tal uma volta no tempo?

Florianópolis8 de Junho de 1995Florianópolis8 de Junho de 1995

PHP Tools 1.0PHP Tools 1.0

Sim, o PHP já foi assim...Sim, o PHP já foi assim...

199720 Milhões de domínios rodam PHP199720 Milhões de domínios rodam PHP

Rasmus, Zeev e AndiRasmus, Zeev e Andi

PHP Hypertext PreprocessorPHP Hypertext Preprocessor

PHP4Zend Engine

PHP4Zend Engine

Anos 2000, mas...Anos 2000, mas...

Anos 2000, mas...Anos 2000, mas...

2004, começa uma nova era2004, começa uma nova era

PHP 5PHP 5

Zend Engine 2Zend Engine 2

Mais Performance, Garbage Mais Performance, Garbage CollectorCollector

Melhorias de parsing e cachingMelhorias de parsing e caching

Suporte em Orientação a ObjetosSuporte em Orientação a Objetos

Visibilidade, Type Hint/testVisibilidade, Type Hint/test

Interfaces, Exceptions, ReflectionInterfaces, Exceptions, Reflection

Métodos eventuais (mágicos)Métodos eventuais (mágicos)

Clonagem e ReferenciamentoClonagem e Referenciamento

SPL (Standard PHP Library)SPL (Standard PHP Library)

5.12005

5.12005

Melhorias na SPLMelhorias na SPL

Mais performanceMais performance

Melhoria no type hintingMelhoria no type hinting

Constantes de classeConstantes de classe

PDO (PHP Data Object)PDO (PHP Data Object)

5.22006

5.22006

JsonJson

FiltersFilters

HTTPHTTP

DatetimeDatetime

5.32009suporte da comunidade até 6/2014

5.32009suporte da comunidade até 6/2014

NamespacesNamespaces

Nested ExceptionsNested Exceptions

Late Static BindingLate Static Binding

Closures, LambdasClosures, Lambdas

Adições SPLAdições SPL

Mais PerformanceMais Performance

FastCGIFastCGI

Windows supportWindows support

5.42012 suporte da comunidade até 3/2015

5.42012 suporte da comunidade até 3/2015

Yearly ReleaseYearly Release

Embed Web ServerEmbed Web Server

TraitsTraits

Short ArrayShort Array

Array DereferencingArray Dereferencing

5.52013

suporte da comunidade até 6/2016

5.52013

suporte da comunidade até 6/2016

Zend OpcacheZend Opcache

FinallyFinally

GeneratorsGenerators

Password HashingPassword Hashing

5.6 (beta)2014

suporte da comunidade até 6/2017

5.6 (beta)2014

suporte da comunidade até 6/2017

Melhorias OpcacheMelhorias Opcache

Uploads > 2GBUploads > 2GB

VariadicsVariadics

Constant ExpressionConstant Expression

PHP 6?PHP 6?

UnicodeUnicode

Internal API CleanInternal API Clean

JIT CompilerJIT Compiler

AnnotationsAnnotations

Named ArgumentsNamed Arguments

Scalar type hintScalar type hint

HTTP2HTTP2

Userland APIUserland API

Crypto ExtensionCrypto Extension

C++C++

......

QualidadeQualidade

Testes UnitáriosTestes Unitários

IntegraçãoIntegração

ComportamentoComportamento

Estilo de CódigoEstilo de Código

Análise EstáticaAnálise Estática

MessMess

Copy & PasteCopy & Paste

Dead CodeDead Code

DebuggingDebugging

ProfillingProfilling

BuildBuild

Frameworks, Libraries e afinsFrameworks, Libraries e afins

Symfony, Zend, Phalcon, Laravel, Respect …Symfony, Zend, Phalcon, Laravel, Respect …

Monolog, SwiftMailer, Smarty, Pimple...Monolog, SwiftMailer, Smarty, Pimple...

APC, mongo, memcache, imagick, xdebug... APC, mongo, memcache, imagick, xdebug...

Uso de FrameworksUso de Frameworks

60%

40%

27%

17%

Não usam Frameworks

Usam ou pretendem usar Frameworks

Não usam Frameworks

Zend Framework

Symfony

Pesquisa UBM TechWeb com 232 executivos, arquitetos ou gerentes de desenvolvimento ativamente usand ou considrando usar o PHP – Maio/2012

Gerenciamento de Dependências

Gerenciamento de Dependências

PEAR e PECLPEAR e PECL

Composer + PackagistComposer + Packagist

Framework Interoperability Group FIGFramework Interoperability Group FIG

PSR PHP Standard RecommendationPSR PHP Standard Recommendation

IDEIDE

PHP para o NegócioPHP para o Negócio

6ª em Popularidade (~3.7%)(atrás de C[,++,#,Objective] e Java)TIOBE Index – Março/2014

6ª em Popularidade (~3.7%)(atrás de C[,++,#,Objective] e Java)TIOBE Index – Março/2014

1ª no uso em servidores (~82%)(seguido de longe por ASP.NET e Java)

w3techs – 7 de Abril/2014

1ª no uso em servidores (~82%)(seguido de longe por ASP.NET e Java)

w3techs – 7 de Abril/2014

ParceriasParcerias

Ambientes CloudAmbientes Cloud

Application ServerApplication Server

Zend ServerZend Server

Packaging Packaging

DeploymentDeployment

TrackingTracking

Clustering + HAClustering + HA

Cloud ElasticityCloud Elasticity

Metrics + TrendsMetrics + Trends

Root AnalysisRoot Analysis

SuporteSuporte

Comunidade PHPComunidade PHP

2 anos – Correções2 anos – Correções3 anos – Atualizações de Segurança3 anos – Atualizações de Segurança

Zend ServerZend Server

5 anos5 anos

SymfonySymfony

8 meses8 meses

LTS – 3 anosLTS – 3 anos

Empresas abraçando o PHPEmpresas abraçando o PHP

Objetivos das AplicaçõesObjetivos das Aplicações

50% Content Management

Pesquisa UBM TechWeb com 232 executivos, arquitetos ou gerentes de desenvolvimento ativamente usand ou considrando usar o PHP – Maio/2012

46% Administração

46% Comunicação com Usuários

33% Visualização de Dados

28% Financeiro

Tipo das AplicaçõesTipo das Aplicações

Web/Externas 64%

Pesquisa UBM TechWeb com 232 executivos, arquitetos ou gerentes de desenvolvimento ativamente usand ou considrando usar o PHP – Maio/2012

Web/Internas 62%

Integração de Negócio 47%

Sociais 25%

Mobile 21%

ObjetivosObjetivos

3%3%5%5%

6%6%

21%21%

27%27%

38%38%

Expandir para novos mercados

Construir comunidade

Aumentar competitividade

Melhorar experiência de usuario

gerenciar aumento de demanda

Aumentar eficiência

Pesquisa UBM TechWeb com 232 executivos, arquitetos ou gerentes de desenvolvimento ativamente usand ou considrando usar o PHP – Maio/2012Base de 117 que já utilizam PHP

Razões para usar PHPRazões para usar PHP

Velocidade de Desenvolvimento 61%

Pesquisa UBM TechWeb com 232 executivos, arquitetos ou gerentes de desenvolvimento ativamente usand ou considrando usar o PHP – Maio/2012

É OpenSource 55%

Pool de Profissionais 37%

Curva de Aprendizado 36%

Frameworks 25%

WorkflowWorkflow

CódigoCódigo F5 ou Ctrl+R ;)F5 ou Ctrl+R ;)

Workflowmelhor ;)Workflowmelhor ;)

CódigoCódigo

F5 ou Ctrl+R ;)F5 ou Ctrl+R ;)

TesteTeste

Phpunit ...Phpunit ...

E hoje, como é o código PHP?

E hoje, como é o código PHP?

ComunidadeComunidade

O que é PHP?O que é PHP?

PerguntasPerguntas??

duodra.coduodra.co

phpsp.org.brphpsp.org.br

o@duodra . coo@duodra . co

@duodraco@duodraco

fb.com/duodracofb.com/duodraco

youtu.be/duodracodeyoutu.be/duodracode

slideshare.net/duodracoslideshare.net/duodraco