SlideShare uma empresa Scribd logo
1 de 14
Todos por 1
CONSTRUINDO PACOTES PARA LARAVEL
Isaque de Souza Barbosa
Redes Sociais
Facebook
/isaque.souza
Twitter
@isaque_sb
Email
isaquesb@gmail.com
Blog (breve)
isaque.com.br
Desenvolvedor
Desenvolvedor Full-Stack
Coordenador de Equipes
O que são pacotes?
 “Um pacote é um conjunto de arquivos e diretórios
necessários para um produto de software” - Oracle.com
Do que estamos falando?
 É uma metodologia de desenvolvimento?
 Arquitetura de Projetos
 Divisão da aplicação
 Estamos falando sobre Microservices?
 Tem que usar HTTP e REST?
 Posso usar outras arquiteturas junto?
Características e Objetivos
Características
 Alta coesão *
 Baixo acoplamento *
 Autônomo (?)
 Independente (?)
Principais Objetivos
 Oferecer Opções
 Composer (Gerenciador)
 Complementar Funcionalidades
 Estender a Aplicação
Tipos de Pacotes
 Pacotes Agnósticos
 Não somente para um Framework
 Pacotes Específicos
 Para determinado Framework
Porque usar pacotes?
Aproveitamento de Código
Comunidade
Familiaridade
 Extensões (PHP, Browsers, etc..)
Modularidade
Manutenabilidade
Testes
Cuidados ao criar/usar pacotes
Deploy
Compatibilidade
Contratos e Facades
Dados
Visibilidade
 Para a empresa
 Para o público
Como o Laravel usa Pacotes?
 Gerenciador de serviços
 Injeção de dependência
Como criar Pacotes?
 Primeiramente – Tenha o código
Como criar Pacotes?
 Onde esta a Documentação
 https://laravel.com/docs/5.3/packages
Como criar Pacotes?
 Service Provider
 IlluminateSupportServiceProvider
 Register
 Boot
Live Code?
Fim

Mais conteúdo relacionado

Mais procurados

Criando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindCriando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindJaydson Gomes
 
Seminário WordPress - Eduvale Avaré
Seminário WordPress - Eduvale AvaréSeminário WordPress - Eduvale Avaré
Seminário WordPress - Eduvale AvaréRafael Farias
 
Gerenciamento Inteligente de Custos no Azure
Gerenciamento Inteligente de Custos no AzureGerenciamento Inteligente de Custos no Azure
Gerenciamento Inteligente de Custos no AzureAlvaro Rezende
 
Criando Extensões e Aplicações para Joomla! 1.5
Criando Extensões e Aplicações para Joomla! 1.5Criando Extensões e Aplicações para Joomla! 1.5
Criando Extensões e Aplicações para Joomla! 1.5Hugo Seabra
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento webArlindo Santos
 
Adotando o Wordpress
Adotando o WordpressAdotando o Wordpress
Adotando o WordpressFilipe Boldo
 
Application Lifecycle Management no InduSoft Web Studio
Application Lifecycle Management no InduSoft Web StudioApplication Lifecycle Management no InduSoft Web Studio
Application Lifecycle Management no InduSoft Web StudioAVEVA
 
Estudo da aplicação da arquitetura orientada a serviços em um sistema de gest...
Estudo da aplicação da arquitetura orientada a serviços em um sistema de gest...Estudo da aplicação da arquitetura orientada a serviços em um sistema de gest...
Estudo da aplicação da arquitetura orientada a serviços em um sistema de gest...Glauco Vinicius Argentino de Oliveira
 
Vue.js o poder das render functions
Vue.js  o poder das render functionsVue.js  o poder das render functions
Vue.js o poder das render functionsVinicius Reis
 
Acelerando Sistemas Distribuídos
Acelerando Sistemas DistribuídosAcelerando Sistemas Distribuídos
Acelerando Sistemas DistribuídosJohalf Farina
 
Memorias das trincheiras - 2015
Memorias das trincheiras - 2015Memorias das trincheiras - 2015
Memorias das trincheiras - 2015Elton Minetto
 

Mais procurados (16)

Criando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindCriando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMind
 
Framework usar ou não usar
Framework usar ou não usarFramework usar ou não usar
Framework usar ou não usar
 
Seminário WordPress - Eduvale Avaré
Seminário WordPress - Eduvale AvaréSeminário WordPress - Eduvale Avaré
Seminário WordPress - Eduvale Avaré
 
Gerenciamento Inteligente de Custos no Azure
Gerenciamento Inteligente de Custos no AzureGerenciamento Inteligente de Custos no Azure
Gerenciamento Inteligente de Custos no Azure
 
Criando Extensões e Aplicações para Joomla! 1.5
Criando Extensões e Aplicações para Joomla! 1.5Criando Extensões e Aplicações para Joomla! 1.5
Criando Extensões e Aplicações para Joomla! 1.5
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento web
 
Adotando o Wordpress
Adotando o WordpressAdotando o Wordpress
Adotando o Wordpress
 
Application Lifecycle Management no InduSoft Web Studio
Application Lifecycle Management no InduSoft Web StudioApplication Lifecycle Management no InduSoft Web Studio
Application Lifecycle Management no InduSoft Web Studio
 
Introdução a Frameworks
Introdução a FrameworksIntrodução a Frameworks
Introdução a Frameworks
 
Estudo da aplicação da arquitetura orientada a serviços em um sistema de gest...
Estudo da aplicação da arquitetura orientada a serviços em um sistema de gest...Estudo da aplicação da arquitetura orientada a serviços em um sistema de gest...
Estudo da aplicação da arquitetura orientada a serviços em um sistema de gest...
 
Vue.js o poder das render functions
Vue.js  o poder das render functionsVue.js  o poder das render functions
Vue.js o poder das render functions
 
Acelerando Sistemas Distribuídos
Acelerando Sistemas DistribuídosAcelerando Sistemas Distribuídos
Acelerando Sistemas Distribuídos
 
Curso de Joomla! no Metro
Curso de Joomla! no MetroCurso de Joomla! no Metro
Curso de Joomla! no Metro
 
Estudo de caso ASP.NET MVC e Silverlight
Estudo de caso ASP.NET MVC e SilverlightEstudo de caso ASP.NET MVC e Silverlight
Estudo de caso ASP.NET MVC e Silverlight
 
Memorias das trincheiras - 2015
Memorias das trincheiras - 2015Memorias das trincheiras - 2015
Memorias das trincheiras - 2015
 
Framework Foundation Basicão
Framework Foundation BasicãoFramework Foundation Basicão
Framework Foundation Basicão
 

Semelhante a Construindo pacotes para Laravel

Php Conf08 Enterprise Patterns
Php Conf08 Enterprise PatternsPhp Conf08 Enterprise Patterns
Php Conf08 Enterprise PatternsWildtech
 
Tópicos Emergentes - DevOps
Tópicos Emergentes - DevOpsTópicos Emergentes - DevOps
Tópicos Emergentes - DevOpsSaulo Lopes
 
Enteprise Integration Patterns
Enteprise Integration PatternsEnteprise Integration Patterns
Enteprise Integration PatternsAlessandro Kieras
 
Atlassian Confluence pela 3layer Tecnologia
Atlassian Confluence pela 3layer TecnologiaAtlassian Confluence pela 3layer Tecnologia
Atlassian Confluence pela 3layer TecnologiaMarcelo Mrack
 
Academia do Arquiteto Globalcode
Academia do Arquiteto GlobalcodeAcademia do Arquiteto Globalcode
Academia do Arquiteto GlobalcodeGlobalcode
 
Reuso de software
Reuso de softwareReuso de software
Reuso de softwarerebekinha
 
Procura-se: DevOps #cpbr9
Procura-se: DevOps #cpbr9Procura-se: DevOps #cpbr9
Procura-se: DevOps #cpbr9Camilla Gomes
 
DevOps I - Ambientes padronizados e Monitoramento da Aplicação | Monografia I
DevOps I - Ambientes padronizados e Monitoramento da Aplicação | Monografia IDevOps I - Ambientes padronizados e Monitoramento da Aplicação | Monografia I
DevOps I - Ambientes padronizados e Monitoramento da Aplicação | Monografia IAlefe Variani
 
Frameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHPFrameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHPElton Minetto
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Eric Gallardo
 
Encontro no .NET Architects - Application Architecture Guide (AppArchGuide)
Encontro no .NET Architects - Application Architecture Guide (AppArchGuide)Encontro no .NET Architects - Application Architecture Guide (AppArchGuide)
Encontro no .NET Architects - Application Architecture Guide (AppArchGuide)Luciano Condé
 
Evolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicEvolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicRicardo Guerra Freitas
 
DDD e PHP - TDC 2012
DDD e PHP - TDC 2012DDD e PHP - TDC 2012
DDD e PHP - TDC 2012Luís Cobucci
 
Reutilização
ReutilizaçãoReutilização
Reutilizaçãoemjorge
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareNorberto Santos
 

Semelhante a Construindo pacotes para Laravel (20)

Escalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLIDEscalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLID
 
Php Conf08 Enterprise Patterns
Php Conf08 Enterprise PatternsPhp Conf08 Enterprise Patterns
Php Conf08 Enterprise Patterns
 
Tópicos Emergentes - DevOps
Tópicos Emergentes - DevOpsTópicos Emergentes - DevOps
Tópicos Emergentes - DevOps
 
Enteprise Integration Patterns
Enteprise Integration PatternsEnteprise Integration Patterns
Enteprise Integration Patterns
 
Atlassian Confluence pela 3layer Tecnologia
Atlassian Confluence pela 3layer TecnologiaAtlassian Confluence pela 3layer Tecnologia
Atlassian Confluence pela 3layer Tecnologia
 
Academia do Arquiteto Globalcode
Academia do Arquiteto GlobalcodeAcademia do Arquiteto Globalcode
Academia do Arquiteto Globalcode
 
Domain-Driven Design
Domain-Driven DesignDomain-Driven Design
Domain-Driven Design
 
Reuso de software
Reuso de softwareReuso de software
Reuso de software
 
Procura-se: DevOps #cpbr9
Procura-se: DevOps #cpbr9Procura-se: DevOps #cpbr9
Procura-se: DevOps #cpbr9
 
DevOps I - Ambientes padronizados e Monitoramento da Aplicação | Monografia I
DevOps I - Ambientes padronizados e Monitoramento da Aplicação | Monografia IDevOps I - Ambientes padronizados e Monitoramento da Aplicação | Monografia I
DevOps I - Ambientes padronizados e Monitoramento da Aplicação | Monografia I
 
Frameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHPFrameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHP
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014
 
Comparativo do uso de linguagens de programação e geradores de código no dese...
Comparativo do uso de linguagens de programação e geradores de código no dese...Comparativo do uso de linguagens de programação e geradores de código no dese...
Comparativo do uso de linguagens de programação e geradores de código no dese...
 
AOP
AOPAOP
AOP
 
Encontro no .NET Architects - Application Architecture Guide (AppArchGuide)
Encontro no .NET Architects - Application Architecture Guide (AppArchGuide)Encontro no .NET Architects - Application Architecture Guide (AppArchGuide)
Encontro no .NET Architects - Application Architecture Guide (AppArchGuide)
 
Evolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicEvolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual Basic
 
SPA com CSharp
SPA com CSharpSPA com CSharp
SPA com CSharp
 
DDD e PHP - TDC 2012
DDD e PHP - TDC 2012DDD e PHP - TDC 2012
DDD e PHP - TDC 2012
 
Reutilização
ReutilizaçãoReutilização
Reutilização
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de Software
 

Construindo pacotes para Laravel

  • 1. Todos por 1 CONSTRUINDO PACOTES PARA LARAVEL
  • 2. Isaque de Souza Barbosa Redes Sociais Facebook /isaque.souza Twitter @isaque_sb Email isaquesb@gmail.com Blog (breve) isaque.com.br Desenvolvedor Desenvolvedor Full-Stack Coordenador de Equipes
  • 3. O que são pacotes?  “Um pacote é um conjunto de arquivos e diretórios necessários para um produto de software” - Oracle.com
  • 4. Do que estamos falando?  É uma metodologia de desenvolvimento?  Arquitetura de Projetos  Divisão da aplicação  Estamos falando sobre Microservices?  Tem que usar HTTP e REST?  Posso usar outras arquiteturas junto?
  • 5. Características e Objetivos Características  Alta coesão *  Baixo acoplamento *  Autônomo (?)  Independente (?) Principais Objetivos  Oferecer Opções  Composer (Gerenciador)  Complementar Funcionalidades  Estender a Aplicação
  • 6. Tipos de Pacotes  Pacotes Agnósticos  Não somente para um Framework  Pacotes Específicos  Para determinado Framework
  • 7. Porque usar pacotes? Aproveitamento de Código Comunidade Familiaridade  Extensões (PHP, Browsers, etc..) Modularidade Manutenabilidade Testes
  • 8. Cuidados ao criar/usar pacotes Deploy Compatibilidade Contratos e Facades Dados Visibilidade  Para a empresa  Para o público
  • 9. Como o Laravel usa Pacotes?  Gerenciador de serviços  Injeção de dependência
  • 10. Como criar Pacotes?  Primeiramente – Tenha o código
  • 11. Como criar Pacotes?  Onde esta a Documentação  https://laravel.com/docs/5.3/packages
  • 12. Como criar Pacotes?  Service Provider  IlluminateSupportServiceProvider  Register  Boot
  • 14. Fim