Como se tornar um desenvolvedor da Web Full Stack em 2020

Os desenvolvedores web full stack são o canivete suíço do mundo do código. Ter essa designação significa que você pode produzir soluções de ponta a ponta, o que é um conjunto de habilidades altamente comercializável e ágil. Mas o que é realmente necessário para alcançar esse status?

Quer você seja novo, experiente ou especializado em uma ponta da pilha, há muito para digerir aqui. Sinta-se à vontade para mergulhar de cima ou pular para onde você mais precisa de apoio.

  • Em primeiro lugar, o que realmente torna um desenvolvedor cheio?
  • Antes de começarmos, vamos falar sobre esse foco
  • Então por onde começamos?
  • a parte dianteira
  • Processo interno
  • DevOps e a nuvem
  • E quanto ao design?
  • Outras coisas se você está apenas começando
  • Outras coisas se você estiver procurando por mais

Em primeiro lugar, o que realmente torna um desenvolvedor cheio?

É divertido e confuso dizer que qualquer desenvolvedor de front end é um desenvolvedor full stack, mas ser capaz de implantar um site no Netlify não o torna full stack.

Isso não é para ser desanimador - apenas realisticamente, só que ter essa experiência não se aplicará bem a esse cargo em sua próxima entrevista. Enquanto você está tecnicamente criando e implantando seu trabalho do início ao fim, Netlify, Zeit e outros provedores oferecem a você o poder de fazer isso com suas ferramentas mágicas que eliminam a maioria das operações de pilha da equação.

Isso não prejudica o que todos somos capazes de realizar agora como desenvolvedores de front-end. O movimento crescente para compilar e implantar sites estáticos acaba de tornar esse processo mais simples na metade posterior da pilha, com benefícios gerais.

Além disso, com a flexibilidade das opções de ferramentas, como a capacidade de executar JS em um servidor, nossos conjuntos de habilidades podem ser transferidos para mais casos de uso do que nunca.

De onde viemos

O cenário de desenvolvimento da web está mudando rapidamente. O Wordpress é o rei do CMS há algum tempo, representando mais de um terço dos sites que usam um CMS e ajudando o PHP a ganhar popularidade. Mas outros trabalharam com soluções caseiras.

Isso representava uma pilha da web mais tradicional, como LAMP. Nesses casos, você tinha servidores da web geralmente executando algum tipo de sistema de gerenciamento de conteúdo e uma linguagem do lado do servidor (como PHP) que faria interface com os bancos de dados e produziria o código que seria finalmente entregue ao navegador.

Além disso, você pode ter Javascript fazendo alguns recursos interativos com CSS gerenciando a exibição da página. Agora, em alguns casos, ter um servidor Wordpress gerenciado é tudo o que você precisa para determinados hosts da web. Mas outros sites maiores exigiriam outra equipe para gerenciar esses serviços e o pipeline de implantação para colocar o código em produção.

Onde estamos e para onde vamos

Embora o Wordpress não vá a lugar nenhum, as arquiteturas sem servidor e JAMstack estão ganhando impulso. Para quem não conhece, a ideia não é que literalmente não haja servidores, mas sim usar servidores que são gerenciados para você na nuvem.

Serviços como o AWS Lambda permitem que você crie uma “função” que processa entradas e saídas simples. Anexe-o ao API Gateway e você terá imediatamente um ponto de extremidade com o qual pode interagir sem nunca ter de realmente gerenciar um servidor.

Outros, como o S3, permitem que você despeje HTML, CSS, JS, imagens e quaisquer outros ativos estáticos no armazenamento e disponibilize o site diretamente a partir dele. Nada é processado no servidor, você está simplesmente servindo os arquivos estáticos ao cliente.

A parte brilhante sobre isso é que há muito menos sobrecarga e normalmente é muito mais barato. Em muitos casos, você também obterá um grande aumento de desempenho, em que servir um site de s3 exigirá menos processamento para obter a primeira resposta ao navegador, o que pode significar diretamente uma melhor experiência do usuário.

Isso não é para empurrá-lo para o JAMstack, mas para mostrar que o paradigma da pilha completa está mudando e é algo que vale a pena olhar. Ainda existe um senso tradicional de diferença no trabalho, mas está se tornando um pouco diferente.

As equipes de DevOps agora gerenciam recursos de nuvem e implementações. Os desenvolvedores de back-end agora criam APIs e código que faz interface com serviços usando ferramentas como funções lambda. E os desenvolvedores de front end trabalham principalmente na construção de Javascript de aplicativos React ou Vue que alcançam os serviços criados por seus desenvolvedores de backend. Indiscutivelmente, isso pode ou não incluir coisas como CSS, mas isso é outra lata de vermes sobre qual título esse trabalho “oficialmente” se enquadra (spoiler: depende da equipe).

Embora ainda haja um senso dividido de deveres, a linha está se confundindo e torna mais fácil espalhar seu foco.

Antes de começarmos, vamos falar sobre esse foco

Pode ser muito tentador mergulhar de cabeça e cobrir todo o espectro de um desenvolvedor full stack, mas há algo a ser dito sobre o foco. Essa é a base da expressão “pau para toda obra, mestre de ninguém”, onde você tenta aprender um pouco de cada parte da pilha completa e nunca realmente domina nada.

Isso pode ser perigoso ao começar a tentar construir seus pontos fortes como um novo desenvolvedor. Portanto, tente avaliar que tipo de aluno você é e concentre-se onde for importante. Se você está lutando com um currículo diversificado, isso pode não necessariamente ajudá-lo a obter a experiência necessária para conseguir o primeiro emprego ou o emprego dos sonhos que está procurando.

Uma nova abordagem, por exemplo, poderia ser ter um foco individual, mas construir as habilidades de pilha completa em torno dessa força. Este pode ser um desenvolvedor front-end que pode implantar seus próprios aplicativos da web e continuar a desenvolver esse conhecimento fundamental.

Além disso, parte de ser um desenvolvedor full stack não é necessariamente capaz de dizer que conhece as linguagens x, y e z. Compreender os conceitos de design de código e software, bem como ser capaz de enfrentar qualquer desafio, empilhamento à parte, é o que torna um grande desenvolvedor.

Resumindo, tente descobrir o que é melhor para você e não deixe sua grande ambição atrapalhar sua jornada.

Então por onde começamos?

Para os fins deste artigo, vamos manter os pontos de interrupção tradicionais do que separa a pilha (front end, back end, etc.). Embora algumas pessoas digam que não é mais uma coisa, realisticamente, existem toneladas de trabalhos para desenvolvedores full stack e no dia a dia, eles se referem aos pontos de interrupção tradicionais. "Desenvolvedor full stack" definitivamente não vai a lugar nenhum.

No que diz respeito à pilha, vamos nos apoiar nas arquiteturas sem servidor / JAMstack, pois isso vai continuar crescendo. E se você aprendê-los, isso só o tornará mais comercial com o número de empregos surgindo ao redor.

Como você notará a seguir, isso não deve abranger todo tipo de banco de dados e todo tipo de solução de renderização. Um desenvolvedor forte deve ser capaz de ser flexível com suas ferramentas, chegando a compreender os conceitos de seu trabalho, em vez de ser obstinado e ser produtivo apenas em uma estrutura.

Embora você possa estar trabalhando no React e se sentir confortável com ele em seu trabalho atual (tudo bem!), Seu próximo trabalho pode ser pesado em Vue ou "surpresa!" seu líder de equipe deseja reescrever o aplicativo em Svelte. Tente entender por que você está usando uma estrutura de interface do usuário em primeiro lugar e como ela está ajudando a resolver o problema em questão.

Agora vamos entrar nisso ...

a parte dianteira

O front end de um site ou aplicativo é normalmente a interface do usuário com a qual a pessoa que usa seu serviço interage. O maior player de linguagem do jogo é o Javascript, onde você normalmente usará bibliotecas de IU como React ou Vue para gerenciar os componentes do seu projeto.

O uso dessas estruturas de IU permitirá que você crie “componentes”, essencialmente blocos de código, que acabarão produzindo HTML com a capacidade de criar interações e estados dinâmicos junto com seu código. Isso se torna realmente poderoso e, embora possa haver uma pequena curva para começar, torna-se muito agradável de trabalhar assim que você pegar o jeito.

Quer seja novo no campo ou bem experiente, você pode eventualmente encontrar o jQuery. Embora tenha seus méritos e tenha servido bem à comunidade, os recursos nativos do Javascript realmente cresceram e criaram menos demanda pela funcionalidade que o jQuery foi capaz de fornecer. Agora, os desenvolvedores baseiam-se nas estruturas de IU e no Javascript nativo.

Portanto, é bom entender o que é jQuery, mas não recomendo dedicar algum tempo para aprendê-lo neste momento. A boa notícia é que, se você conseguir um emprego que o utilize, poderá escrever Javascript nativo junto com o jQuery, portanto, aprender o Javascript vanilla em si é a resposta certa.

Então, o que devo aprender?

Se você é realmente um iniciante, reserve um tempo para aprender HTML e CSS básicos. Pode não ser tão divertido e atraente quanto cavar direto no Javascript, mas construir sobre os fundamentos do que faz a web será a chave para começar com o pé direito.

Em seguida, aprenda Javascript. Ele permanecerá rei no futuro próximo. Javascript fornecerá a base de qualquer estrutura ou biblioteca sobre a qual você construir, portanto, compreender como os bits e as partes da linguagem funcionam ajudará a impulsioná-lo em sua jornada de aprendizado do front end das coisas.

Também tornará sua vida mais fácil quando você estiver tentando entender algumas das complexidades de diferentes padrões e os conceitos por trás das estruturas que você usará.

Falando em frameworks, React e Vue são provavelmente os melhores candidatos devido à sua popularidade. React é o mais popular do grupo e vai continuar crescendo. Sua equipe está constantemente trabalhando para amadurecer a estrutura e produzir APIs que ajudarão a construir aplicativos da web modernos e rápidos.

Começar com Create React App ou Gatsby vai até mesmo ajudá-lo a ativar facilmente um aplicativo React e imediatamente entrar em uma posição onde você pode mexer no código.

Embora haja benefícios em usar pré-processadores CSS e ferramentas como o Sass, agora há uma tonelada de soluções para CSS, incluindo CSS-in-JS.

Embora colocar CSS dentro de JS tenha alguns prós e contras, não vale necessariamente a pena apontar o que usar como uma direção específica, já que realmente dependerá da equipe.

Compreender os fundamentos e o poder do CSS e como usá-lo em sua forma original ajudará a se preparar para utilizá-lo, independentemente do framework.

Recursos

  • Freecodecamp.org Certificação de Design Web Responsivo //www.freecodecamp.org/learn
  • “Coloque o Javascript: Aprenda HTML e CSS primeiro“ //www.freecodecamp.org/news/put-down-the-javascript-learn-html-css/
  • MDN Intro to Javascript //developer.mozilla.org/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript
  • Curso de email Just Javascript //justjavascript.com/
  • JSRobot Learning Game //lab.reaal.me/jsrobot/
  • reactjs.org Introdução ao React //reactjs.org/tutorial/tutorial.html
  • Gatsbyjs.org Tutorials //www.gatsbyjs.org/tutorial/

Processo interno

No mundo JAMstack, o back-end geralmente se refere às APIs que nossos front-ends usam para criar experiências dinâmicas, interagindo com pontos de extremidade do cliente (como aqueles em APIs CRUD). Ser capaz de fazer essas solicitações do cliente eliminará a necessidade de fazer qualquer um desses processos antes de a página ser exibida no navegador.

Embora você não deva sentir que só pode codificar em uma linguagem, ser capaz de escrever em Javascript oferece uma boa vantagem aqui, pois você pode desenvolver os fundamentos do trabalho com o back end das coisas com uma linguagem familiar (ou vice-versa com o front-end).

NodeJS é um runtime comum que você encontrará na maioria dos ambientes de nuvem como uma opção e lhe dará uma experiência semelhante ao que você esperaria em um navegador. A principal diferença é que você não terá acesso a certas APIs do navegador nem haverá um windowobjeto e as APIs associadas a ele.

Dito isso, Python também é outra linguagem popular e está crescendo, especialmente devido à sua popularidade na comunidade de ciência de dados e engenharia. PHP e Ruby, embora ambos sejam válidos e ofereçam opções no mercado de trabalho, não parecem ser tão populares e não têm uma tendência de crescimento geral como Javascript e Python.

Com o idioma de sua escolha, sua melhor aposta será aprender como criar serviços em nuvem com os quais seus aplicativos possam interagir.

A criação de um lambda simples com o qual você pode brincar, seja na AWS, Netlify ou qualquer outro provedor de nuvem, dará a você uma boa experiência quanto ao que você pode esperar ao trabalhar em campo.

E mesmo que você não desenvolva diretamente em um lambda no trabalho que encontrar, poderá começar a se familiarizar com os conceitos fundamentais para trabalhar com o back end. E, por fim, você usará essas funções para se conectar a outros serviços e bancos de dados para criar seus próprios serviços dinâmicos.

Então, o que devo aprender?

Se você já está trabalhando para aprender Javascript no front end, continue usando Javascript no seu backend. Gire um lambda usando funções do Netlify, onde você só precisa se concentrar no código e o Netlify cuida do resto (como realmente construir e implantar sua função).

Com sua linguagem de escolha e primeira função, tente começar a trabalhar com outros serviços em seu código para obter experiência de trabalho com APIs de terceiros.

Talvez construa um endpoint que possa enviar um tweet usando a API do Twitter (mas não abuse). Aprenda como criar um banco de dados e configurar sua função para fazer interface com ele em um padrão CRUD, o que lhe dará um caso de uso mais realista de como um aplicativo típico pode interagir com um back-end.

Seu objetivo aqui deve ser criar serviços com os quais seu front-end interagirá por meio de um endpoint para realizar operações para a pessoa que usa seu aplicativo. A boa notícia é dada a dinâmica da nuvem, você terá uma tonelada de opções e opções gratuitas ou níveis, para começar a brincar.

Recursos

  • “Super simple start to serverless” //kentcdodds.com/blog/super-simple-start-to-serverless
  • “Buildingless CRUD apps with Netlify Functions & FaunaDB“ //www.netlify.com/blog/2018/07/09/building-serverless-crud-apps-with-netlify-functions-faunadb/

DevOps e a nuvem

O DevOps surge da necessidade de ser capaz de criar soluções que suavizem e acelerem o processo de obtenção do código das pessoas que o escrevem para um estado implantado.

Este trabalho pode variar de muitas responsabilidades a algumas, seja escrever scripts bash para uma solução personalizada ou escrever um modelo CloudFormation que cria todos os recursos necessários para um aplicativo ser executado.

Normalmente, você encontrará isso incluído como parte de uma orquestração maior de fluxos de trabalho de CI / CD que automatizam o processo de construção e implantação.

E isso está mudando constantemente! Dado o boom sem servidor, surgiu a estrutura sem servidor que gerencia muito disso para você de uma maneira mais fácil, o que até levou a AWS a criar sua própria solução SAM. Ferramentas como Jenkins já existem há um pouco para a parte CI / CD das coisas, mas agora você está vendo o Github, Gitlab e outros provedores de controle de origem fornecerem suas próprias soluções e ferramentas como o CircleCI que se conectam diretamente ao seu projeto.

Também não é perfeito ainda - escrever modelos do CloudFormation é assustador. Escrever scripts de automação também não é o mais divertido, embora seja super gratificante quando funciona!

Mas isso está ficando melhor, que é onde produtos como Netlify e Zeit se encaixam. Enquanto eles se baseiam mais no lado da hospedagem estática, onde você compila seu aplicativo e o despeja no armazenamento, suas ofertas estão crescendo, como as funções do Netlify que são na verdade, apenas AWS Lambdas, que são mais fáceis de configurar e implantar em um endpoint totalmente funcional (é realmente muito fácil).

Então, o que devo aprender?

Se esta é sua primeira vez configurando esse tipo de coisa, comece com o Netlify. Configure um aplicativo React ou até mesmo um arquivo HTML simples em um repositório Github, conecte-o a uma nova conta Netlify e observe sua implantação.

A partir daí, ou se você já tiver um pouco de experiência, comece a ficar curioso sobre o que está acontecendo nos bastidores. O Netlify provavelmente está pegando seu código, executando os comandos que você configurou (como yarn build) em um ambiente virtual, despejando os arquivos embutidos no armazenamento como S3 e colocando um CDN na frente dele como o CloudFront para servir a partir de um endpoint.

Primeiro, tente fazer isso manualmente em seu computador usando o console da AWS e seu CLI, em seguida, escreva um script para automatizar todo o processo de integração com o Circle CI em seu projeto Github em vez do Netlify para que ele seja realmente implantado na AWS.

Levar isso a um degrau incluirá serviços com os quais seu back-end pode interagir. Você tem um banco de dados que seus serviços usam? Você pode automatizar a rotação desse banco de dados usando CloudFormation ou scripts bash.

Tratar sua infraestrutura como um código com recursos descartáveis ​​e facilmente recriados ajudará você e seus projetos a se tornarem mais flexíveis e ter uma melhor capacidade de voltar a funcionar em caso de falha.

E tudo isso vale para qualquer provedor de nuvem ou CI / CD, não apenas AWS e Circle CI. Escolha sua nuvem favorita e ferramenta de fluxo de trabalho e execute-a. A questão é: comece a observar as necessidades do seu projeto e investigue o que realmente está acontecendo nas partes automatizadas da pilha. Isso o ajudará a aprender mais e ter mais recursos para as necessidades do seu projeto.

Recursos

  • “Um guia passo a passo: implantação no Netlify” //www.netlify.com/blog/2016/09/29/a-step-by-step-guide-deploying-on-netlify/
  • “Configurando um site estático” //docs.aws.amazon.com/AmazonS3/latest/dev/HostingWebsiteOnS3Setup.html
  • “AWS Certified Cloud Practitioner Training 2019 - Um curso de vídeo gratuito de 4 horas" //www.freecodecamp.org/news/aws-certified-cloud-practitioner-training-2019-free-video-course/
  • Consulte os recursos Javascript no Front End acima

E quanto ao design?

Sim, você deve entender os fundamentos do design. Não, você não precisa ser um designer.

Existem muitos aspectos sobre o design que irão acelerar suas habilidades como desenvolvedor. Embora todos nós saibamos que os designers visuais e UX produzem mágica, ter um conhecimento básico pode evitar que seu aplicativo se torne uma grande decepção.

Todos no processo de desenvolvimento estão trabalhando em direção a uma meta que afeta o usuário final de uma forma ou de outra. Ser capaz de entender quais necessidades seu trabalho está tentando resolver e como isso afeta os usuários ajudará a equipe como um todo a desenvolver uma solução final mais abrangente.

Considere um desenvolvedor de back-end criando uma API para permitir que alguém gerencie usuários em um aplicativo. Os requisitos da API são bastante enxutos e incluem apenas o nome do usuário. Fornecer isso como um único campo de “nome” em vez de “primeiro” e “último” pode não ser a solução mais intuitiva para a maioria. Mas pode ser um descuido que complica a forma como o desenvolvedor de front end expõe isso na IU, o que dificultaria a exibição do desenvolvedor ou confundiria o consumo do usuário final.

Além de tudo isso, o design pode impactar diretamente a conversão. Se você estiver construindo no espaço de comércio eletrônico, ter um botão que não se parece com um botão pode impedir as pessoas de adicionar um produto ao carrinho. Isso, é claro, evitará uma compra, que resulta em perda de receita. Entender como humanizar a IU, mesmo em um sentido básico, pode literalmente fazer seu projeto mais dinheiro ou simplesmente ajudar alguém a usá-lo com mais facilidade.

E o mais importante, você deseja que seu site seja acessível. Muitas pessoas têm necessidades diferentes, independentemente de não conseguirem ver as mesmas cores ou ouvir os sons que seu aplicativo produz, você deseja reconhecer as necessidades dos outros e tentar projetar de uma forma que torne seu aplicativo utilizável por todos.

Então, o que devo aprender?

Embora eu não espere que você faça um curso inteiro para isso, tente ser consciente e curioso. E talvez da próxima vez não pule aquele artigo de design que você viu no twitter do freeCodeCamp.

Ao criar soluções, tente imaginar como seu trabalho será usado. O que os outros desenvolvedores de sua equipe precisarão de sua API? O que as pessoas que usam seu aplicativo precisarão de sua interface?

Você também pode tentar se inspirar no que outras pessoas estão fazendo em seu espaço. Como você esperaria que um aplicativo fosse ao fornecer uma funcionalidade semelhante? Esta não é uma licença para copiar ou roubar, mas você deve entender as necessidades que a solução deles está resolvendo. Considere por que o botão Adicionar ao carrinho é tão grande, por que eles estão dando aos usuários a capacidade de ampliar a foto de um produto ou como você pode tornar o design de uma mesa um pouco mais utilizável.

Quanto à acessibilidade, tente aprender o básico. Há uma quantidade crescente de recursos disponíveis para ajudá-lo a entender as necessidades dos outros. Tente entender quais deficiências existem e como elas podem afetar o uso do seu aplicativo. Veja alguns padrões comuns sobre como lidar com essas preocupações.

Na maioria das vezes, não é muito difícil incorporar e, se você adquirir o hábito de fazer isso desde o início, nem pensará nisso na próxima vez que construir um aplicativo.

Recursos

  • Design for Developers //thoughtbot.com/upcase/design-for-developers
  • Hack Design //hackdesign.org
  • Design for Hackers //designforhackers.com/
  • Introdução à acessibilidade na web //webaim.org/intro/

Outras coisas se você está apenas começando

Muito deste artigo assume que você conhece alguns dos princípios básicos, como entender o que é git e o controle de origem ou simplesmente ter seu editor de código configurado. Se você está realmente apenas começando, vai querer pelo menos ter uma compreensão simples desses conceitos, já que rapidamente se tornará mais desafiador sem eles.

Também há algo a ser dito sobre como aprender a usar seu terminal. Pode ser opressor não usar uma GUI se você for novo, mas assim que começar a trabalhar, você descobrirá rapidamente que será mais produtivo usando um terminal e muitos projetos exigem o uso de terminal de qualquer maneira.

Então, o que devo aprender?

Em primeiro lugar, configure seu editor de código. O código do Visual Studio está na moda agora, mas existem outros que irão atendê-lo bem dependendo de suas preferências, como Atom ou Sublime Text. Você até encontrará IDEs baseados em nuvem, como Repl.it, ou pode apenas começar com uma barreira de entrada menor, brincando no CodePen ou JSFiddle.

De qualquer forma, quando estiver pronto para começar a codificar, você quer entender o que é o controle de origem, onde git é o maior jogador no momento. Git é uma ferramenta poderosa que permite rastrear mudanças no código e se tornar mais produtivo colaborando com outros desenvolvedores.

Você vai querer se familiarizar com alguns dos comandos básicos do git, como adicionar novas mudanças, bem como o que são branches e como usá-los. Git é um mundo enorme, você não precisa dominá-lo imediatamente, você aprenderá rapidamente que há uma quantidade infinita de coisas novas para aprender em sua jornada para dominar seu git fu.

Para muitas ferramentas que você usará, existem GUIs disponíveis, como o GitKraken, mas você ainda estará um pouco limitado com o que pode fazer. Aprender a lidar com os terminais padrão em sua máquina ou baixar outras opções como iterm2 (minha preferência) ou Xterm.js será sua melhor aposta. Bônus: você se sentirá como um hacker de filme toda vez que o usar (ou sou só eu?).

Recursos

  • Introdução ao código do Visual Studio //www.codecademy.com/articles/visual-studio-code
  • Recursos Git do Github //try.github.io/
  • Aprenda git ramificando o jogo //learngitbranching.js.org/
  • Introdução à linha de comando do Mac //blog.teamtreehouse.com/introduction-to-the-mac-os-x-command-line

Outras coisas se você estiver procurando por mais

Há muito mais coisas com as quais você pode ir rapidamente para a toca do coelho. Lembre-se de não espalhar seu foco e tentar não se sobrecarregar. Mas se você está se sentindo muito bem onde está, existem alguns outros conceitos que só o ajudarão quando você enfrentar os desafios do mundo real.

Teste e as diferentes metodologias

Escrever código é uma coisa, mas ser capaz de configurar testes eficazes ajudará a fortalecer seu código e evitar que bugs apareçam. Você não quer desperdiçar seu tempo futuro ou mesmo custar o dinheiro do seu produto quando o site cair. Aprender como escrever testes e as diferentes abordagens é importante para solidificar seu código.

Ferramentas de navegador como Chrome DevTools

Uma das ferramentas mais poderosas que você pode ter ao depurar, na minha opinião, é ser capaz de depurar seu aplicativo no navegador.

Seja observando como o DOM está sendo renderizado, brincando com o CSS ou depurando suas solicitações de rede, você aprenderá rapidamente como economizar tempo e identificar com mais facilidade de onde o bug está vindo.

HTTP e como depurar solicitações no painel de rede

Como a web é baseada na Internet, seu aplicativo acabará por fazer solicitações a outros servidores. Quando isso acontece, entender os pontos de estrangulamento da solicitação ou simplesmente como uma solicitação está sendo feita pode ajudá-lo a entender por que seu aplicativo parece lento ou por que o botão Salvar não está funcionando.

Ter um entendimento básico de como as solicitações funcionam e como visualizá-las para depuração será um grande passo em sua jornada.

Software de código aberto e gerenciadores de pacotes

Esta não é tanto uma habilidade ou ferramenta para aprender, mas uma forma de distribuição de software. Ao começar a construir soluções de código, você descobrirá que muitos de nós dependem de pacotes de código aberto. Na maioria das vezes, é por meio do npm se você estiver escrevendo Javascript, o que nos ajuda a nos tornarmos mais produtivos, sem ter que reinventar a roda toda vez.

Passe algum tempo entendendo o conceito de código aberto e até considere retribuir contribuindo com seu projeto favorito. Dar uma mãozinha é geralmente muito apreciado, vai ajudá-lo a ganhar experiência e você pode até conseguir alguns ganhos grátis em seu primeiro pedido de pull aprovado! Basta ser respeitoso lá fora, há também uma pessoa real do outro lado do pedido.

O quê mais?

Essa lista pode durar para sempre, pois há muito no mundo da codificação. O que mais você acha que é importante na jornada de alguém para se tornar um mestre em desenvolvimento? Envie-me um tweet ou DM se você acha que estou perdendo algo importante!

Você está no fogo! Juntando tudo

Com toda a experiência que você acumulou com os itens acima, você deve ser capaz de criar um aplicativo inteiro do início ao fim sozinho. Você entende o poder que você tem?

Aqui é onde a diversão começa. Tente criar um novo aplicativo - não importa o que seja, apenas crie algo. A melhor coisa que você pode fazer para aprender é ganhar experiência fazendo. Não importa se é um dos milhões de tutoriais de tarefas que você encontrará ou aprendendo a programar construindo uma das maiores redes sociais como o criador do Instagram.

A partir daqui, você deve ser capaz de criar:

  • Um front-end de aplicativo da web executado no navegador
  • Serviços de back-end para os quais seu aplicativo da web pode fazer solicitações por meio de endpoints
  • Escreva um script para conectar a uma ferramenta CI / CD para automatizar seu processo de construção e implantação
  • Bônus: tomar boas decisões sobre a aparência de sua interface para que as pessoas possam realmente usá-la!

Vá em frente e construa! Compartilhe conosco sua jornada de desenvolvimento no Twitter usando a hashtag #codejourney. Adoraríamos saber mais sobre onde você esteve e o que construiu ou para onde está indo e o que deseja construir.

Siga-me para mais Javascript, UX e outras coisas interessantes!

  • ? Siga me no twitter
  • ? ️ Assine o meu Youtube
  • ✉️ Inscreva-se no meu boletim informativo