FrankenPHP - Uma nova forma de executar aplicações PHP | Dias de Dev

Поделиться
HTML-код
  • Опубликовано: 3 окт 2024

Комментарии • 102

  • @DiasDeDev
    @DiasDeDev  8 месяцев назад +3

    Links:
    Se quiser aprender mais sobre programação e tecnologia em geral, aqui tem 10% de desconto na Alura:
    alura.tv/diasdedev
    E se quiser apoiar o canal e me incentivar a continuar criando conteúdo gratuito, você pode considerar me dar um "Valeu Demais" aqui no RUclips ou se tornar um "sponsor" lá no GitHub:
    github.com/sponsors/CViniciusSDias
    Post no blog falando como o PHP é executado na Web:
    dias.dev/2021-06-15-como-o-php-funciona-na-web/
    Post no blog sobre I/O não bloqueante (programação assíncrona) com PHP puro:
    dias.dev/2020-09-16-php-assincrono-de-forma-nativa/
    Projeto utilizado no vídeo para realizar o benchmark:
    github.com/CViniciusSDias/frankenphp-swoole-octane

  • @Rockduds-ee2se
    @Rockduds-ee2se 2 месяца назад +4

    Mano, conteúdo e didática muito acima da média, parabéns!

    • @DiasDeDev
      @DiasDeDev  2 месяца назад +1

      Fico muito feliz que esteja gostando. :-D

  • @felipeassumpcao3039
    @felipeassumpcao3039 8 месяцев назад +12

    Como aguardava isso! Continue trazendo conteúdo no canal!

    • @DiasDeDev
      @DiasDeDev  8 месяцев назад +1

      Opa, espero que goste do vídeo.
      😁😁

  • @alissonsilva9419
    @alissonsilva9419 8 месяцев назад +1

    Ótimo conteúdo, vim seco só pra ver o lance do FrankenPHP mas vc deu uma aula sobre servidores, muito bom cara!

    • @DiasDeDev
      @DiasDeDev  8 месяцев назад +1

      Fico feliz demais que tenha curtido. E obrigado por ter sugerido esse tema!
      🤩

  • @renatofrota
    @renatofrota 8 месяцев назад +2

    Muito bem explicado. Podia ter adicionado benchmarks com o PHP-FPM + Nginx padrão para efeito de comparação.

    • @DiasDeDev
      @DiasDeDev  8 месяцев назад

      Boa, Renato. Podia mesmo.

  • @brunoggdev6305
    @brunoggdev6305 8 месяцев назад +2

    Esperei muito por esse video aqui hein, animado

    • @DiasDeDev
      @DiasDeDev  8 месяцев назад +1

      Espero que goste.
      😁

  • @zakrom3763
    @zakrom3763 8 месяцев назад +2

    Traz mais conteúdo de Machine learning em php, gostei bastante do seu video do rubix ml

    • @DiasDeDev
      @DiasDeDev  8 месяцев назад +1

      Vou preparar algo sim.
      😁

  • @osmaloureiro
    @osmaloureiro 8 месяцев назад +1

    mais uma mega aula do carlāo!!
    manja de mais!
    tmj sempre

    • @DiasDeDev
      @DiasDeDev  8 месяцев назад

      Heheheh
      Carlão me pegou. kkkkk

  • @DavidArevalos-j2h
    @DavidArevalos-j2h 7 месяцев назад

    Mano, que explicação do caralh*! Muito bom! Obrigado!

    • @DiasDeDev
      @DiasDeDev  7 месяцев назад

      Que bom que curtiu, mano! :-D

  • @arturvidopicoli6735
    @arturvidopicoli6735 8 месяцев назад +1

    Como sempre, informação de qualidade e direto ao ponto! Como tenho pouco tempo de área, e normalmente não participo de decisões do tipo ao arquitetar uma aplicação, acabo me perguntando em quais casos seria interessante utilizar o PHP com esse tipo de abordagem, igual do Swoole ou Franken PHP. Via de regra, só seria válido em aplicações robustas onde o número de requisições são altíssimas? Ou seria o caso de não utilizar mais o PHP FPM e priorizar sempre essas abordagens mais modernas? Fico me perguntando quais os critérios para decidir algo do tipo :D ....Valeu! Um abraço.

    • @DiasDeDev
      @DiasDeDev  8 месяцев назад +1

      Eu só iria pra essas abordagens onde o número de requisições for alto suficiente pro php-fpm ser um gargalo na aplicação.
      O custo de migrar pra essa arquitetura pode ser bem baixo se o sistema for corretamente desenvolvido. E se o sistema não for corretamente desenvolvido, então ter usado essa abordagem desde o início poderia ter sido desastroso. Rsrsrsrs

  • @TioJobs
    @TioJobs 8 месяцев назад +1

    Boaaaa!!! Conteúdo top d+! ❤

    • @DiasDeDev
      @DiasDeDev  8 месяцев назад

      Muito obrigado 😁

  • @brunoggdev6305
    @brunoggdev6305 8 месяцев назад +2

    Muuuito interessante, e aí a aplicação roda normalmente? Digo, eu só vi por alto, mas parece que no Swoole você precisa usar métodos específicos para utiliza-lo satisfatoriamente. Com FrankenPHP seria possível apenas migrar uma aplicação já existente sem maiores configurações? Talvez um vídeo sobre isso ficasse bacana

    • @DiasDeDev
      @DiasDeDev  8 месяцев назад +1

      Com Swoole não precisa fazer nada diferente não, se usar o Octane. Só usar e tirar proveito também. A aplicação roda normalmente com as limitações descritas na doc do Octane.
      Fora do Octane a história muda. Swoole tem mais poderes do que o FrankenPHP.
      É perfeitamente possível rodar uma aplicação que roda no PHP-FPM com FrankenPHP sem mexer em nada, mas pra usar o worker mode, que é o que traz mais performance, precisa se atentar aos mesmos detalhes do que com Swoole.

    • @brunoggdev6305
      @brunoggdev6305 8 месяцев назад

      @@DiasDeDev Hmmm entendo entendo

  • @ngomafortuna2667
    @ngomafortuna2667 5 месяцев назад

    Muito bom claro e profundo.

    • @DiasDeDev
      @DiasDeDev  5 месяцев назад

      Que bom que gostou 😁

  • @sahdoio
    @sahdoio 8 месяцев назад

    Ótimo contéudo sobre o assunto

    • @DiasDeDev
      @DiasDeDev  8 месяцев назад

      Que bom que gostou!
      🤩

  • @DiegoBrocanelli
    @DiegoBrocanelli 8 месяцев назад

    Excelente vídeo, parabéns!

    • @DiasDeDev
      @DiasDeDev  8 месяцев назад +1

      Que bom que curtiu! :-D

  • @rodrigobonfim9011
    @rodrigobonfim9011 8 месяцев назад

    PHP tenho uma vontade imensa de aprender essa linguagem, acho muito massa. Estou me organizando, quem sabe um dia entre de cabeça de vez.

    • @DiasDeDev
      @DiasDeDev  8 месяцев назад

      É uma ótima linguagem! 😁

  • @naturallifenow
    @naturallifenow 2 месяца назад

    Muito bom. Parabéns. Sabe informar se o frankenphp com octane is battle tested for production ?

    • @DiasDeDev
      @DiasDeDev  2 месяца назад

      É um projeto relativamente recente, mas bem ativo. Eu usaria sem receios, mas atualizaria com frequência.

  • @Guilherme3s
    @Guilherme3s 8 месяцев назад +8

    Fala sobre o php em 2024 por favor. E também a sua perspectiva sobre esse ano. Ainda confuso, já tenho o php como stack, mas meio incerto sobre 2024

    • @DiasDeDev
      @DiasDeDev  8 месяцев назад +14

      Pra essa não precisa de vídeo. Tá aqui:
      Perspectiva é a mesma de todos os anos. Uma das melhores linguagens para se aprender e usar na Web. Não para de evoluir e melhorar, apesar de continuarem dizendo que vai morrer. Nada novo sob o sol. hahahah

    • @ryanpereiras
      @ryanpereiras 8 месяцев назад +1

      ​estamos a 4 anos aguardando

    • @DiasDeDev
      @DiasDeDev  8 месяцев назад +3

      Aguardando o quê? O PHP morrer? Vixi, tem muito mais do que 4 anos que dizem que ele tá morrendo. Tá mais perto dos 20 anos de tentativa de acabar com o coitado. kkkkkk

    • @ryanpereiras
      @ryanpereiras 8 месяцев назад

      @@DiasDeDev sim kakakak 4 anos eu to ouvindo que Python e JS vai acabar com ele

    • @Guilherme3s
      @Guilherme3s 8 месяцев назад

      @@DiasDeDev o ponto não seria sobre isso. É conversa antiga essa parte ai. Uma visão sobre as i.as, implementações com ela nos projetos e o que esperar para 2024.

  • @ResetSistemas-we4vp
    @ResetSistemas-we4vp 3 месяца назад

    Po amigo, eu mexo com som tbm, e dá muito agonia essa "sobra" parecendo uma microfonia. rsrsrs Coloca algumas espumas ai pra amenizar.

  • @barrajr5369
    @barrajr5369 8 месяцев назад

    Faz vídeo sobre hyperf

    • @DiasDeDev
      @DiasDeDev  8 месяцев назад

      To querendo fazer há um tempo, mas queria preparar com mais carinho. Tá faltando tempo. rsrsrs
      Mas valeu pela sugestão. :-D

  • @dmoitim
    @dmoitim 8 месяцев назад

    Boooooooooooa.. parabéns pelo vídeo.

    • @DiasDeDev
      @DiasDeDev  8 месяцев назад

      Que bom que curtiu! :-D

  • @flow_code
    @flow_code 8 месяцев назад +1

    Meu sonho é ver o php trabalhar com c++. Imagina trabalhar com php para desenvolver jogos estilo da unreal 😮... seria muito bom

  • @jleonardolemos
    @jleonardolemos 8 месяцев назад

    Interessante em Lorde. No caso do swoole e octane existe uma preocupaçao com o compartilhamento de informações entre as requests. O mesmo se aplica ao frankenPhp sera?

    • @DiasDeDev
      @DiasDeDev  8 месяцев назад +1

      Sim sim. Isso é uma característica inerente à abordagem de subir sua aplicação 1x e deixá-la rodando pra sempre

  • @heverrtonfb
    @heverrtonfb 8 месяцев назад

    PHP e vida

  • @guilhermeluiz2379
    @guilhermeluiz2379 8 месяцев назад

    E como fica as variaveis estáticas? Pq no método tradicional, elas somem após finalizar a requisição... No frankem ela se manteira como em outras linguagens?

    • @DiasDeDev
      @DiasDeDev  8 месяцев назад +1

      Sim, elas se mantém entre as requisições. É preciso tomar cuidado.

  • @tgbaldo
    @tgbaldo 8 месяцев назад

    Legal, tinha ouvido falar e até vi o PR que o criador do FrankenPHP fez para o Laravel. Dúvida: as requests que caem no Caddy com FrankenPHP compartilham memória por estar sendo executadas em uma goroutine? Ou seja: preciso me preocupar com vazamento de memória, principalmente quando estou lidando com objetos singleton, ou o FrankenPHP "resolve" (coloquei entre aspas, pois não é um problema, mas um comportamento) isso?

    • @DiasDeDev
      @DiasDeDev  8 месяцев назад +2

      Se estiver usando o "worker mode", sim, precisa se preocupar. Até por isso na documentação do Octane esses problemas são citados.
      No worker mode, todo o seu projeto é inicializado e cada requisição é tratada nesse mesmo processo.
      Singleton e propriedades estáticas são os principais vilões, principalmente em projetos Laravel.

  • @HenriqueFLA
    @HenriqueFLA 8 месяцев назад

    Fala Vinícius, sabe informar qual é aquele site que você mencionava lá no curso de git da alura, era um site que tinha várias opções de formatação para git. Abs

    • @DiasDeDev
      @DiasDeDev  8 месяцев назад

      Só me lembro de mostrar a documentação do git mesmo.

    • @HenriqueFLA
      @HenriqueFLA 8 месяцев назад

      @@DiasDeDev vixi, era um git e Github compartilhe seu código da Oracle one, tinha uma parte logo depois de você mostrar a ferramenta vizualizingGit kk

  • @mathewslima3235
    @mathewslima3235 8 месяцев назад

    Uma dúvida com relação ao deploy usando Swoole/Franken.
    Geralmente usando Nginx + FPM, posso fazer o deploy de boas, pois, na próxima requisição já tera o código atualizado.
    Mas Swoole/Franken mantém a aplicação rodando após subir na primeira vez. Se eu fizer um deploy, como seria o fluxo? Eles fornecem algum Hot Reload? Durante o deploy o sistema iria ficar "offline" até subir o servidor novamente?

    • @DiasDeDev
      @DiasDeDev  8 месяцев назад +1

      Você reinicia o servidor no deploy. Se a aplicação precisa de coisas como frankenphp ou swoole, ela vai ter um esquema de blue-green ou coisa do tipo, então não precisa ter downtime. ;-)

    • @DiasDeDev
      @DiasDeDev  8 месяцев назад +1

      PS.: com opcache preload você precisa reiniciar o servidor php-fpm também ao fazer deploy.

  • @FranciscoMarcosMilhomemAbreu
    @FranciscoMarcosMilhomemAbreu 8 месяцев назад

    Qual é esse editor de código?

    • @DiasDeDev
      @DiasDeDev  8 месяцев назад

      É uma IDE. PHPStorm

  • @miguilim240
    @miguilim240 8 месяцев назад +1

    Sinistrooo

  • @miguilim240
    @miguilim240 8 месяцев назад +1

    E aquele blog post do laravel com benchmark dizendo que o FrankenPHP tinha um tempo médio de resposta bem menor que o Swoole? Era fake news do zap?

    • @DiasDeDev
      @DiasDeDev  8 месяцев назад +1

      Não. Esses benchmarks não devem ser levados a sério (assim como o meu também não).
      Não são feitos em ambientes controlados e muita coisa pode interferir. O ponto principal, tanto nesse vídeo quanto no post que você viu, é o seguinte: a performance de ambos é muito similar quando usado dentro do Octane.

    • @miguilim240
      @miguilim240 8 месяцев назад +1

      @@DiasDeDev Saquei 😁

  • @brianferreira15
    @brianferreira15 4 месяца назад +2

    Não sei vcs, mas eu particularmente sinto um desconforto mt grande quando vejo em uma solução para uma linguagem que usa outra linguagem como base por trás, ou seja, o FrankenPHP usar o GO é mesmo que descredibilizar totalmente o PHP e dizer que ele n consegue ser bom sozinho. KKKK parece bobagem mas sei lá, eu acabo tendo essa ideia. 😅

    • @DiasDeDev
      @DiasDeDev  4 месяца назад +1

      Não faz muito sentido não. O FrankenPHP usa Go porque o Caddy foi feito em Go, então facilita essa integração.

    • @wesleybarbosa_
      @wesleybarbosa_ 3 месяца назад +1

      A preocupação dele parece ser válida. São concorrentes, vai chegar um dia que o Go vai descontinuar essa "parceria" e o framework ficará na mão

  • @WandersonSangreal
    @WandersonSangreal 8 месяцев назад

    kkk... node que voa bruxão!

    • @DiasDeDev
      @DiasDeDev  8 месяцев назад +3

      PHP > Node
      👍

    • @h.s3187
      @h.s3187 8 месяцев назад

      Voa alto nos problemas de dependencias deprecaciadas

    • @WandersonSangreal
      @WandersonSangreal 8 месяцев назад

      @@DiasDeDev não estou desmerecendo o PHP, nasci nesse berço e sei da importância que ele tem pra mim até hoje e pra web de forma geral... mas vejo esse movimento como um reconhecimento do event loop do node

    • @WandersonSangreal
      @WandersonSangreal 8 месяцев назад

      ​@@h.s3187 dependências são feitas por pessoas/comunidades, não entendi porque esse é um problema do node...

    • @DiasDeDev
      @DiasDeDev  8 месяцев назад +1

      Mas EventLoop não é do node. Inclusive o ReactPHP surgiu na mesma época que o Node.js com exatamente a mesma ideia. rsrsrs
      Node só usa um conceito super antigo, assim como o PHP também usa. :-D
      FrankenPHP é só mais uma ferramenta que faz uso da técnica e Event Loop nem é a novidade na ferramenta. rsrsrs

  • @JoaoPedro-uw8nz
    @JoaoPedro-uw8nz 8 месяцев назад

    Vinicius, se me permite tirar uma dúvida, você recomendaria assinar a php[architect] hoje em dia? Dito isso, excelente video!! Tenho buscado estudar sobre reactphp e swoole recentemente, seu canal, curso na alura e esse canal aqui: ruclips.net/p/PLKIEFFgNQYpVmUAKUjT_BRYYOdMHwGt0v tem me auxiliado bastante.

    • @DiasDeDev
      @DiasDeDev  8 месяцев назад +1

      Eu só tenho uma edição da magazine (impressa) que é a edição pra qual eu escrevi. Se o valor não for pesar pra você, não vejo mal nenhum em assinar. Mas não é nenhum tipo de "conteúdo exclusivo" ou "premium" não.

    • @JoaoPedro-uw8nz
      @JoaoPedro-uw8nz 8 месяцев назад +1

      Compreendi, obrigado pela explicação!!@@DiasDeDev

  • @osmaloureiro
    @osmaloureiro 8 месяцев назад

    meu objetivo em 2024 e ter o ingles afiado igual do carlāo.

    • @DiasDeDev
      @DiasDeDev  8 месяцев назад

      Dá pra ser melhor que eu, pow. rsrsrsrs

  • @Henry_Nunez
    @Henry_Nunez 8 месяцев назад

    👉🔔👈

  • @MD-km1yd
    @MD-km1yd 8 месяцев назад +1

    Php estudo muito mais não consigo emprego

    • @renatofrota
      @renatofrota 8 месяцев назад

      talvez falte estudar português pra aprender a diferença entre "mas" e "mais"

    • @renatofrota
      @renatofrota 7 месяцев назад

      @@aleragayu você errou totalmente a pontuação do seu comentário, também precisa estudar. eu não uso letra maiúscula por opção, é apenas estilo pessoal, não interfere o entendimento e é muito diferente de errar gramática. 😘

    • @leandrocc84
      @leandrocc84 7 месяцев назад +3

      ​@@aleragayuo engraçado é ele tentando justificar a própria cilada, adoro ver esses fiscais de comentários caindo na própria armadilha kkkkkkkk

    • @renatofrota
      @renatofrota 7 месяцев назад

      @@aleragayu não vou te dar aula. pague um bom professor, melhor que eu, pra te dar essa consultoria. te garanto que tem erros no seu comentário.

    • @cpp33
      @cpp33 2 месяца назад

      ​@@aleragayu
      ele deveria estudar
      letra minusculA
      que ao menos você escreva corretamente

  • @VanNeves
    @VanNeves 8 месяцев назад

    NodePHP

    • @DiasDeDev
      @DiasDeDev  8 месяцев назад

      Esse era o nome original do ReactPHP. Mas ele e o node estavam surgindo ao mesmo tempo com a exata mesma ideia.
      Mas o Node não trouxe nenhuma novidade e esse modelo de execução é usado por diversas linguagens e runtimes. ;-)

  • @thalissonvieira7008
    @thalissonvieira7008 8 месяцев назад +1

    nodezaram o php? Não vou mentir que não gostei ein

    • @DiasDeDev
      @DiasDeDev  8 месяцев назад +6

      ReactPHP surgiu antes do Node, sabia? rsrsrs
      EventLoop não foi criado pelo Node. :-D

    • @elienaycarvalho
      @elienaycarvalho 8 месяцев назад

      Já fez uma app que consome Gui nativa em qualquer os? Pode ser Windows 3.11 ou ainda mais antigo... Vc vai precisar de um event loop