curso php unifacs 2014.1 – frameworks

20
Curso PHP @JonataWeber 2014 Frameworks

Upload: becker-professional-education

Post on 02-Jul-2015

181 views

Category:

Software


6 download

DESCRIPTION

Slides da última aula do curso de PHP UNIFACS 2014.1.

TRANSCRIPT

Page 1: Curso PHP UNIFACS 2014.1 – Frameworks

Curso PHP

@JonataWeber

2014

Frameworks

Page 2: Curso PHP UNIFACS 2014.1 – Frameworks

–Fayad e Schmidt

“É um conjunto de classes que colaboram para

realizar uma responsabilidade para um domínio

de um subsistema da aplicação.”

O que é um Framework?

Page 3: Curso PHP UNIFACS 2014.1 – Frameworks

“Um framework, em desenvolvimento de

software, é uma abstração que une códigos

comuns entre vários projetos de software

fornecendo uma funcionalidade genérica.”

O que é um Framework?

Page 4: Curso PHP UNIFACS 2014.1 – Frameworks

Como nasce?

Impossível criar

Framework

Interseção grande

Possível criar Framework

Page 5: Curso PHP UNIFACS 2014.1 – Frameworks

Tipos de Frameworks• Frameworks Verticais

• Confeccionados através da experiência obtida em um

determinado contexto específico;

• Ex: Financeiro; Recursos Humanos

• Frameworks Horizontais

• Não dependem do domínio da aplicação e podem ser

usados em diferentes domínios

• Ex: Interfaces gráficas; Persistência; Transação

Page 6: Curso PHP UNIFACS 2014.1 – Frameworks

Tipos de Frameworks• Micro Frameworks

• Route HTTP Request para um callback, controller, método, etc.

• HTTP Services

• Full-Stack Frameworks

• ORM, Authentication packages, etc

• Component Frameworks

• Coleções de bibliotecas de propósito única e especializado

• Em conjunto podem formar um micro- ou full-stack framework

Page 7: Curso PHP UNIFACS 2014.1 – Frameworks

Framework vs Biblioteca

Biblioteca Framework

Page 8: Curso PHP UNIFACS 2014.1 – Frameworks

Vantagens a curto prazo

• Não reinventar a roda!

• Evitar desperdícios (redução de custos)

• Redução de time-to-market

• Segurança

• Extensibilidade

• Comunidade

Page 9: Curso PHP UNIFACS 2014.1 – Frameworks

• Produtividade

• Padronização

• classes, bibliotecas, convenções

• Eliminação das tarefas repetitivas

• Facilidade na geração de testes

• Geração de documentação

Vantagens a longo prazo

Page 10: Curso PHP UNIFACS 2014.1 – Frameworks

• Programadores concentram-se em adicionar valor

• Menos manutenção

• OO maximiza o re-uso

• Já foi testado!

• Uso de tecnologias embutidas

Vantagens a longo prazo

Page 11: Curso PHP UNIFACS 2014.1 – Frameworks

Desvantagens

• Dificuldade de aprendizagem

• Construir um framework é complexo

• Necessidade de planejamento

• Quem pode pensar em longo prazo quando se está

competindo "On Internet time”?

Page 12: Curso PHP UNIFACS 2014.1 – Frameworks

Características básicas

• Deve ser reusável

• Bem documentado

• Fácil de usar

• Deve ser extensível

• Deve ser completo e eficiente dentro do seu

propósito

Page 13: Curso PHP UNIFACS 2014.1 – Frameworks

Tecnologias Embutidas

• MVC

• ActiveRecord

• Internacionalização

• ORM

• Injeção de

Dependência

• Validation

• Authentication

• Routes

• Templates

• Caching

Page 14: Curso PHP UNIFACS 2014.1 – Frameworks

Documentação

• Descrição histórica

• Exemplos práticos

• Detalhes da sua criação e implementação

• Descrição do comportamento

• Fóruns de discussões

Page 15: Curso PHP UNIFACS 2014.1 – Frameworks

Frameworks PHP

Page 16: Curso PHP UNIFACS 2014.1 – Frameworks

Full-Stack Frameworks• Aura

• CakePHP

• TYPO3 Flow [FLOW3]

• FuelPHP

• Joomla Framework

• Kohana

• Laravel

• ThinkPHP

• Lithium

• Nette Framework

• Phalcon

• PPI

• Symfony

• Yii

• Zend Framework

Page 17: Curso PHP UNIFACS 2014.1 – Frameworks

Micro Frameworks

• Fat-Free

• MicroMVC

• Silex

• Slim

• Respect\Rest

Page 18: Curso PHP UNIFACS 2014.1 – Frameworks

6 motivos para não usar um

framework PHP• 1. Você é imortal, e portanto vai estar sempre por perto para ajudar outros

desenvolvedores a entenderem e estenderem seu código.

• 2. Você não tem vida então não vai se importar em investir todo o seu tempo

livre escrevendo comentários de código e documentações que já devem estar

escritas em um bom framework, para que outros desenvolvedores depois de

você (e você mesmo) possam escrever aplicativos com seu código.

• 3. Você está criando um aplicativo que vai estar entre os mais visitados da

internet (todos os acessos vindos de você mesmo e para toda a eternidade se o

#1 e #2 forem verdadeiros), assim pode justificar os potenciais nanosegundos

salvos por não ter a “sobrecarga” de um framework.

• 4. Você é um deus da segurança web e é muito mais inteligente que um grupo

de desenvolvedores que escreve código e testa coletivamente bons frameworks

em busca de falhas de segurança.

Page 19: Curso PHP UNIFACS 2014.1 – Frameworks

6 motivos para não usar um

framework PHP• 5. Você quer gastar todo o seu tempo reinventando a roda escrevendo

sua própria implementação de roteamento RESTful, ORM, engine de

templates, etc, etc, ao invés de usar o que bons frameworks proveem.

Ou talvez você pule a parte do ORM e apenas reescreva grandes

partes do aplicativo sempre que precisar mudar de banco de dados.

• 6.Você não tem prazos e “deadlines”.

• Se estes motivos não se aplicam a você eu recomendo que dê uma

olhada em algum framework como Zend Framework 2, Symfony 2,

Laravel

• - See more at: http://eltonminetto.net/blog/2013/04/21/6-motivos-para-

nao-usar-um-framework-php/#sthash.M7IAPjbp.dpuf

Page 20: Curso PHP UNIFACS 2014.1 – Frameworks

Referência

• http://www.phptherightway.com/#frameworks

• https://github.com/codeguy/php-the-right-

way/wiki/Frameworks

• http://imasters.com.br/noticia/pesquisa-aponta-

frameworks-php-mais-promissores-para-2014/