[0:01] [Música] [0:03] E aí gente aqui é o Rafa do canal [0:05] programador lama e vamos lá toda vez que [0:08] eu abro caixinha lá no Instagram essa [0:10] Bendita pergunta me aparece qual que eu [0:13] tenho que usar das frameworks de Python [0:16] flesk Jungle ou fash api qual que é [0:18] melhor né E nesse momento te a gente vai [0:22] conversar um pouco sobre isso eu quero [0:24] trazer esse debate aqui pra gente e na [0:27] verdade pessoal pra gente ter um debate [0:29] um pouco mais completo eu tenho que [0:31] analisar essas frameworks a partir de [0:33] quatro perspectivas Então a gente vai [0:36] falar sobre ferramental que essas [0:38] frameworks nos dá a gente vai falar [0:40] sobre arquitetura que essas frameworks [0:43] nos apresentam sobre performance também [0:46] entre essas frameworks e por último né a [0:49] visão de mercado como que tão as [0:51] oportunidades ali bom eu quero trazer [0:54] esse tipo de debate até mesmo para se [0:56] alguém no futuro me perguntar eu já [0:57] falar que eu tenho um vídeo aqui no [0:58] canal sobre isso esse é o nosso quadro [1:00] momento Tech em que a gente se encontra [1:02] Toda segunda quarta e sexta às 8 horas [1:04] da manhã para falar um pouco sobre [1:06] programação carreira e as tendências no [1:08] mercado de tecnologia e um recado rápido [1:11] a Rocket City é uma parceira do canal [1:13] programador lama então utilizando o [1:15] cupom programador lama ou acessando o [1:17] link no comentário fixado você garante [1:19] 10% de desconto nas formações da [1:22] plataforma e como um professor da trilho [1:24] de Python eu garanto um conteúdo de [1:26] muita qualidade para seu aprendizado [1:27] Então vamos lá quando alguém me pergunta [1:30] me faz esse tipo de pergunta é uma [1:33] pergunta legítima tá porque você [1:35] consegue fazer [1:37] sistemas muito parecidos utilizando [1:40] qualquer uma dessas frameworks então [1:42] sistemas em Jungle em flesk em F api [1:46] eles podem no resultado final parecer [1:49] muito né ter muita similaridade mas são [1:53] exatamente as suas diferenças quando [1:55] você começa a enxergar um pouco essas [1:58] frameworks de uma maneira mais geral [2:00] que determinam por exemplo aonde que [2:02] você vai utilizar um ou utilizar outro E [2:05] para isso pessoal eu quero começar [2:07] falando e da ideia de ferramentais que [2:10] essas frameworks nos trazem eu sempre [2:12] vou seguir essa linha Jungle flesk e [2:16] fash api pro jangle a gente tem [2:20] realmente uma Framework bastante [2:22] completa tem muitas bibliotecas ali [2:25] dentro o Jungle ele vai te dar uma [2:27] espécie de ecossistema em que você vai [2:30] conseguir utilizando somente biblioteca [2:32] de Dango fazer sistemas muito parrudos [2:35] então por exemplo desde a criação de [2:38] renderizações de telas Você tem uma tela [2:41] ali no seu browser até a conexão com [2:43] banco de dados o Jungle vai te dar [2:46] questões por exemplo de validações de [2:49] entrada de dados o Jungle vai te dar uma [2:51] biblioteca para isso questões por [2:53] exemplo eh autenticação né de sessão de [2:57] usuário o Jungle também te dá uma [2:59] biblioteca para gerenciar isso então é [3:01] uma biblioteca muito completa ali na [3:03] verdade uma Framework muito completa [3:05] cheia de [3:06] bibliotecas isso pode ser bom e ruim [3:10] dependendo da sua perspectiva bom porque [3:12] ele já vai te dar um caminho já vai te [3:14] dar um ferramental todo completo isso é [3:16] muito legal só que é ruim porque ele vai [3:19] te prender a esses ferramentais às vezes [3:22] se você quiser pegar outras bibliotecas [3:25] para colocar no teu projeto talvez você [3:27] possa até mesmo colocar um recurso a [3:29] mais que você não necessita porque o [3:32] jangle já tem alguma coisa parecida ali [3:34] que faz isso então você fica preso [3:37] aquilo né você querer por exemplo [3:40] utilizar outros tipos de orms ou [3:43] utilizar outros tipos de mecanismos ali [3:46] no seu projeto você vai ter também né é [3:49] possível que isso aconteça algum [3:50] conflito entre as bibliotecas então Eh [3:53] em relação ao Jungle ele realmente te dá [3:56] uma visão bastante completa Mas você [3:58] acaba tendo que ficar ali naquele [4:01] ecossistema caso você queira mexer por [4:03] exemplo com apis em Jango aí você não [4:07] vai utilizar somente a a a Framework do [4:10] Jungle isso porque o Jungle em si ele [4:13] tem outras extensões que são [4:15] direcionadas a esses tipos de [4:17] construções de apis então situações por [4:20] exemplo Jungle rti Framework ou Jungle [4:22] Ninja você vai acabar utilizando agora [4:25] se você quiser fazer sistemas completos [4:27] você vai realmente pra Frame do Jungle [4:30] em si o flesk é o extremo oposto do [4:34] jangle ele não vai te dar tantas [4:37] bibliotecas assim o flesk na verdade a [4:40] gente determina isso como uma micro [4:42] Framework ele vai dar para você somente [4:45] a parte de interação http para você [4:48] fazer as suas rotas em http então a [4:51] gente já tá falando de construção de [4:53] apis E caso você queira ter uma tela [4:56] fazer uma renderização ali de uma tela [4:59] no seu browser ele também te dá essa [5:01] possibilidade mas o flesk ele não vai te [5:04] dar uma urm ele não vai te dar um [5:06] elemento de validação de entrada de [5:08] dados ele não vai te dar uma validação [5:11] um uma biblioteca necessariamente para [5:13] você fazer autenticação de usuário você [5:16] vai pegar esses elementos todos em [5:18] bibliotecas externas e aí você tem que [5:21] ter uma certa maturidade como [5:23] programador realmente para conseguir [5:25] encaixar essas bibliotecas e trabalhar [5:27] de uma forma mais simples no seu código [5:30] para algumas pessoas Isso é muito bom [5:32] porque você consegue de uma maneira mais [5:34] fácil fazer suas próprias arquiteturas e [5:38] definir os seus padrões só que de outra [5:41] forma você também tem e uma dificuldade [5:44] de encontrar um caminho paraa sua [5:46] produção de software é aí que por [5:48] exemplo o Jungle se destaca mas o no [5:51] flesk A gente tem essa maior liberdade [5:53] então você acabar pegando bibliotecas [5:56] externas por aí pode ser uma questão que [5:59] pode confundir alguns desenvolvedores o [6:01] fash Api eu vejo que ele tá mais ou [6:03] menos ali no meio dos dois porque ao [6:06] mesmo tempo que ele te dá um certo [6:08] ferramental ele também não vai te dar [6:11] outros ferramentais como se fosse o [6:13] flesk o fash Api ele vai te dar com toda [6:17] a certeza essa parte de interação com [6:19] com http para você fazer essas rotas [6:21] então a gente também tá falando de apis [6:24] aqui [6:24] eh para sistemas ele vai te dar sim uma [6:29] parte de validação de entrada de dados [6:31] muito elegante com o pantic o pantic é [6:35] um pouco mais do que só um validador mas [6:37] eu vou deixar desse jeito e você também [6:39] vai ter ali no fash api uma biblioteca [6:42] muito interessante que ela já tá [6:44] atrelada ao seu código e já vai te dar [6:46] uma documentação instantânea das suas [6:49] rotas que é o swager Isso é uma [6:51] ferramenta muito boa você construir [6:55] sistemas em fash API você vai ter uma [6:58] documentação que eu acredito que vai ser [7:00] muito interessante até em algumas [7:02] situações melhor do que o Jungle e que o [7:04] flesk juntos só que ele fica ali naquele [7:07] meio termo fecha iepi não vai te dar uma [7:10] urm direto para você acabar colocando [7:12] teu projeto ele não vai te dar por [7:15] exemplo alguns outros elementos de [7:17] autenticação de usuário você vai ter que [7:18] acabar colocando ali no seu projeto [7:21] então ele te padroniza um pouquinho mas [7:25] ele te deixa ainda livre é uma coisa [7:28] mais ou menos realmente meio termo Não é [7:31] vamos lá em relação à arquitetura de [7:32] software Jungle tem o mvt ele te dá uma [7:37] espécie de diretório padrão com [7:40] responsabilidades já bem definidas para [7:43] que você faça sim o seu projeto então [7:45] nota que o Jungle ele já vai te dar uma [7:48] arquitetura para você utilizar isso de [7:51] novo é bom porque vai te dar um caminho [7:54] já planejado mas pode ser ruim Caso você [7:56] queira estender né e utilizar outro [7:59] tipos de arquitetura no seu projeto no [8:02] Jungle propriamente Você tem o mvt que é [8:05] muito parecido com a ideia que a gente [8:07] conhece do [8:08] mvc que é aquela ideia de Model View [8:11] Controller só que quando você mexe por [8:14] exemplo com as extensões do Jungle por [8:15] exemplo Jungle Ninja você e na verdade o [8:18] Jungle Rash Framework eu vou me basear [8:20] mais nele né você tem ainda sim uma [8:24] espécie de arquitetura que vai te ser [8:27] passada né como e um caminho já proposto [8:30] que é o [8:32] mvs ele vai trocar a ideia de template [8:35] para você não ficar fazendo renderização [8:37] de telas em apis mas ele vai te dar um s [8:40] de serialização para você fazer toda a [8:43] parte de validação e transformação dos [8:45] dados quando você tá entrando ali é numa [8:48] comunicação http o flesk faz exatamente [8:51] o contrário ele não tem nada a respeito [8:54] de arquitetura ele te dá simplesmente a [8:58] possibilidade de você criar a sua [9:00] arquitetura de novo é bom e também é [9:03] ruim se você não está familiarizado em [9:05] fazer software de uma maneira um pouco [9:08] mais categórica criando a arquitetura do [9:11] teu projeto isso pode dar um certo nó no [9:14] teu projeto então eh a gente tem essas [9:18] situações fecha API de novo eu eu [9:21] acredito que ele tá no meio cara ele tá [9:23] exatamente no meio porque ele necessita [9:27] com que você para que a para que você [9:29] acabe né mexendo com essa parte de [9:31] documentação de uma maneira mais correta [9:34] você encaixe alguns elementos de uma [9:36] forma mais eh assim já pré-programadas [9:40] por exemplo você tem ali a validação e [9:43] serialização dos dados com pantic E esse [9:46] pantic tem que ser colocado lá nas suas [9:49] rotas Então você já tem ali um começo de [9:52] uma formação de uma arquitetura para que [9:54] você tenha com toda certeza uma [9:56] documentação interessante mas o restante [9:59] disso ele te deixa totalmente livre por [10:02] exemplo modo de se conectar a banco de [10:05] dados você pode criar ali a sua [10:08] responsabilidade separada para isso ele [10:10] o fash Api Não tem necessariamente um [10:13] lugar para você colocar a sua lógica de [10:15] a sua regra de negócio você pode colocar [10:18] do jeito que você melhor entender então [10:21] ele começa a te dar uma espécie de [10:24] paradigma ali um caminho para você fazer [10:27] a tua arquitetura mas depois ele te te [10:29] deixa livre para você criar o que você [10:31] deseja tá bom terceiro tópico [10:33] performance isso daqui é meio que [10:35] indiscutível tem vários E benchmarks por [10:39] aí né na internet você sempre vai ver [10:42] essa escala Jungle depois flesk depois [10:46] fash api fch api sendo mais performático [10:51] do que o Jungle do flesk e assim pessoal [10:54] e esse é um ponto em que a gente tem que [10:56] tomar um pouco de [10:58] cuidado imagina uma uma API que tem 1000 [11:03] requisições por [11:04] segundo imagina 1000 pessoas utilizando [11:08] a sua api por [11:09] segundo Isso é uma grande [11:13] utilização é claro que existem sistemas [11:16] mais globais que ultrapassam esse tipo [11:18] de requisição só que quando a gente tá [11:22] começando ali o nosso sistema até mesmo [11:24] empresas médias ou empresas médias [11:27] grandes 1000 ições por segundo é uma [11:31] margem [11:32] grande então a ideia de performance [11:36] quando a gente fala sobre essas E essas [11:38] apis né Essas frameworks perdão vai ser [11:42] somente relevante quando você tiver um [11:44] alto consumo ali do seu sistema ou seja [11:47] altas requisições eu tô falando de 2000 [11:51] requisições por segundo ou até 3.000 [11:54] 4000 aí com toda a certeza o fash Api [11:58] ganha e ganha fácil [12:00] mas a gente tem que colocar isso na [12:01] cabeça e beleza o fash Api se demonstra [12:05] mais performático do que essas outras [12:08] frameworks mas a gente tem que analisar [12:10] o contexto e agora o último caso é [12:13] mercado Vamos lá essa é uma parte [12:16] interessante porque na verdade não [12:19] existe necessariamente e uma pesquisa [12:22] muito bem formada a respeito de mercado [12:25] no entanto você vê por aí algumas vagas [12:28] você você vê por aí alguns sites que [12:30] trazem né esse tipo de utilização dentro [12:33] das empresas e para fazer esse vídeo eu [12:35] acabei dando uma olhada em alguns casos [12:38] né os números variam muito mas e a gente [12:42] sempre tem essa mesma escala o jangle [12:45] por ser um Framework já mas eh de mais [12:50] tempo no mercado de mais tempo na [12:52] comunidade do Python é ainda assim um [12:55] Framework que tem uma maior adesão então [12:58] em relação a vagas o Jungle realmente [13:01] tem uma quantidade maior de vagas Quando [13:04] você vai falar por exemplo de flesk e [13:06] fash api eles ficam ali brigando ficam [13:10] ali brigando né então você vai ter por [13:13] exemplo pesquisas que vai falar que o [13:14] flash que é ainda um pouco maior no [13:17] mercado até mesmo porque o fash Api é [13:20] uma Framework que por si só ela é um [13:22] pouco mais nova do que essas duas outras [13:25] que a gente tá falando do Jungle e do [13:27] flesk só que o fash Api é uma uma [13:30] Framework muito bem adotada ela é muito [13:32] popular Então a gente tem sim né essa [13:36] esse embate entre flask e fash api e uma [13:40] coisa que é interessante é que essas [13:42] porc você pode pegar qualquer tipo de [13:44] pesquisa na internet esses tipos de de [13:47] discrepância entre flesk fash api e [13:49] Jango não é muita Jango é levemente mais [13:55] aderido nas pesquisas que a gente acha [13:57] aqui eh do que o flask e o fash Api [14:02] então eu consigo facilmente argumentar [14:05] que essas três frameworks Elas têm sim o [14:08] seu lugar no mercado e t sim uma certa [14:11] quantidade de vagas condizente para cada [14:14] tipo de Framework é como se os três [14:16] estivessem brigando ali ainda sobre um [14:20] sobre um mesmo patamar Então pessoal eu [14:22] vou deixar agora a conclusão com você se [14:26] você perguntar para mim Ah Rafa Mas qual [14:28] que é que você mais gosta cara a [14:30] Framework que eu mais gosto de verdade [14:32] dentre essas três eu vou falar no [14:34] próximo momento Tech já tá ficando [14:36] grande esse vídeo vamos centralizar [14:38] senão vai ficar vai ter muita informação [14:40] aqui mas bom o que que você acha você [14:43] gosta mais de uma Framework do que outra [14:46] você concorda com os pontos que eu [14:48] apresentei você discorda de mim deixa [14:50] aqui nos comentários vamos conversar um [14:51] pouco sobre isso você já atravessou de [14:55] utilizar uma Framework tá utilizando [14:57] outra agora você já fez essa ração bom [15:00] vamos continuar essa discussão aqui nos [15:02] comentários eu fico por aqui Acho que [15:05] valeu né esse vídeo a gente se vê nos [15:07] nossos próximos momentos Tex [15:09] e até mais [15:12] [Música]