olá sejam todos muito bem vindos a estreia da série sobre em do js meu nome é rodrigo granas autor do livro em bogotá esses eixos que foi lançado pela editora tecto pib neste primeiro episódio nós vamos falar sobre a introdução ao framework em js contando um pouco da sua história é falar um pouco sobre seus objetivos quem está usando quais são as razões que utilizar e vão fazer também um hello ouro para a gente aprender a dar os primeiros passos nessa nova tecnologia tá bom pessoal o encontro é um framework para que a gente possa desenvolver aplicações web utilizando a linguagem javascript apesar que já existem versões também pra outras linguagens como é o caso do da arte tá bom esse framework ele vai nos permitir fazer a estruturação a nossa aplicação em camadas super bem definidas tá bom vai permitir também a criação de componentes reusáveis modularizadas ou seja há um alto grau de reuso né quando a gente está usando ainda js então isso vai permitir estrutural aplicação é é de uma forma muito bem feita tá bom além disso a gente já tem um bar cadu no fêmur toda a estrutura necessária para integrar com um backhand por ajax ou seja a gente não vai precisar baixar nenhuma nova ferramenta né o biblioteca para fazer isso foi o que também facilita bastante a automação dos testes ele já traz é é nativamente um fêmur chamado ng moc que vai nos permitir é injetar componentes nos testes seja usando jacini seja usando tecnologia e isso é muito facilitado né no embalo da js pessoal e foi criado pelo místico harry e o adu é brunssum mês com harry é esse rapaz da direita e adeptos não é o da esquerda na verdade nunca encontrei falta sobre adão e eva se eles criaram o projeto em 2009 inclusive o nome em ângulo a js se refere é o em gol pra que né a abertura das tags html tá bom na verdade o objetivo deles ao criar o prémio que em 2009 foi facilitar a criação de aplicações web porque é já pensou quanto o código quanta coisa a gente precisa criar aplicação web simples nessa gente considera a linguagem sair como java a gente vai precisar a aplicação já precisar de um descritor né como web xml pra gente especificar qual é a rota até chegar aos nossos cérebros vamos fazer decorre vão fazer bild e aí muitas vezes isso leva um certo tempo tá bom é tempos depois é o risco harry foi trabalhar no google então na verdade o mj é se não foi criado pelo google ele foi adotado posteriormente então o mesmo harry foi trabalhar no google no projeto chamado google feedback que aquele projeto que serve para que os usuários dêem opiniões sobre é diversos tipos de projetos do google e aí o município encontrou um cenário um pouco difícil é que esse projeto já estava com 17 mil linhas de código e seis meses depois estavam sentindo muita dificuldade em evoluir tava sentindo é que a produtividade já não estava mais muito boa então ele fez uma aposta com o gerente dele de que ele conseguiria reescrever imaginem vocês todo o projeto em apenas duas semanas mas com uma condição que ele utilizasse frei porque tinha desenvolvido tempos antes né que é exatamente o em lá onde ele topou a aposta né ele não conseguiu receber ver tudo em duas semanas conseguiu em três não é pouco tempo depois só que o mais espantoso foi que ele conseguiu inscrever o projeto apenas 1500 linhas então há uma redução muito grande na quantidade de código produzido e esse é um dos principais motivos pelos quais a gente deveria pensar em adotar o windows aparece nossos próximos projetos porque ele realmente é um frango produtivo tá bom nome descobrir porque é obviamente isso gerou uma repercussão muito positiva dentro do google claro que não foi fácil é começar a divulgar o fêmur que internamente e ganhar novos projetos porque claro google já tinha o gwt google web toolkit muito enraizado nos seus projetos mas pouco a pouco né o eu jogar estou ganhando terreno do google é no ano passado foi divulgado no níger koff de que o google já tinha cerca de 110 projetos utiliza a js esse número só vem crescendo já que cada vez mais novas pessoas é ver entrando no google já conhece o freiburg e vão obviamente influenciar as decisões técnicas dos novos projetos é bom é interesse pelo frango que o pessoal vem crescendo cada vez mais né não surgiu em 2012 e aí a gente pode ver esse gráficos e gráfica fantástico ele compara é 4 foi moxi bibliotecas tá que são caminhos que os desenvolvedores podem tomar quando vão escolher um framework para desenvolver aplicações de front end aplicações em java script está bom então a gente está analisando ainda js o beque bom djs o embrulho js o nocaute tá então repara que esse é o ano de 2012 o ano 2012 começou em dólar só lá na metade se a gente for ver aqui cerca de maio para junho é que o frio começou a ganhar um pouco de terreno tá bom a gente tinha já um domínio do bec bom que tem vermelho vocês podem ver que ele está bem acima do ano no princípio tá e aí vocês vejam que a primeira versão 1. 0 né foi realizada em 2012 no dia 13 dos seis de 2012 e aí no final do ano ela já tava superando já estava empatando e conseguindo superar o interesse aí o trend em comparação ao back bone pessoal 2003 foi impressionante olha que subida vertiginosa do angulata que aí tem um marco importante no mês 11 quando lançou sua versão 1. 2 eu comecei a mexer no ângulo ela é no final de 2012 tá então eu peguei a seus bem iniciais eu tenho um produto desenvolvido até hoje com a versão 1.
0 etá em super bem tá bom aí é 2013 então a gente tem essa subida vertiginosa você vê que há uma queda também um pouco no backbone 2014 pessoal foi um grande ano problema foi o ano que muitas instituições é é de grande porte começar a enxergar é o evento como uma coisa boa começar a adotar eu mesmo participei do processo de treinamento de capacitação de muitas dessas organizações o brasil tá então vocês vejam que o erro começou a subir cada vez mais até que né em 2015 olha como é que a gente já tá muito acima da concorrência e isso é uma coisa importante com a gente quando a gente vai decidir por uma tecnologia e outra que é engajamento de comunidade está bom é importante a gente escolher um treinador que tenha futuro que tenha pessoas engajadas desenvolvendo ferramentas envolvendo frimor integrando bibliotecas existentes tá bom dando suporte foi fóruns livros em blogs em tudo que a gente possa imaginar tá certo então esse é um pouco do interesse pelo funk na comunidade usando angolano hoje em dia eu gosto de falar dos cases interessantes nem a nasa está usando angolanos o foguete mas aí alguns é sites não é como esse é o youtube do playstation é feito também em angola um produto saído ao mar ti têm produtos como o planck é é uma ferramenta para a gente desenvolver projetos na web de forma bem colaborativa tá certo o doubleclick é um case super interessante se vocês quiserem é depois pesquisar no próprio youtube você tem palestras sobre é pessoas que participaram da equipe do doubleclick que foi um produto adquirido pela google é que foi migrado para a js um grande case é um projeto que tem muitas e muitas linhas de código escritas e vale a pena conhecer um pouco mais tabom pessoal é por que eu deveria usar regula essa pergunta que muita gente me faz e eu vou dar algumas respostas tá se você quer ser produtivo eu acho que você deveria pelo menos considerar bom uma grande marca do mjs a sua produtividade porque porque a gente está escrevendo muito menos código por conta do alto grau de reuso que a gente tem o uso de componentes de uma forma super declarativa tá e também casa do tio e data-base em que mantém a viu e o controle como a gente vai ver a seguir sincronizado então e se evita uma novidade de código imperativo aquele código bola plate que a gente fica fazendo jet set o tempo todo de um lado pro outro tá certo então o ângulo é um prêmio que superprodutivo nesse sentido está outra coisa importantíssima de levar em consideração é continuidade que esse tema que vai ter não sei se alguém é é que está nos assistindo já teve a infeliz experiência de estar usando uma tecnologia seja ela qual for uma biblioteca um frame e essa tecnologia será descontinuada no meio do seu projeto com a língua e isso acontece porque ele é desenvolvido pelo google em primeiro lugar hoje ele é mantido pelo google há uma equipe dedicada com uma quantidade de felizes impressionante tá certo a gente tem que fazer não só uma frente do projeto a gente tem várias frentes têm a linha desenvolvimento do enredo que está na versão 1. 4 tem uma nova versão 2. 0 vindo por aí que tem outra frente engajada tem angular da arte tem várias frentes então bem no google.
com pessoas super qualificadas além do engajamento brutal da comunidade você pode ver tudo isso em um hit run na quantidade de público é se é bem impressionante e é isso que faz com que é esse tremor seja tão popular nos dias de hoje tá bom pessoal e um dos principais fatores também a comunidade porque se a gente pensar bem comunidade é tudo a gente tem suporte a dúvida se uma quantidade enorme de livros já eu sou uma das pessoas que escreveu um livro sobre a língua mas eu sei que existem aí mais de 20 livros escritos sobre essa tecnologia tem blogs têm vídeos como esse que vocês estão assistindo fóruns próprios técnicos flu tem uma quantidade impressionante de travis falando sobre angola sobretudo que você possa imaginar de dúvidas é bom quando é que eu trabalho com ela já a há cerca de dois anos e meio e está há três anos quase o som dos pioneiros no trabalho com ele ou eu já passei por todos os cenários que possa imaginar essa tecnologia e sempre fui muito bem respaldado pela comunidade tá bom além disso a gente tem lançamento de ferramentas bibliotecas integração um produtos existentes por exemplo richards boots crepe vários outros né você tem aí hoje componentes disponíveis para que possa integrar tá bom pessoal e tem um outro aspecto importante você quer contratar novos profissionais têm um número crescente de pessoas estudando essa tecnologia você quer reter os seus atuais profissionais faça alguma coisa que traga é um pouco mais de retenção de de engajamento né na sua equipe e uma delas a gente pode ter é começar a investir em tecnologia de ponta como o próprio nome já está bom pessoal é o trator também que é muito legal é um ponto muito positivo é que ele é totalmente escrito em java script isso quer dizer que a gente está trabalhando totalmente no front end né e aí a gente tem uma enorme vantagem está certo porque como vocês sabem o protocolo http ele é stay thrillers então uma grande dificuldade dos prémios de black and né a gente pode citar vários o próprio jsf outros temas como wikis e outros frameworks é baseado até em outras linguagens como php python ruby e ele certa a gente ter o tempo todo a sincronização de estado ou seja o nosso objeto de sessão ele costuma ser bem grande imagina você tem aí transições entre abas você tem que manter estado seja ele qual for tudo acaba indo parar na sessão já tá no front end é muito mais fácil desenvolver aplicações mais ricas ou seja as aplicações que a gente tem grande número de interações tá certo então o javascript uma linguagem superprodutivo há pouco burocrática e fácil né uma curva de aprendizado aí fácil para quem está começando tá bom agora isso pode gerar preocupação quer dizer que toda aplicação vai rodar no browser do cliente então vai e aí algumas coisas aparecem por exemplo a que funciona em todos os browsers pessoal o irã é um projeto não é assim como seus é é contemporâneo sair outros projetos que também tem o mesmo propósito são extremamente amigáveis e interoperáveis entre browsers ou seja eles abstraem muito bem as diferenças que existem entre os browsers e o ângulo roda tranquilamente em todos os browsers tanto desktop quanto mobile com uma restrição o internet explorer 8 começou a ser descontinuado a partir da versão 1. 2 a 1. 2 ainda suporta com restrições a 1.
3 já não suporta mais fora isso tá super tranquilo e ele vai funcionar muito bem em todos os browsers tá bom é que fica a questão de performances outra dúvida que muita gente tem né bom agora estou levando tudo clientes quer dizer que eu vou onerar mais a performance é bom claro um pouquinho já que você vai tá mandando é o teu cliente tem a responsabilidade por exemplo de renderizar dados numa tabela né de fazer alguns cálculos aí pra exibição o conversão transformação de valores então a gente sempre tem que ter um pouco de bom senso como desenvolver qualquer tipo de aplicação se transferir mundiais onde 30 médio mandar renderizado obviamente vai travar o browser então desde que a gente siga é preceitos básicos aí de performance é a gente vai ver que vai ser super tranquilo tá certo a gente vai falar bastante sobre performance nessa série tá bom eu tenho muita dica pra passar para vocês principalmente no uso de filtros na interpelação de expressões tá tem muita coisinha aqui vale a pena tomar cuidado tá certo mas a performance é um dos focos também da equipe que você ter uma idéia da versão 1. 2 campo 3 leila estudos né de performance de benchmark revelam que está 4. 4 vezes mais rápido ele está mais rápido ele está gastando menos memória então há um engajamento muito grande da equipe de desenvolvimento do framework em melhorar performance mas ainda depende muito dos desenvolvedores tá bom escrever código que seja mais performático outra coisa mas ea segurança do código poxa meu código vai trafegar aberto até o front end está com alguém pode roubar meu código olha claro que pode só que a gente tem é várias soluções para isso entre elas a unificação pessoal do malinês código dá pra entender alguma coisa dificilmente tem duas grandes vantagens nisso tá certo qualquer projeto que tenha javascript e de certa forma deveria fazer isso ea gente vai ter uma um episódio aí em que a gente vai falar bastante sobre a ferramenta grande e aí vão abordar o clubinho de funk faz exatamente esse trabalho tá isso em episódios é futuros mas em linhas gerais que vai acontecer são dois aspectos um deles é reduzir o tráfego está bom então momento em que a gente nem fica o nosso código javascript a gente está eliminando espaço em branco comentário renomeando variável local está certo então você imagina que há uma redução de 30 a 40% dependendo o código se inscreva então só isso porque ele tem um cliente que acessa pouco né rede móvel então você vai ter um ganho outra coisa segurança já que a gente vai tá perdendo semântica ao renomeá variável local vai dificultar bastante entendimento do código está certo que muita gente escreve um código aí ruim o suficiente para ser dignificado né mas é vamos dar uma ajudinha e deixar-se código ainda mais difícil tá bom pessoal então esse é um processo durante o bild da aplicação tá claro que não vai desenvolver a aplicação desse jeito e aí é ele vai acontecer de forma automatizada como a gente vai ver né no capítulo posterior aí sobre o grande acerto é voltar um pouquinho sobre a arquitetura do frei muito bom em gravatá é se ele segue uma arquitetura muito bem definida tá aí agora vale a pena a gente falar pô mas o que que a arquitetura qual a diferença entre arquitetura e design essa pergunta que eu faço bastante né é na verdade pessoal a futura diz respeito à parte mais tecnológica do projeto você vai você vai desenvolver esse projeto em que a linguagem que você vai usar a injeção de dependência vai usar contexto de persistência estendidos e vai usar 11 é requisições a cinco anos vai enviar esse uma fila bom tudo isso é requisito de arquitetura agora quando se fala em design e design a beleza design a interação entre os objetos entre duas camadas a maneira como esses objetos relacionam de uma forma coesa tá bom e nesse sentido do design pessoal a gente tem um padrão aí chamado mvc que eu tenho certeza que todos vocês já ouviram falar ou já de certa forma usar um é em algum momento aí das suas vidas e esse padrão foi criado por esse cara que o rascal ele é um norueguês sair da universidade de oslo tá pessoal na verdade os olhares que também é responsável pelo simula a primeira linguagem cada objeto é de 67 o rascal criou esse padrão em seguida em 78 eo paper superlegal vale a pena é dar uma lida depois para interagir com essa máquina da xerox que tinha mouse então o controle era responsável por interagir com dispositivos externos enquanto havia um modo ou ficavam sincronizados e pode compensar agora porque só tem a ver com a aplicação web realmente não tem nada né o mbc que a gente que a gente tenha uma coisa extremamente filosófico extremamente é indiscutível ea gente tem vários outros padrões como evitar cmvm e aí o ângulo quando foi feito foi feito em cima de um conceito do mbc que foi muito criticado muita gente começou a reclamar dizendo assim por mais um envelhecer na verdade mvp que o modo vil presente outros falavam mvm que o modo houve um módulo e aí os autores do frango que se cansaram um pouco dessa discussão e aí declarou que agora ele é mvw que o módulo viu o ar é ver inclusive só entrar no site do ego você vê que está lá modo viu o ar é ver o framework e isso é uma coisa bem interessante mas o principal dessa discussão é que ele separa muito bem as responsabilidades tá bom pessoal esse é o nosso principal objetivo é quando tá é concebendo nosso conceito arquitetural e do frango é bom é vamos dar uma olhadinha agora muito importante está então a gente tem esses três conceitos fundamentais né que a gente tem que entender agora para conseguir os primeiros passos então a baixo em vez de a gente tem a camada de vilta que é onde a gente vai escrever tá certo a nossas telas em html com leves toques de javascript mas mais com a gente em colocar alguma função pra gente chamar né alguma coisa tá depois atrás da vitória a gente tem isso que o controller que a gente já viu que é bem aquele padrão modo que o controle do hilux quando na verdade é é mais um suporte essa viu ela vai fornecer toda a infraestrutura necessária para essa viu só que tem uma coisa interessante controller não conhece a viu ea viu também acabam conhecendo os detalhes do controle como é que esses dois se conhecem vamos falar um pouquinho então de um salário prático quando estava no restaurante né você vê a sua comida você não tem idéia de onde ela veio quem fez tá certo você fala navio que estava na cozinha ou falar no controle também prepara as coisas que havia o consome só também não sabe a quem vai como é que vai ser usado não é de fato e aí tem uma coisa entre esses dois que é o garçom que esculpe então vamos voltar um pouquinho aqui e entender que o school que faz a interligação entre o controle e avilta certo com os culpe um objeto compartilhada entre as duas pontas então tudo o que é gente seta em esculpe a viu acabar tendo acesso e vice-versa tá bom pessoal ea gente vai dizer que existiu ainda da band entre esses dois tá então a um ciclo de notificação que avisa sobre alterações feitas nos cubos culpi vale lembrar que não é um modo tão certos cooper somente essa ponte entre viu e controle então relembrando viu é eo que o seu cliente está vendo né o controle é responsável pelo que a viu consome o escopo faz a mediação entre viu e controle tá bom pessoal vamos então começar a falar sobre o nosso revelou ouro agora a gente vai dar os primeiros passos o freiburg está certo e para isso vocês vão precisar entrar no site e jotaesse ponto org clicar no botão azul né para baixar a versão né pode ser a 1.
3. 1 15 que a última versão lançada ou no momento em que vocês assistirem o vídeo peguem a versão mais atualizada quando você clicar em baixar se vai poder baixar três fora de três formas da owen no ponto js ou em 2. 1.