O que saber sobre o desenvolvimento web - Casa de la madre
Você sabe como decifrar a linguagem dos desenvolvedores web? Voltar para algumas palavras e expressões que serão muito úteis para você entender o jargão dos devs.
Se como eu você tem uma conexão com o digital , certamente já ouviu conversas entre desenvolvedores. Quando entrei no ambiente digital /web, fui de paraquedas em um espaço aberto onde 95% dos ocupantes eram desenvolvedores web . E eu não entendia nada, absolutamente nada, do que eles falavam (isso ainda acontece às vezes… 😄)!
Não intervim em seus projetos e mesmo assim achei muito frustrante não entendê-los .
Então eu me coloco no lugar do cliente ou do gerente de projeto , que não necessariamente tem formação técnica , e que se encontra no meio de uma conversa técnica com um desenvolvedor…
Aqui está um pequeno vislumbre dessa linguagem muito misteriosa que ouvimos em um espaço aberto cheio de desenvolvedores…
Nem todos os desenvolvedores têm o mesmo trabalho…
Vamos começar pelo início: você sabe a diferença entre a frente e a parte de trás ?
Convido você também a ler este artigo sobre a profissão de desenvolvedor , publicado pelo desenvolvedor do grupo (sim, são raros!).
A extremidade dianteira
Esta é a face visível do código, o que o usuário vê na tela e com a qual ele pode interagir : botões, sliders, menus, fontes, animações… o web designer planejou a montante.
Ele usa linguagens de programação do lado do cliente (HTML, CSS, Javascript…) .
Seus papéis:
Solicitar informações de desenvolvedores de back-end e exibi-las para o usuário;
Gerenciar as ações do usuário;
Passe informações/solicitações para o back-end .
É a face submersa de aplicativos e sites. É invisível para os visitantes , mas é absolutamente essencial: é até o coração do aplicativo . Sem um back-end, seu aplicativo pareceria um shell vazio!
O desenvolvedor back-end usa linguagens de programação do lado do servidor (PHP, Ruby, SQL, etc.).
Coletar informações do banco de dados, formatá-lo e enviá-lo para desenvolvedores front-end ;
Colete as informações enviadas pelos desenvolvedores front-end para salvá-las no banco de dados.
Também conhecido como desenvolvedor full-stack . É o pequeno gênio aquele! De frente, de costas, ele sabe fazer tudo…
Um pequeno conselho: acima de tudo, não faça uma comparação entre os desenvolvedores de trás e de frente , isso pode incomodá-los! Ouvi dizer que desenvolvedores de frente não são desenvolvedores de verdade… (diz um dev de volta 😋) E no lado de trás não podemos codificar sem criar bugs (Adivinhe: diz um dev de frente ).
Git, sua ferramenta favorita!
Git ? Filial ? Suéter ? Empurrar ? Mesclar ? PR ? Produção ? Pré-produção ? e assim por diante… É o dia a dia dos desenvolvedores: tenho a impressão de que só falam disso! Poderíamos dedicar um parágrafo inteiro a isso! Isso é bom, foi o que fizemos!
Git é um código aberto e sistema de gerenciamento de versão. É uma ferramenta colaborativa,mas você pode usá-la muito bem mesmo se estiver trabalhando sozinho em um projeto.
o ramo mestre
Se vários desenvolvedores trabalham em um projeto, eles têm uma ramificação "mestre" , a ramificação principal. Centraliza o código "limpo" , pronto para ser implantado nos servidores.
Em geral, esta é a ramificação que é colocada online nos ambientes de " pré-produção" (ou pré- produção para abreviar) , para que os gerentes de projeto façam seus testes e verifiquem se tudo está funcionando bem. Uma vez validados os testes, implantamos em produção ("em produção ") para os usuários finais.
MERGE NO MESTRE
Se quisermos codificar um novo recurso, criamos uma nova ramificação que começa em "master" . Em seguida, testamos o que é feito nessa nova ramificação. Uma vez validado, fazemos " merge on master " : disponibilizamos esta nova funcionalidade para todos no branch principal. Nesse ponto, o desenvolvedor está tão feliz por ter feito algo funcionar que ele grita no espaço aberto "É isso, eu me fundi!" ".
Ao fazer push do Git, você disponibiliza o código que desenvolveu em sua própria máquina em uma ramificação do Git para que todos possam acessá-lo, se necessário. Por outro lado, você também pode recuperar um pedaço de código de outra ramificação: você então faz um "git pull" .
Além disso, vamos falar de " máquina ": é uma palavra que gostamos muito neste ambiente. Você pode pensar que somos super modernos e tudo mais, mas ainda falamos do seu PC/Mac como uma máquina! Este é certamente também o nome do Minitel no passado… (para os mais novos: o Minitel, é isso ).
" ESTOU EMPURRANDO MEU GALO!" »
É isso, o dia acabou, o código está limpo e funcional , eu "empurro meu branch" . Em geral é necessário evitar o push direto no master : não mexemos com o branch principal! Você tem que preferir fazer seu próprio galho e empurrar o trabalho do seu dia nele, esteja terminado ou não, para salvá-lo (em outro lugar que não na sua "máquina" caso pegue fogo durante a noite …).
"I push my branch to master", às vezes é seguido por : "Mas m****, o que diabos você fez? » .
Uma vez que todo o código que ele precisava fazer estiver pronto, duas opções estarão disponíveis para o desenvolvedor:
Mescle seu código diretamente : lembro que você precisa enviar seu código diretamente para o branch principal. Você tem que ter certeza de sua chance se fizer isso! O melhor ainda é não escolher essa opção 😅;
Faça um pull-request (o famoso PR !): para simplificar, ele permite que você envie seu código para outra pessoa (seu lead dev, por exemplo) para que ela possa verificar e testar em seu próprio PC. Se tudo estiver bem, ele valida o PR e dá seu acordo para mesclar o código no master.
Linguagem, framework, biblioteca
Percebi rapidamente que confundi todos eles…
Eu disse a mim mesmo: "Mas não é tudo a mesma coisa? E React então, o que é? Uma linguagem de programação ou um framework? Talvez seja uma livraria… 🤔 " .
Lembre-se que os computadores (máquinas!) só entendem 0s e 1s: não é fácil se comunicar com eles…
As linguagens de programação são linguagens de computador que permitem escrever instruções que um computador pode entender, interpretar e aplicar .
Essa série de instruções (as linhas de código) compõem o programa (software) que o desenvolvedor deve criar.
Há uma infinidade de linguagens de programação. Os mais conhecidos são JavaScript, Java, Python, C#, PHP, C, C++, Ruby… Em geral, um desenvolvedor domina uma ou duas linguagens de programação. Digo "em geral": alguns não dominam nenhum 😜 (foi fácil, esse!).
A escolha do idioma depende do tipo de projeto: você não escolherá o mesmo idioma se estiver desenvolvendo um site ou um aplicativo para celular ou mesmo um videogame (não vamos viajar para a Espanha com um dicionário de russo… ).
Eu os abordo em conjunto porque o princípio é bastante semelhante: você poderia dizer que o framework é uma espécie de grande biblioteca . Ambos visam economizar tempo e facilitar o trabalho de desenvolvimento e/ou integração.
O framework é um conjunto de ferramentas configuradas para estruturar o código , uma espécie de padrão, para estabelecer a arquitetura do software . Portanto, não é necessário copiar os mesmos dados ao iniciar um novo projeto, pois eles são padronizados de acordo com a linguagem de programação utilizada no projeto.
Cada linguagem de programação, portanto, possui frameworks diferentes, pois seu modelo de arquitetura é específico para ela. É um pouco a mesma coisa com nossas próprias línguas no final: em francês para deixar claro que é uma pergunta, usamos "? » mas em espanhol usamos « ¿? » .
Alguns exemplos dos frameworks mais conhecidos: Symfony ou Laravel (para Php), AngularJS ou VueJS (para JavaScript), Django (para Python) e muitos outros…
A biblioteca , por outro lado, é uma espécie de coleção de código pronto para uso , para codificar rapidamente funcionalidades, módulos , para o software. Por que se preocupar em recodificar algo que já existe em outro lugar?
Exemplos ? O Bootstrap torna possível não re-desenvolver gerenciamento responsivo , design adaptável entre celular/desktop/tablet, a cada vez. Também temos o Swiper para fazer um carrossel de imagens sem precisar digitar todas as linhas de código. Você já ouviu falar de jQuery (uma biblioteca Javascript)?
"Vide ton cache"
O cache é uma cópia local temporária das informações com o objetivo de facilitar e acelerar novos acessos a esses dados. Uma cópia de certos dados (CSS, HTML, por exemplo) é mantida no cache para que você não precise recarregá-los toda vez que mudar de página no mesmo site.
Se o desenvolvedor fizer uma alteração no código ele tem que atualizar o cache/limpar o cache caso contrário a alteração não vai aparecer… As vezes é tão estúpido assim mas ainda demora 15 minutos para se livrar dele percebe !
O DB é o banco de dados , ou seja: o banco de dados ! Não estou dizendo nada: em bancos de dados, armazenamos dados!
Os próprios bancos de dados se encarregam de criar, atualizar, deletar, buscar dados a pedido do usuário.
Você pode ouvir de SQL ou MySQL ? Eles permitem criar bancos de dados e tabelas, consultar bancos de dados, atualizá-los, gerenciar direitos de usuário do banco de dados, etc.
A diferença entre esses dois? MySQL é uma versão do SQL, uma implementação gratuita utilizável com PHP em particular. SQL também é a linguagem de muitos outros softwares de banco de dados (PostgreSQL, Oracle…).
Um webservice é um protocolo que permite que aplicativos se comuniquem remotamente via Internet e troquem dados. Um software pode então chamar as funções de outro aplicativo. Webservices se comunicam por meio de solicitações HTTP e geralmente são invisíveis para o usuário final!
CI / INTEGRAÇÃO CONTÍNUA
CI e integração contínua são a mesma coisa. Dizemos "CI" para Integração Contínua, ou "integração contínua" em francês. É apenas (bem, é simples quando você só precisa escrevê-lo em uma postagem no blog …) integrar as alterações feitas no código continuamente para detectar erros imediatamente e corrigi-los . Desenvolvemos mais rapidamente porque evitamos surpresas desagradáveis. Sem integração contínua, um erro cometido há várias semanas ou meses pode ser ignorado. Corrigir esses erros posteriormente seria ainda mais complicado e demorado.
Se você leu este artigo até o final, agora está equipado para conviver com um time de desenvolvedores 😉! Você pode imaginar que estamos lidando apenas com uma pequena parte da linguagem dos devs aqui e que você é poupado das noções muito técnicas. Mas por que não em um artigo futuro…