SlideShare uma empresa Scribd logo
1 de 26
PeachPie
A união entre PHP e C# .Net Core
.Net Conference 2018 https://channel9.msdn.com/Events/dotnetConf/2018/S303
Conheça PeachPie?
● Framework Open-Source
● Cross-Platform
● .Net e Php trabalhando junto
● Segurança no código
● Performance com influência
Microsoft Roslyn
PHP e .Net representam mais de 90% de toda
internet.
Embora o PHP seja onipresente e extremamente popular, o .NET é
mais robusto, seguro e com desempenho. O compilador PeachPie é
um projeto exclusivo que preenche a lacuna entre as duas
plataformas e permite que os desenvolvedores usem o melhor dos
dois mundos.
Vantagens
X
Desvantagem
● Baixo custo no servidor
● Linguagem estabelecida
● Fácil de aprender
● Não indicada para aplicação
de grandes portes
● Linguagem multiparadigma,
● Tipagem forte
● Totalmente Orientada a Objeto
● Suporte e interage com legado
● Gerenciamento de Memória
● É necessário compilar
http://octoverse.github.com/projects.html
Simplicidade e flexibilidade do PHP com o poder e o
desempenho do .Net Core
Imagem transparente no plano de fundo sempre funciona bem.
Interligando
Módulos
PhP e .Net Core
● Simples conexao PhP-C#;
● Possibilidade de
reutilização de código
PHP sem reescrever para
C#;
● Colaboração entre
desenvolvedores;
Aplicativo PhP
no .Net
● Execute em tempo real
aplicação em php no .net,
● Use as ferramentas .Net
para diagnóstico,
● Use o Azure de forma nativa.
PhP com
pacotes Nugets
● Distribuir componentes em
PHP,
● Pacotes de repositorios
Módulos
PhP e .Net
Core
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="1.1.2" />
<PackageReference Include="Microsoft.AspNetCore.Session" Version="1.1.2" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.2" />
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.3" />
<PackageReference Include="Microsoft.Extensions.Caching.Abstractions" ersion="1.1.2" />
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="1.1.2" />
<PackageReference Include=”Peachpie.NETCore.Web” Version=”0.7.0-”/>
<PackageReference Include=”Peachpie.NETCore.Web” Version=”0.7.0-”/>
<PackageReference Include=”Microsoft.Extensions.Caching.Memory
Version=”1.1.2”/>
<PackageReference Include=”Peachpie.NETCore.Web” Version=”0.7.0-”/>
</ItemGroup>
Migrando
aplicações PHP
para .Net
● Migração sequencial e
contínua de PHP para .Net
● Aplicação
● Aproveite pontos fortes
de cada plataforma
Use pacotes
NuGet com PhP
● especificar os pacotes
Nuget
● Não revela código fonte
● fácil acesso do Php nos
pacotes
Biblioteca em PhP para .Net
PhpLib.msbuildproj
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Library</OutputType>
<TargetFrameworks>netstandard1.6;net46</TargetFrameworks>
<Description>.NET class library in PHP</Description>
<AssemblyName>PhpLib1</AssemblyName>
<PackageId>PhpLib1</PackageId>
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
<VersionSuffix>prerelease</VersionSuffix> </PropertyGroup>
<ItemGroup><Compile Include="**/*.php" /></ItemGroup>
<ItemGroup> <DotNetCliToolReference Include="Peachpie.Compiler.Tools" Version="0.7.0-*" />
<PackageReference Include="Peachpie.NET.Sdk" Version="0.7.0-*" PrivateAssets="Build" />
</ItemGroup>
</Project>
Estendendo
PhP com C#
● Amplie aplicação Php
com plug-ins e extensões
c#,
● Use pacotes seguros e
populares em C#,
● Aproveite pontos fortes
de cada plataforma
Program.cs
O PeachPie ainda contém uma extensão para o Kestrel que faz a solicitação no
*.php e processa as DLLs copiladas.
class Startup {
public void Configure(IApplicationBuilder app) {
Pchp.Core.Context.DefaultErrorHandler = new Pchp.Core.CustomErrorHandler(); //
disables debug asserts
app.UsePhp(); // installs handler for *.php files and forwards them to our
website.dll
app.UseDefaultFiles();
app.UseStaticFiles();
}
}
WordPress com.Net
http://www.wpdotnet.com/resources/
● Estrutura robusta do WP com
segurança e rapidez do .Net
● Venda ou distribua seu
aplicativo sem entregar o
código fonte.,
● Plug-ins testados e configurados
pelo Nuget
● Íntegra Azure com estabilidade e
desempenho.
● Visualização usando Razor
Diagrama básico do mecanismo do .Net com WordPress
Detalhes no
Código
Para syntax
highlight, use
http://markup.su/highl
ighter
Vídeo de Instalação no Visual Studio 2019.
Vídeo de Instalação no Visual Studio Code.
Vídeo de Instalação no Visual Studio Code.
IMPORTANTE!
Peachpie não é sobre escrever
código .Net usando PHP.
Peachpie é sobre a execução de
código PHP no .Net.
Arquitetura em microservice
Ocultar seu código
Ambiente Cloud
Devops com Azure
Porque usar?
Obrigada!
Perguntas?!
@vanessabrava
@vanessabrava
github.com/vanessabrava
vanessa.valle@gmail.com

Mais conteúdo relacionado

Mais procurados

Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...Renato Groff
 
9 erros que desenvolvedores Node.js cometem
9 erros que desenvolvedores Node.js cometem9 erros que desenvolvedores Node.js cometem
9 erros que desenvolvedores Node.js cometemFernando Henriques
 
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Julho-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Julho-2019Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Julho-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Julho-2019Renato Groff
 
Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...
Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...
Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...Renato Groff
 
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...Renato Groff
 
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018Renato Groff
 
Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019
Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019
Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019Renato Groff
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...Renato Groff
 
ASP.NET Core e Linux: Explorando novas fronteiras - Araras Dev - Julho/2017
ASP.NET Core e Linux: Explorando novas fronteiras - Araras Dev - Julho/2017ASP.NET Core e Linux: Explorando novas fronteiras - Araras Dev - Julho/2017
ASP.NET Core e Linux: Explorando novas fronteiras - Araras Dev - Julho/2017Renato Groff
 
.NET Core 3.0 e ASP.NET Core 3.0: principais novidades - FCamara - Agosto-2019
.NET Core 3.0 e ASP.NET Core 3.0: principais novidades - FCamara - Agosto-2019.NET Core 3.0 e ASP.NET Core 3.0: principais novidades - FCamara - Agosto-2019
.NET Core 3.0 e ASP.NET Core 3.0: principais novidades - FCamara - Agosto-2019Renato Groff
 
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Renato Groff
 
Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...
Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...
Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...Renato Groff
 
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019Renato Groff
 
Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021Erik Cruz
 
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...Renato Groff
 
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...Renato Groff
 
.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?akamud
 
Introdução ao cake php
Introdução ao cake phpIntrodução ao cake php
Introdução ao cake phpFilipe Kulinski
 
.NET e ASP.NET Core 2.2, .NET Core 3, Visual Studio 2019: uma visão geral - ....
.NET e ASP.NET Core 2.2, .NET Core 3, Visual Studio 2019: uma visão geral - .....NET e ASP.NET Core 2.2, .NET Core 3, Visual Studio 2019: uma visão geral - ....
.NET e ASP.NET Core 2.2, .NET Core 3, Visual Studio 2019: uma visão geral - ....Renato Groff
 
.NET Core e C# 7.0 - InterCon 2016
.NET Core e C# 7.0 - InterCon 2016.NET Core e C# 7.0 - InterCon 2016
.NET Core e C# 7.0 - InterCon 2016Renato Groff
 

Mais procurados (20)

Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
 
9 erros que desenvolvedores Node.js cometem
9 erros que desenvolvedores Node.js cometem9 erros que desenvolvedores Node.js cometem
9 erros que desenvolvedores Node.js cometem
 
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Julho-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Julho-2019Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Julho-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Julho-2019
 
Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...
Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...
Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...
 
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...
 
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018
 
Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019
Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019
Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
 
ASP.NET Core e Linux: Explorando novas fronteiras - Araras Dev - Julho/2017
ASP.NET Core e Linux: Explorando novas fronteiras - Araras Dev - Julho/2017ASP.NET Core e Linux: Explorando novas fronteiras - Araras Dev - Julho/2017
ASP.NET Core e Linux: Explorando novas fronteiras - Araras Dev - Julho/2017
 
.NET Core 3.0 e ASP.NET Core 3.0: principais novidades - FCamara - Agosto-2019
.NET Core 3.0 e ASP.NET Core 3.0: principais novidades - FCamara - Agosto-2019.NET Core 3.0 e ASP.NET Core 3.0: principais novidades - FCamara - Agosto-2019
.NET Core 3.0 e ASP.NET Core 3.0: principais novidades - FCamara - Agosto-2019
 
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
 
Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...
Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...
Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...
 
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
 
Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021
 
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...
 
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
 
.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?
 
Introdução ao cake php
Introdução ao cake phpIntrodução ao cake php
Introdução ao cake php
 
.NET e ASP.NET Core 2.2, .NET Core 3, Visual Studio 2019: uma visão geral - ....
.NET e ASP.NET Core 2.2, .NET Core 3, Visual Studio 2019: uma visão geral - .....NET e ASP.NET Core 2.2, .NET Core 3, Visual Studio 2019: uma visão geral - ....
.NET e ASP.NET Core 2.2, .NET Core 3, Visual Studio 2019: uma visão geral - ....
 
.NET Core e C# 7.0 - InterCon 2016
.NET Core e C# 7.0 - InterCon 2016.NET Core e C# 7.0 - InterCon 2016
.NET Core e C# 7.0 - InterCon 2016
 

Semelhante a WordCamp SP 2019 - PeachPie unindo Php com C# .Net Core

PHP e componentes reutilizáveis
PHP e componentes reutilizáveisPHP e componentes reutilizáveis
PHP e componentes reutilizáveiselliando dias
 
Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Luís Cobucci
 
Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011Luís Cobucci
 
Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Flávio Lisboa
 
Pense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkPense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkFlávio Lisboa
 
PHP para aplicações Web de grande porte
PHP para aplicações Web  de grande portePHP para aplicações Web  de grande porte
PHP para aplicações Web de grande porteFelipe Ribeiro
 
Performance de verdade com Phalcon Framework
Performance de verdade com Phalcon FrameworkPerformance de verdade com Phalcon Framework
Performance de verdade com Phalcon FrameworkJaime Neto
 
.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo mais.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo maisakamud
 
Programação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebProgramação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebIsrael Messias
 
Apostila php
Apostila phpApostila php
Apostila phpfelgamer
 
Apostila básica de PHP
Apostila básica de PHPApostila básica de PHP
Apostila básica de PHPKratos879
 
Otimizacao de websites em PHP
Otimizacao de websites em PHPOtimizacao de websites em PHP
Otimizacao de websites em PHPFelipe Ribeiro
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPArlindo Santos
 
Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2PrinceGuru MS
 
Zend Framework 2 - Desenvolvimento Ágil Competente
Zend Framework 2 - Desenvolvimento Ágil CompetenteZend Framework 2 - Desenvolvimento Ágil Competente
Zend Framework 2 - Desenvolvimento Ágil CompetenteMichael Cardoso
 
Aplicações Profissionais para Internet com Zend Framework
Aplicações Profissionais para Internet com Zend FrameworkAplicações Profissionais para Internet com Zend Framework
Aplicações Profissionais para Internet com Zend FrameworkFlávio Lisboa
 
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...BrunoSouza617
 
Ferramentas Livres Para Desenvolvimento com PHP
Ferramentas Livres Para Desenvolvimento com PHPFerramentas Livres Para Desenvolvimento com PHP
Ferramentas Livres Para Desenvolvimento com PHPAdler Medrado
 

Semelhante a WordCamp SP 2019 - PeachPie unindo Php com C# .Net Core (20)

PHP e componentes reutilizáveis
PHP e componentes reutilizáveisPHP e componentes reutilizáveis
PHP e componentes reutilizáveis
 
Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011
 
Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011
 
Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011
 
Pense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkPense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend Framework
 
PHP para aplicações Web de grande porte
PHP para aplicações Web  de grande portePHP para aplicações Web  de grande porte
PHP para aplicações Web de grande porte
 
Manual PHP
Manual PHPManual PHP
Manual PHP
 
Performance de verdade com Phalcon Framework
Performance de verdade com Phalcon FrameworkPerformance de verdade com Phalcon Framework
Performance de verdade com Phalcon Framework
 
.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo mais.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo mais
 
Programação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebProgramação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente Web
 
Apostila php
Apostila phpApostila php
Apostila php
 
Apostila básica de PHP
Apostila básica de PHPApostila básica de PHP
Apostila básica de PHP
 
Otimizacao de websites em PHP
Otimizacao de websites em PHPOtimizacao de websites em PHP
Otimizacao de websites em PHP
 
Cake PHP
Cake PHPCake PHP
Cake PHP
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHP
 
Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2
 
Zend Framework 2 - Desenvolvimento Ágil Competente
Zend Framework 2 - Desenvolvimento Ágil CompetenteZend Framework 2 - Desenvolvimento Ágil Competente
Zend Framework 2 - Desenvolvimento Ágil Competente
 
Aplicações Profissionais para Internet com Zend Framework
Aplicações Profissionais para Internet com Zend FrameworkAplicações Profissionais para Internet com Zend Framework
Aplicações Profissionais para Internet com Zend Framework
 
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
 
Ferramentas Livres Para Desenvolvimento com PHP
Ferramentas Livres Para Desenvolvimento com PHPFerramentas Livres Para Desenvolvimento com PHP
Ferramentas Livres Para Desenvolvimento com PHP
 

WordCamp SP 2019 - PeachPie unindo Php com C# .Net Core

  • 1. PeachPie A união entre PHP e C# .Net Core
  • 2. .Net Conference 2018 https://channel9.msdn.com/Events/dotnetConf/2018/S303
  • 3. Conheça PeachPie? ● Framework Open-Source ● Cross-Platform ● .Net e Php trabalhando junto ● Segurança no código ● Performance com influência Microsoft Roslyn
  • 4. PHP e .Net representam mais de 90% de toda internet. Embora o PHP seja onipresente e extremamente popular, o .NET é mais robusto, seguro e com desempenho. O compilador PeachPie é um projeto exclusivo que preenche a lacuna entre as duas plataformas e permite que os desenvolvedores usem o melhor dos dois mundos.
  • 5. Vantagens X Desvantagem ● Baixo custo no servidor ● Linguagem estabelecida ● Fácil de aprender ● Não indicada para aplicação de grandes portes ● Linguagem multiparadigma, ● Tipagem forte ● Totalmente Orientada a Objeto ● Suporte e interage com legado ● Gerenciamento de Memória ● É necessário compilar
  • 7. Simplicidade e flexibilidade do PHP com o poder e o desempenho do .Net Core
  • 8. Imagem transparente no plano de fundo sempre funciona bem.
  • 9. Interligando Módulos PhP e .Net Core ● Simples conexao PhP-C#; ● Possibilidade de reutilização de código PHP sem reescrever para C#; ● Colaboração entre desenvolvedores;
  • 10. Aplicativo PhP no .Net ● Execute em tempo real aplicação em php no .net, ● Use as ferramentas .Net para diagnóstico, ● Use o Azure de forma nativa.
  • 11. PhP com pacotes Nugets ● Distribuir componentes em PHP, ● Pacotes de repositorios
  • 12. Módulos PhP e .Net Core <ItemGroup> <PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="1.1.2" /> <PackageReference Include="Microsoft.AspNetCore.Session" Version="1.1.2" /> <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.2" /> <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.3" /> <PackageReference Include="Microsoft.Extensions.Caching.Abstractions" ersion="1.1.2" /> <PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="1.1.2" /> <PackageReference Include=”Peachpie.NETCore.Web” Version=”0.7.0-”/> <PackageReference Include=”Peachpie.NETCore.Web” Version=”0.7.0-”/> <PackageReference Include=”Microsoft.Extensions.Caching.Memory Version=”1.1.2”/> <PackageReference Include=”Peachpie.NETCore.Web” Version=”0.7.0-”/> </ItemGroup>
  • 13. Migrando aplicações PHP para .Net ● Migração sequencial e contínua de PHP para .Net ● Aplicação ● Aproveite pontos fortes de cada plataforma
  • 14. Use pacotes NuGet com PhP ● especificar os pacotes Nuget ● Não revela código fonte ● fácil acesso do Php nos pacotes
  • 15. Biblioteca em PhP para .Net PhpLib.msbuildproj <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Library</OutputType> <TargetFrameworks>netstandard1.6;net46</TargetFrameworks> <Description>.NET class library in PHP</Description> <AssemblyName>PhpLib1</AssemblyName> <PackageId>PhpLib1</PackageId> <GeneratePackageOnBuild>True</GeneratePackageOnBuild> <VersionSuffix>prerelease</VersionSuffix> </PropertyGroup> <ItemGroup><Compile Include="**/*.php" /></ItemGroup> <ItemGroup> <DotNetCliToolReference Include="Peachpie.Compiler.Tools" Version="0.7.0-*" /> <PackageReference Include="Peachpie.NET.Sdk" Version="0.7.0-*" PrivateAssets="Build" /> </ItemGroup> </Project>
  • 16. Estendendo PhP com C# ● Amplie aplicação Php com plug-ins e extensões c#, ● Use pacotes seguros e populares em C#, ● Aproveite pontos fortes de cada plataforma
  • 17. Program.cs O PeachPie ainda contém uma extensão para o Kestrel que faz a solicitação no *.php e processa as DLLs copiladas. class Startup { public void Configure(IApplicationBuilder app) { Pchp.Core.Context.DefaultErrorHandler = new Pchp.Core.CustomErrorHandler(); // disables debug asserts app.UsePhp(); // installs handler for *.php files and forwards them to our website.dll app.UseDefaultFiles(); app.UseStaticFiles(); } }
  • 18. WordPress com.Net http://www.wpdotnet.com/resources/ ● Estrutura robusta do WP com segurança e rapidez do .Net ● Venda ou distribua seu aplicativo sem entregar o código fonte., ● Plug-ins testados e configurados pelo Nuget ● Íntegra Azure com estabilidade e desempenho. ● Visualização usando Razor
  • 19. Diagrama básico do mecanismo do .Net com WordPress
  • 20. Detalhes no Código Para syntax highlight, use http://markup.su/highl ighter
  • 21. Vídeo de Instalação no Visual Studio 2019.
  • 22. Vídeo de Instalação no Visual Studio Code.
  • 23. Vídeo de Instalação no Visual Studio Code.
  • 24. IMPORTANTE! Peachpie não é sobre escrever código .Net usando PHP. Peachpie é sobre a execução de código PHP no .Net.
  • 25. Arquitetura em microservice Ocultar seu código Ambiente Cloud Devops com Azure Porque usar?