<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Manual do Front</title>
    <description>The latest articles on Forem by Manual do Front (@manualdofront).</description>
    <link>https://forem.com/manualdofront</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2000254%2F109eb103-e685-4bf3-85a7-bef931f9bdaa.png</url>
      <title>Forem: Manual do Front</title>
      <link>https://forem.com/manualdofront</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/manualdofront"/>
    <language>en</language>
    <item>
      <title>Veja as novidades sobre performance, SSR, linting e novos componentes contidas na nova versão do Angular: v19!</title>
      <dc:creator>Manual do Front</dc:creator>
      <pubDate>Thu, 28 Nov 2024 12:11:12 +0000</pubDate>
      <link>https://forem.com/manualdofront/veja-as-novidades-sobre-performance-ssr-linting-e-novos-componentes-contidas-na-nova-versao-do-5398</link>
      <guid>https://forem.com/manualdofront/veja-as-novidades-sobre-performance-ssr-linting-e-novos-componentes-contidas-na-nova-versao-do-5398</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/manualdofront" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2000254%2F109eb103-e685-4bf3-85a7-bef931f9bdaa.png" alt="manualdofront"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/manualdofront/angular-19-chegou-tudo-o-que-voce-precisa-saber-i0k" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Angular 19 chegou: tudo o que você precisa saber!&lt;/h2&gt;
      &lt;h3&gt;Manual do Front ・ Nov 28&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#angular&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#angular19&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#news&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#releasenotes&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
    </item>
    <item>
      <title>Angular 19 chegou: tudo o que você precisa saber!</title>
      <dc:creator>Manual do Front</dc:creator>
      <pubDate>Thu, 28 Nov 2024 12:07:47 +0000</pubDate>
      <link>https://forem.com/manualdofront/angular-19-chegou-tudo-o-que-voce-precisa-saber-i0k</link>
      <guid>https://forem.com/manualdofront/angular-19-chegou-tudo-o-que-voce-precisa-saber-i0k</guid>
      <description>&lt;p&gt;Seguindo a &lt;a href="https://angular.dev/reference/releases#release-frequency" rel="noopener noreferrer"&gt;frequência de lançamentos&lt;/a&gt; já conhecida pela comunidade, mais um fim de ano está chegando e, com ele, mais uma &lt;a href="https://angular.dev/reference/releases#angular-versioning" rel="noopener noreferrer"&gt;&lt;em&gt;major&lt;/em&gt;&lt;/a&gt; &lt;em&gt;version&lt;/em&gt; do Angular está disponível. Neste artigo, irei destacar as novidades que mais despertaram meu interesse com base no &lt;a href="https://blog.angular.dev/meet-angular-v19-7b29dfd05b84" rel="noopener noreferrer"&gt;artigo original&lt;/a&gt; do lançamento, em alguns artigos que li e vídeos que assisti (você encontrará as referências/fontes no final).&lt;/p&gt;

&lt;h2&gt;
  
  
  Introdução
&lt;/h2&gt;

&lt;p&gt;Para quem vem acompanhando os últimos lançamentos, acredito que é possível perceber um claro esforço do Angular em melhorar a qualidade de vida do desenvolvedor (o que chamamos de &lt;em&gt;developer experience&lt;/em&gt;) e a performance do framework. Para que isso seja possível - e, ainda mais importante, para que as melhorias sejam assertivas e realmente adotadas pela comunidade -, o time da Google vem analisando como os últimos lançamentos foram vistos (e até julgados) pelos desenvolvedores.&lt;/p&gt;

&lt;h3&gt;
  
  
  TL;DR
&lt;/h3&gt;

&lt;p&gt;O Angular continua a evoluir em direção a uma experiência de desenvolvimento mais intuitiva, performática e poderosa. O foco agora parece ser, cada vez mais, em funcionalidades que tenham como base o &lt;a href="https://angular.dev/guide/ssr" rel="noopener noreferrer"&gt;&lt;em&gt;SSR&lt;/em&gt;&lt;/a&gt; &lt;em&gt;(Server-Side Rendering)&lt;/em&gt;, pois a versão 19 traz a hidratação incremental e uma configuração de renderização de rotas mais granular. Já os componentes &lt;em&gt;standalone&lt;/em&gt; passam a ser o padrão, enquanto ganhamos a possibilidade de declarar variáveis localmente no template. Por fim, podemos destacar o lançamento de melhorias muito aguardadas pela comunidade, como a remoção de &lt;em&gt;imports&lt;/em&gt; não utilizados e um novo componente seletor de hora.&lt;/p&gt;

&lt;h2&gt;
  
  
  Novidades
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Hidratação incremental em &lt;em&gt;“preview”&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;Essa funcionalidade permite ao desenvolvedor dizer ao Angular quais partes do template ele deseja carregar e “hidratar” em momentos específicos - tudo isso utilizando a sintaxe &lt;code&gt;@defer&lt;/code&gt;. Veja essa animação retirada do anúncio oficial para entender melhor como isso funciona:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcnojnv9oiq42pgn4icag.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcnojnv9oiq42pgn4icag.png" alt="Demonstração da hidratação incremental" width="800" height="569"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.angular.dev/meet-angular-v19-7b29dfd05b84" rel="noopener noreferrer"&gt;O vídeo&lt;/a&gt; do post original - que, infelizmente, a plataforma não permite adicionar aqui - exibe uma página renderizada com &lt;em&gt;SSR&lt;/em&gt; (no lado do servidor), na qual três efeitos visuais foram adicionados: 1) os componentes em cinza, indicando que ainda não foram carregados nem hidratados pelo Angular; 2) a animação de “pulsar” que representa o momento em que o Angular está fazendo o &lt;em&gt;download&lt;/em&gt; desse componente através da rede; e 3) a borda roxa que indica que o Angular fez o &lt;em&gt;download&lt;/em&gt; e hidratou o componente (que já não possui mais a cor cinza).&lt;/p&gt;

&lt;h3&gt;
  
  
  Controle de renderização de rotas
&lt;/h3&gt;

&lt;p&gt;Quando o &lt;em&gt;SSR&lt;/em&gt; é habilitado na aplicação, o comportamento padrão do Angular é renderizar todas as rotas parametrizadas no servidor e pré-renderizar todas as rotas sem parâmetros. Na v19, a nova interface (&lt;code&gt;ServerRoute&lt;/code&gt;) disponibilizada vai permitir que, &lt;strong&gt;individualmente&lt;/strong&gt;, o comportamento das rotas seja configurado e determinar se a rota será renderizada no servidor, pré-renderizada ou renderizada no lado do cliente.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;serverRouteConfig&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;ServerRoute&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;/login&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;mode&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;RenderMode&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Server&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;/dashboard&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;mode&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;RenderMode&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Client&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;/**&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;mode&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;RenderMode&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Prerender&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;RenderMode.Server&lt;/code&gt;: a rota será renderizada no lado do servidor&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;RenderMode.Client&lt;/code&gt;: a rota será renderizada no lado do cliente&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;RenderMode.Prerender&lt;/code&gt;: a rota será pré-renderizada&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;Standalone&lt;/em&gt; agora é o padrão!
&lt;/h3&gt;

&lt;p&gt;Na verdade, permita-me explicar dois cenários diferentes para que esse título não cause confusão: atualmente, ao criar um novo componente utilizando o Angular CLI (&lt;code&gt;ng g c MeuTexto&lt;/code&gt;, por exemplo), esse componente &lt;strong&gt;já é&lt;/strong&gt; criado como &lt;em&gt;standalone&lt;/em&gt;. Contudo, antes da versão 19, ao criar um componente sem utilizar a propriedade &lt;code&gt;standalone: true&lt;/code&gt; no &lt;em&gt;decorator&lt;/em&gt;, esse componente &lt;strong&gt;não&lt;/strong&gt; seria um componente &lt;em&gt;standalone&lt;/em&gt; - e aqui entra a grande novidade: a partir da v19, ele é!&lt;/p&gt;

&lt;p&gt;Isso quer dizer que na nova versão, esse componente vai ser considerado &lt;em&gt;standalone:&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;Component&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;imports&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[],&lt;/span&gt;
  &lt;span class="na"&gt;selector&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;meu-texto&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;template&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./meu-texto-component.html&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="c1"&gt;// mesmo não possuindo a propriedade, será standalone no Angular 19!&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;MeuTextoComponent&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="err"&gt;…&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;E, para criar um componente que &lt;strong&gt;não&lt;/strong&gt; seja &lt;em&gt;standalone&lt;/em&gt;, a propriedade &lt;code&gt;standalone&lt;/code&gt; deverá ser explicitamente adicionada:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;Component&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;imports&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[],&lt;/span&gt;
  &lt;span class="na"&gt;selector&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;meu-texto&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;template&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./meu-texto-component.html&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;standalone&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;MeuTextoComponent&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="err"&gt;…&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Ps.: essa regra é aplicada para&lt;/em&gt; &lt;strong&gt;&lt;em&gt;componentes, diretivas e pipes.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Variáveis locais no template
&lt;/h3&gt;

&lt;p&gt;Com essa nova sintaxe, o Angular simplifica muito o processo de definir e reusar uma variável no template, atendendo uma demanda muito requisitada pela comunidade e permitindo nos livrarmos de alguns &lt;em&gt;workarounds&lt;/em&gt; (palavra bonita para &lt;em&gt;gambiarra!&lt;/em&gt; 😝) que eram usados. A nova forma trabalha elegantemente com referências e com a &lt;em&gt;async pipe.&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;&lt;span class="c"&gt;&amp;lt;!-- Exemplo com a variável referenciando um elemento --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="err"&gt;#nome&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
@let texto = 'Olá ' + nome.value;
&lt;span class="nt"&gt;&amp;lt;span&amp;gt;&lt;/span&gt;{{ texto }}&lt;span class="nt"&gt;&amp;lt;/span&amp;gt;&lt;/span&gt;

&lt;span class="c"&gt;&amp;lt;!-- Exemplo com a async pipe --&amp;gt;&lt;/span&gt;
@let usuario = usuario$ | async;
&lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;Detalhes do usuário: {{ usuario.nome }}&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Identificando &lt;em&gt;imports&lt;/em&gt; não utilizados em componentes &lt;em&gt;standalone&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;A animação abaixo demonstra perfeitamente (com o &lt;code&gt;RouterOutlet&lt;/code&gt;) os benefícios desse comportamento. É muito comum que durante a criação das telas, com o uso dos componentes &lt;em&gt;standalone&lt;/em&gt;, vários &lt;em&gt;imports&lt;/em&gt; sejam feitos - pois são através deles que obtemos todas as “peças” necessárias para montar um componente. Contudo, algum tempo depois pode ser necessário mudar o &lt;em&gt;template&lt;/em&gt; daquele componente e existe a chance de um &lt;em&gt;import&lt;/em&gt; que antes era obrigatório tornar-se desnecessário. Com essa adição, não precisaremos de nenhuma configuração extra na IDE ou de plug-in, pois a própria Angular CLI indicará isso.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgp7n7bu750elx0mxvom7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgp7n7bu750elx0mxvom7.png" alt="Imagem estática retirada da animação original, pois o dev.to não permite gifs" width="800" height="734"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Caso você queira desabilitar essa validação (entendo que pode ser necessário em casos de projetos legados; caso contrário, &lt;strong&gt;não faça isso&lt;/strong&gt;), basta atualizar seu arquivo &lt;code&gt;angular.json&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"angularCompilerOptions"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"extendedDiagnostics"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"checks"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"unusedStandaloneImports"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"suppress"&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;Curiosidade&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ainda nessa versão, também teremos a validação de &lt;strong&gt;funções não invocadas:&lt;/strong&gt; basicamente, isso irá destacar casos onde uma função é usada para um evento, mas não é chamada - frequentemente devido à falta do uso de parênteses no template. Exemplo: &lt;code&gt;change=”onChange”&lt;/code&gt; ao invés de &lt;code&gt;change=”onChange()"&lt;/code&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Novo componente "seletor" de hora (&lt;a href="https://material.angular.io/components/timepicker/overview" rel="noopener noreferrer"&gt;time picker&lt;/a&gt;)
&lt;/h3&gt;

&lt;p&gt;Como a própria nota de lançamento afirma, um dos pedidos mais populares no GitHub tem sido um “seletor de tempo” para o &lt;a href="https://material.angular.io/" rel="noopener noreferrer"&gt;Angular Material&lt;/a&gt;. E, finalmente, ele foi lançado! Veja uma animação do componente na prática e um trecho de código demonstrando uma abordagem mais simples:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnv4ymyelb43p65bx4bna.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnv4ymyelb43p65bx4bna.png" alt="Imagem estática retirada da animação original, pois o dev.to não permite gifs" width="800" height="321"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;mat-form-field&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;mat-label&amp;gt;&lt;/span&gt;Pick a time&lt;span class="nt"&gt;&amp;lt;/mat-label&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="err"&gt;matInput&lt;/span&gt; &lt;span class="err"&gt;[matTimepicker]="picker"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;mat-timepicker-toggle&lt;/span&gt; &lt;span class="err"&gt;matIconSuffix&lt;/span&gt; &lt;span class="err"&gt;[for]="picker"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;mat-timepicker&lt;/span&gt; &lt;span class="err"&gt;#picker&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/mat-form-field&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Conclusão
&lt;/h2&gt;

&lt;p&gt;É claro que estas não são as únicas novidades dessa versão. Temos outras opções interessantíssimas, tais como: as novas primitivas de reatividade introduzidas (&lt;code&gt;linkedSignal&lt;/code&gt; e a &lt;code&gt;resource&lt;/code&gt; API); diversos novos comandos &lt;a href="https://angular.dev/tools/cli/schematics" rel="noopener noreferrer"&gt;&lt;em&gt;schematics&lt;/em&gt;&lt;/a&gt; (que nada mais são do que geradores de código); atualizações na função &lt;code&gt;effect&lt;/code&gt;; e muito mais!&lt;/p&gt;

&lt;p&gt;Mas eu resolvi destacar aquilo que eu achei legal, misturando &lt;a href="https://dictionary.cambridge.org/dictionary/english/game-changer" rel="noopener noreferrer"&gt;&lt;em&gt;game-changers&lt;/em&gt;&lt;/a&gt; que colocam o Angular em um novo nível (como a hidratação incremental) com coisas simples, mas que melhoram muito nosso dia a dia (como o alerta para &lt;em&gt;imports&lt;/em&gt; não utilizados).&lt;/p&gt;

&lt;p&gt;Quais novidades você sentiu falta? Teve alguma coisa que você não gostou nessa nova versão ou algum detalhe que você acha que eu deveria ter abordado com mais detalhes? Me deixa saber nos comentários, esse espaço é nosso! 😁👇🏼&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Referências&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Post oficial no blog do Angular (&lt;a href="https://blog.angular.dev/meet-angular-v19-7b29dfd05b84" rel="noopener noreferrer"&gt;link&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Post do Andrew Rosário no Medium (&lt;a href="https://andrewrosario.medium.com/confira-as-grandes-novidades-do-angular-19-dbd0a77d3798" rel="noopener noreferrer"&gt;link&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Post do Mateusz Dobrowolski no Angular.love (&lt;a href="https://angular.love/angular-19-whats-new" rel="noopener noreferrer"&gt;link&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Vídeo do Joshua Morony no YouTube (&lt;a href="https://www.youtube.com/watch?v=A820ecm_Wj4&amp;amp;ab_channel=JoshuaMorony" rel="noopener noreferrer"&gt;link&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Vídeo do Maximilian Schwarzmüller no YouTube (&lt;a href="https://www.youtube.com/watch?v=B18LKRW617Q&amp;amp;ab_channel=MaximilianSchwarzm%C3%BCller" rel="noopener noreferrer"&gt;link&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Escrito com 💙 e 🎯 por&lt;/em&gt;&lt;/strong&gt; &lt;a href="https://manualdofront.com" rel="noopener noreferrer"&gt;Manual do Front&lt;/a&gt;&lt;strong&gt;&lt;em&gt;.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>angular</category>
      <category>angular19</category>
      <category>news</category>
      <category>releasenotes</category>
    </item>
    <item>
      <title>Veja as Novidades do Visual Studio Code para Outubro de 2024</title>
      <dc:creator>Manual do Front</dc:creator>
      <pubDate>Fri, 01 Nov 2024 11:49:06 +0000</pubDate>
      <link>https://forem.com/manualdofront/veja-as-novidades-do-visual-studio-code-para-outubro-de-2024-4pgf</link>
      <guid>https://forem.com/manualdofront/veja-as-novidades-do-visual-studio-code-para-outubro-de-2024-4pgf</guid>
      <description>&lt;p&gt;Chegamos ao ms de Outubro de 2024 (esse ano passou rpido demais, voc no acha?) e com ele, temos mais um &lt;em&gt;release notes&lt;/em&gt; do nosso editor de cdigo favorito 💙&lt;/p&gt;

&lt;p&gt;Nessa publicao, voc vai encontrar os destaques da verso &lt;strong&gt;1.95&lt;/strong&gt; segundo a minha opinio. Tem bastante coisa legal chegando, e outras ainda melhores por vir. Espero que voc realmente goste desse artigo. Ao acabar de ler, me conta o que voc mais gostou nos comentrios para que possamos debater? Vejo voc l!&lt;/p&gt;

&lt;h2&gt;
  
  
  Github Copilot
&lt;/h2&gt;

&lt;p&gt;Para mim, ainda meio bizarro as propores que a Inteligncia Artificial, os plugins e as novas ferramentas baseadas nisso esto tomando - e, especialmente, a forma como esto transformando nosso dia a dia. Nessa verso do VSCode, a publicao realmente foca muito ferramenta e coloca essa seo com destaque total. Nesse caso, eu concordo com algumas &lt;a href="https://www.reddit.com/r/vscode/comments/1gf1fbj/visual_studio_code_october_2024/" rel="noopener noreferrer"&gt;reclamaes&lt;/a&gt; de membros da comunidade que dizem que a Microsoft est focando demais nessa extenso, e esquecendo do editor.&lt;/p&gt;

&lt;p&gt;Concordo com isso pois precisamos ter em vista que a extenso possui um &lt;a href="https://crmpiperun.com/blog/trial-o-que-e/" rel="noopener noreferrer"&gt;&lt;em&gt;trial&lt;/em&gt;&lt;/a&gt; (acesso a um produto/servio gratuitamente por um tempo determinado), mas no possui um &lt;a href="https://rockcontent.com/br/blog/freemium/" rel="noopener noreferrer"&gt;&lt;em&gt;freemium&lt;/em&gt;&lt;/a&gt; (acesso a esse produto ou servio gratuito, sem tempo determinado, mas que passa a ser pago para contar com algumas funcionalidades extras). Dessa forma, somos obrigados a pagar para contar com tudo que est sendo lanado. Contudo, no final das contas, nosso objetivo poder usar o VSCode e as atualizaes dele deveriam ser focadas nele mesmo (ao menos em sua grande maioria), melhorando performance e adicionando novas funcionalidades.&lt;/p&gt;

&lt;h2&gt;
  
  
  Modo de Trabalho
&lt;/h2&gt;

&lt;p&gt;Agora podemos &lt;strong&gt;conectar mltiplas contas do GitHub&lt;/strong&gt; no VSCode ao mesmo tempo! Como o prprio anncio comenta, existem situaes onde precisamos disso, tais como usar contas diferentes para extenses diferentes (ex: conta de estudante para o GitHub Copilot e a conta normal para seu GitHub) ou, a mais comum para mim, que preferncias diferentes entre o GitHub profissional (da sua empresa, por exemplo) e o seu pessoal. Isso muito comum quando voc precisa utilizar alguma extenso ou padro no cdigo da sua empresa, mas no gosta muito de utiliz-lo em seus projetos pessoais.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fglmptyt33tbqp9d82dt2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fglmptyt33tbqp9d82dt2.png" alt="Um menu suspenso mostrando opes de conta do GitHub, status de sincronizao de configuraes e opes para habilitar alteraes na nuvem e acesso remoto ao tnel. Um indicador de notificao mostra um novo alerta." width="676" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Editor
&lt;/h2&gt;

&lt;p&gt;Quase nenhuma novidade alm da possibilidade de configurar a propriedade &lt;code&gt;editor.occurrencesHighlightDelay&lt;/code&gt; que, em teoria, nos d o controle sobre o tempo de &lt;em&gt;delay&lt;/em&gt; antes que as ocorrncias sejam destacadas no editor (ex: quando selecionamos uma varivel e desejamos buscar por todo o arquivo). Segundo a publicao, diminuindo esse valor pode nos fornecer uma experincia mais responsiva no editor quando trabalhamos com destaque semntico.&lt;/p&gt;

&lt;p&gt;Eu confesso que fiz o teste no &lt;strong&gt;&lt;em&gt;VSCode Insiders&lt;/em&gt;&lt;/strong&gt; e no consegui notar diferena nenhuma. Ento, ou eu no entendi corretamente essa proposta e meus testes foram invlidos; ou a funcionalidade ainda est um pouco estvel. Vamos esperar e ver, mas esse aquele tipo de incremento que, na prtica, no agrega muito em nossas vidas.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prvia das Prximas Funcionalidades
&lt;/h2&gt;

&lt;p&gt;Nessa seo, sempre vou destacar a funcionalidade que est prxima de ser lanada que eu mais gostei e a de hoje : &lt;strong&gt;atualizao de&lt;/strong&gt; &lt;code&gt;imports&lt;/code&gt; &lt;strong&gt;ao colar para JavaScript e TypeScript&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Sabe quando voc est refatorando o cdigo e precisa recortar e colar algumas sees do seu cdigo em outro arquivo? Quando eu preciso fazer isso, a parte mais chata - sem dvidas - ter que revisar os &lt;code&gt;imports&lt;/code&gt; do arquivo e remover aquilo que no mais usado, ou recortar para o novo arquivo. A voc pode dizer assim: ah, mas s usar extenses para isso - eu sei, pequeno gafanhoto, e j as utilizo, mas imagina se isso fosse nativo do editor? Alm de ser mais performtico, acaba sendo uma obrigao que a equipe que mantm o VSCode siga trazendo melhorias e corrigindo &lt;em&gt;bugs&lt;/em&gt;, caso a gente encontre.&lt;/p&gt;

&lt;p&gt;por isso que essa atualizao chamou minha ateno. Alm disso, parece que no vai ser uma simples atualizao de imports, mas algo mais inteligente que vai at adicionar um novo &lt;code&gt;export&lt;/code&gt; para uma varivel local que era usada no cdigo que foi recortado. Para usarmos essa funcionalidade precisamos:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Usar o TypeScript 5.7+&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Habilitar essas configuraes (elas so independentes):&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Observao&lt;/em&gt;&lt;/strong&gt; : &lt;em&gt;por enquanto, essa funcionalidade s suportada quando colamos cdigo entre editores na mesma janela (sesso) do VSCode.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Comentrios finais
&lt;/h3&gt;

&lt;p&gt;Claro que essa s uma parte (a que chamou minha ateno) dentro de toda a publicao que voc pode encontrar no link abaixo. Na pgina oficial, tambm podemos encontrar outros detalhes destacados pelos autores, como a confirmao que a equipe do VSCode migrou o repositrio principal e todos os &lt;a href="https://github.com/microsoft/vscode-extension-samples" rel="noopener noreferrer"&gt;exemplos de extenses&lt;/a&gt; para o &lt;em&gt;ESLint 9&lt;/em&gt;; a prpria aplicao estvel, agora, est usando &lt;em&gt;Electron 32,&lt;/em&gt; juntamente com o &lt;em&gt;Chromium 128.0.6613.186&lt;/em&gt; e o &lt;em&gt;Node.js 20.18.0&lt;/em&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Link da publicao oficial: &lt;a href="https://code.visualstudio.com/updates/v1_95" rel="noopener noreferrer"&gt;https://code.visualstudio.com/updates/v1_95&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;Mas me conta: voc vai testar alguma dessas funcionalidades? Voc sabe como configurar as alteraes que mencionei? Tem desejo de usar a verso &lt;em&gt;Insider&lt;/em&gt; e tambm ser um usurio &lt;em&gt;beta?&lt;/em&gt; E, por fim: voc j ouviu falar sobre o &lt;a href="https://www.cursor.com/" rel="noopener noreferrer"&gt;Cursor&lt;/a&gt;? Parece que o VSCode est tentando eliminar mais um concorrente, assim como tenta fazer com o &lt;a href="https://zed.dev/" rel="noopener noreferrer"&gt;Zed&lt;/a&gt;. Me conta nos comentrios se gostaria que eu ensinasse isso no prximo artigo!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Escrito com 💙 e 🎯 por&lt;/em&gt;&lt;/strong&gt; &lt;a href="https://manualdofront.com" rel="noopener noreferrer"&gt;Manual do Front&lt;/a&gt; &lt;strong&gt;&lt;em&gt;.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;]]&amp;gt;&lt;/p&gt;

</description>
      <category>visualstudiocode</category>
      <category>newshighlights</category>
      <category>releasenotes</category>
      <category>webdev</category>
    </item>
    <item>
      <title>3 Atalhos Essenciais do Visual Studio Code Que Você Precisa Conhecer</title>
      <dc:creator>Manual do Front</dc:creator>
      <pubDate>Thu, 26 Sep 2024 11:45:58 +0000</pubDate>
      <link>https://forem.com/manualdofront/3-atalhos-essenciais-do-visual-studio-code-que-voce-precisa-conhecer-3ddp</link>
      <guid>https://forem.com/manualdofront/3-atalhos-essenciais-do-visual-studio-code-que-voce-precisa-conhecer-3ddp</guid>
      <description>&lt;p&gt;Como alguém que gosta - muito - do &lt;a href="https://code.visualstudio.com/?ref=manualdofront.com" rel="noopener noreferrer"&gt;Visual Studio Code&lt;/a&gt; e que usa esse editor de código diariamente há, pelo menos, 5 anos, eu posso afirmar que usá-lo de uma maneira produtiva, dominando essa ferramenta e suas possibilidades pode trazer benefícios que vão desde a otimização do seu tempo até seu crescimento profissional. Inclusive, eu gosto de afirmar que como desenvolvedores (especialmente &lt;em&gt;web&lt;/em&gt; e &lt;em&gt;Front-end&lt;/em&gt;), temos a &lt;strong&gt;obrigação&lt;/strong&gt; de conhecer profundamente duas ferramentas: o editor de código e o browser.&lt;/p&gt;

&lt;p&gt;É por isso que, com esse artigo, iniciamos uma série de publicações onde pretendo compartilhar minhas preferências, dicas, atalhos, extensões e novidades do Visual Studio Code, com o objetivo de ajudá-lo a usar esse recurso com maestria e tornar-se referência na sua equipe e/ou empresa. Particularmente, considero isso importantíssimo porque pode fazer parte do seu &lt;a href="https://fia.com.br/blog/personal-branding-7-dicas-para-construir-sua-marca-pessoal-2/?ref=manualdofront.com#:~:text=Boa%20leitura!-,O%20que%20%C3%A9%20personal%20branding%3F,fazer%20a%20gest%C3%A3o%20dessa%20marca." rel="noopener noreferrer"&gt;&lt;em&gt;branding pessoal&lt;/em&gt;&lt;/a&gt; e, assim como aconteceu comigo, você passar a ser reconhecido como &lt;em&gt;expert&lt;/em&gt; na ferramenta, ser aquela pessoa que todos chamam quando precisam de ajuda, ou até mesmo começar a compartilhar as novidades que descobriu com seu time.&lt;/p&gt;

&lt;p&gt;Sem perder mais tempo - já que teremos muitos artigos pela frente -, gostaria de compartilhar os atalhos que eu mais utilizo ao longo do meu dia, com uma observação: para esses atalhos, estou utilizando um Macbook ( &lt;strong&gt;macOS&lt;/strong&gt; ) e, por isso, a tecla principal será o &lt;strong&gt;Cmd&lt;/strong&gt; (&lt;code&gt;Cmd&lt;/code&gt;).&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;🗒 &lt;strong&gt;Observação&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;Caso você esteja utilizando &lt;strong&gt;Windows&lt;/strong&gt; ou &lt;strong&gt;Linux&lt;/strong&gt;, provavelmente você precisará utilizar o &lt;strong&gt;Ctrl&lt;/strong&gt; (&lt;code&gt;Ctrl&lt;/code&gt;).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgm4dhaibu06silm91wo7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgm4dhaibu06silm91wo7.png" alt="Diagrama ilustrando que a tecla Command () no macOS equivalente tecla Control (Ctrl) no Windows/Linux." width="384" height="156"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;&lt;a href="https://www.flaticon.com/br/icones-gratis/mac" rel="noopener noreferrer"&gt;&lt;small&gt;Mac ícones criados por Freepik - Flaticon&lt;/small&gt;&lt;/a&gt;&lt;/center&gt;

&lt;h2&gt;
  
  
  Comandos Básicos
&lt;/h2&gt;

&lt;p&gt;Assim como na programação, antes de aprender o &lt;em&gt;framework&lt;/em&gt; mais recente ou querer entender detalhadamente como uma biblioteca funciona, o ideal é conhecer os fundamentos, melhorar a base, estar familiarizado e, só então, passar para o próximo nível. Confira a seguir alguns comandos simples, mas que &lt;strong&gt;precisam&lt;/strong&gt; fazer parte das suas habilidades:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Cmd&lt;/code&gt; + &lt;code&gt;A&lt;/code&gt;: &lt;em&gt;permite que você selecione todo o conteúdo do arquivo.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Cmd&lt;/code&gt; + &lt;code&gt;S&lt;/code&gt;: &lt;em&gt;salva suas alterações recentes.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Cmd&lt;/code&gt; + &lt;code&gt;→&lt;/code&gt;: &lt;em&gt;move o cursor para o final da linha.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Cmd&lt;/code&gt; + &lt;code&gt;←&lt;/code&gt;: &lt;em&gt;move o cursor para o início da linha.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Cmd&lt;/code&gt; + &lt;code&gt;← Backspace&lt;/code&gt;: &lt;em&gt;apaga a linha inteira.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Cmd&lt;/code&gt; + &lt;code&gt;C&lt;/code&gt;: &lt;em&gt;copia o conteúdo selecionado para a área de transferência.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Cmd&lt;/code&gt; + &lt;code&gt;V&lt;/code&gt;: &lt;em&gt;cola o conteúdo disponível na área de transferência.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4vU-l-rV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://raw.githubusercontent.com/manualdofront/3-atalhos-essenciais-do-visual-studio-code/refs/heads/main/basics.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4vU-l-rV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://raw.githubusercontent.com/manualdofront/3-atalhos-essenciais-do-visual-studio-code/refs/heads/main/basics.gif" alt="Um trecho de código JavaScript. Ele inclui uma função  que registra a mensagem " width="680" height="718"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  As estrelas do artigo
&lt;/h2&gt;

&lt;p&gt;Finalmente! Depois de entendermos a importância de comandos simples como &lt;em&gt;"Copiar e Colar"&lt;/em&gt;, está na hora de listar os 3 comandos que eu mais gosto de utilizar no VSCode.&lt;/p&gt;

&lt;h3&gt;
  
  
  ⒈ &lt;code&gt;Cmd&lt;/code&gt; + &lt;code&gt;Shift&lt;/code&gt; + &lt;code&gt;P&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Vou começar com esse não tanto por ser o que eu, particularmente, mais utilizo; mas sim porque se você tiver que encerrar esse artigo &lt;strong&gt;decorando&lt;/strong&gt; apenas um comando, que seja esse. O principal motivo é que essa combinação abre o que chamamos de &lt;a href="https://code.visualstudio.com/api/ux-guidelines/command-palette?ref=manualdofront.com" rel="noopener noreferrer"&gt;&lt;em&gt;Paleta de Comandos&lt;/em&gt;&lt;/a&gt; e, através dela, você poder executar uma série de comandos. Veja na imagem a seguir, dois exemplos: o primeiro formatando um arquivo e o segundo recarregando todo o editor:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;👉🏼 &lt;strong&gt;Nota&lt;/strong&gt;: Infelizmente o &lt;code&gt;dev.to&lt;/code&gt; não está renderizando minhas imagens, então - enquanto busco soluções - por favor veja-as aqui:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://raw.githubusercontent.com/manualdofront/3-atalhos-essenciais-do-visual-studio-code/refs/heads/main/command_pallete.gif" rel="noopener noreferrer"&gt;Imagem animada (GIF) sobre a Paleta de Comandos&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;E a parte mais legal é que também será possível acessar, através desse comando, todos os comandos que as extensões que você instalou disponibilizam (no exemplo abaixo, eu abro a página inicial do &lt;a href="https://www.gitkraken.com/gitlens?ref=manualdofront.com" rel="noopener noreferrer"&gt;GitLens&lt;/a&gt;):&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;👉🏼 &lt;strong&gt;Nota&lt;/strong&gt;: Infelizmente o &lt;code&gt;dev.to&lt;/code&gt; não está renderizando minhas imagens, então - enquanto busco soluções - por favor veja-as aqui:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://raw.githubusercontent.com/manualdofront/3-atalhos-essenciais-do-visual-studio-code/refs/heads/main/gitlens.gif" rel="noopener noreferrer"&gt;Imagem animada (GIF) sobre comandos do GitLens disponíveis na Paleta de Comandos&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Vale lembrar que muito provavelmente, todos os comandos que eu demonstrei aqui através da &lt;em&gt;Paleta de Comandos&lt;/em&gt; também possuem um atalho próprio. Caso você - assim como eu - goste desse tipo de desafio, eu encorajo você a decorar aqueles dos quais gostar mais. Mas até lá, esse comando já será &lt;strong&gt;&lt;em&gt;muito&lt;/em&gt;&lt;/strong&gt; útil para você!&lt;/p&gt;

&lt;h3&gt;
  
  
  ⒉ &lt;code&gt;Cmd&lt;/code&gt; + &lt;code&gt;D&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Sabe quando você criou a variável principal do seu &lt;em&gt;script&lt;/em&gt; e acabou notando que o nome não ficou tão descritivo (mas agora ela já é usada em 5 lugares)? Ou quando você quer saber se aquela propriedade está sendo utilizada em outros lugares do mesmo arquivo? Ou quando você precisa mudar uma palavra de &lt;code&gt;camelCase&lt;/code&gt; para &lt;code&gt;PascalCase&lt;/code&gt;? Nesses momentos, eu realmente sou fã desse comando. Veja:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;👉🏼 &lt;strong&gt;Nota&lt;/strong&gt;: Infelizmente o &lt;code&gt;dev.to&lt;/code&gt; não está renderizando minhas imagens, então - enquanto busco soluções - por favor veja-as aqui:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://raw.githubusercontent.com/manualdofront/3-atalhos-essenciais-do-visual-studio-code/refs/heads/main/duplication.gif" rel="noopener noreferrer"&gt;Imagem animada (GIF) sobre seleção múltipla&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Eu sei que também existe um arquivo para substituir todas as ocorrências, caso você prefira fazer tudo de uma vez só - mas esse eu não vou contar. Qual tal você colocar a resposta desse desafio nos comentários? 👀&lt;/p&gt;

&lt;h3&gt;
  
  
  ⒊ &lt;code&gt;Cmd&lt;/code&gt; + &lt;code&gt;Shift&lt;/code&gt; + &lt;code&gt;F&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;A terceira combinação de teclas vai para aqueles que já precisaram encontrar um exemplo parecido em um projeto muito grande ou, talvez, os arquivos que utilizam certa função em uma aplicação JavaScript e não sabiam direito como fazer isso (ou, talvez, tiveram que recorrer ao &lt;em&gt;mouse&lt;/em&gt;). Com esse comando, você vai poder buscar um termo em &lt;strong&gt;todos&lt;/strong&gt; os arquivos do seu Visual Studio Code (inclusive, caso você tenha criado um &lt;em&gt;workspace&lt;/em&gt;, essa busca ser aplicada a todos os diretórios adicionados - mas acho que isso pode ser assunto em outro artigo, né?). Confira abaixo uma busca aplicada em 7 pastas, com diversos arquivos dentro:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;👉🏼 &lt;strong&gt;Nota&lt;/strong&gt;: Infelizmente o &lt;code&gt;dev.to&lt;/code&gt; não está renderizando minhas imagens, então - enquanto busco soluções - por favor veja-as aqui:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://raw.githubusercontent.com/manualdofront/3-atalhos-essenciais-do-visual-studio-code/refs/heads/main/search.gif" rel="noopener noreferrer"&gt;Imagem animada (GIF) sobre busca&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Bônus
&lt;/h2&gt;

&lt;p&gt;E é óbvio que, para você que chegou até o final deste artigo, haveria um &lt;strong&gt;bônus&lt;/strong&gt;! 🎁 Inclusive, essa é uma &lt;em&gt;cultura&lt;/em&gt; que eu quero criar por aqui, entre a gente: você sempre pode esperar de mim mais do que o combinado (nesse caso, prometi 3 atalhos essenciais, mas ao todo entreguei mais de 10) e, em contrapartida, eu só espero que você aplique o que for útil no seu dia a dia e me conte sobre isso (curtindo, comentando ou recomendando esse blog para os seus amigos), combinado?&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;Cmd&lt;/code&gt; + &lt;code&gt;K&lt;/code&gt; &lt;code&gt;Cmd&lt;/code&gt; + &lt;code&gt;T&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Como todo desenvolvedor que se preza, &lt;strong&gt;indispensável&lt;/strong&gt; (ironia!) que você tenha alguns temas para trocar de vez em quando, e também consiga fazer isso o mais rápido possível! Brincadeiras à parte, particularmente, eu tenho ~5 temas que são meus preferidos e, quando sinto que preciso de alguma pequena "mudança", costumo recorrer à essa troca (e, sem dúvidas, eu faço isso através de atalhos). Configura alguns deles na imagem abaixo:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;👉🏼 &lt;strong&gt;Nota&lt;/strong&gt;: Infelizmente o &lt;code&gt;dev.to&lt;/code&gt; não está renderizando minhas imagens, então - enquanto busco soluções - por favor veja-as aqui:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://raw.githubusercontent.com/manualdofront/3-atalhos-essenciais-do-visual-studio-code/refs/heads/main/themes.gif" rel="noopener noreferrer"&gt;Imagem animada (GIF) sobre temas&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;E aí, já conhecia esses atalhos? Já utiliza algum? Conhece algum outro que eu devia ter mencionado aqui? Me conta nos comentários, ou me chama no &lt;a href="https://www.linkedin.com/in/manualdofront/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;! 👇🏼&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Escrito com 💙 e 🎯 por &lt;a href="https://hashnode.com/@manualdofront" rel="noopener noreferrer"&gt;Manual do Front&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>shortcuts</category>
      <category>productivity</category>
      <category>vscode</category>
    </item>
    <item>
      <title>O ponto de partida: a explicação de como tudo começou</title>
      <dc:creator>Manual do Front</dc:creator>
      <pubDate>Thu, 12 Sep 2024 12:02:29 +0000</pubDate>
      <link>https://forem.com/manualdofront/o-ponto-de-partida-a-explicacao-de-como-tudo-comecou-227o</link>
      <guid>https://forem.com/manualdofront/o-ponto-de-partida-a-explicacao-de-como-tudo-comecou-227o</guid>
      <description>&lt;p&gt;&lt;code&gt;Minha história pessoal e como eu espero que o Manual do Front ajude você&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;É estranho... logo eu, que sempre gostei de escrever os famosos "textões" ou de falar muito, vejo esse cursor piscando e penso em tanta coisa para compartilhar - mas nem sei por onde começar. Sendo assim, depois de vários minutos parado, olhando para uma tela imóvel, decidi que era hora de digitar. E cá estamos!&lt;/p&gt;

&lt;p&gt;Seja muito bem-vindo! Esse é meu primeiro post e, independente do dia, eu agradeço seu interesse em ler o que tenho para compartilhar. E como prometido, eu gostaria de explicar como decidi começar esse projeto e eu, particularmente, acredito que tudo começa com um porquê. Nesse caso, não foi diferente.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Contudo, se você me perguntar qual é, neste momento, eu não saberia dizer.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Não porque eu não saiba o que quero trazer como conteúdo aqui ou que estas publicações não tenham finalidade - muito pelo contrário. Mas sim porque acho que nada define melhor do que a mais pura vontade de compartilhar o conhecimento que adquiri nesses quase 8 anos de carreira, somada à busca por evolução constante e por novas oportunidades ou desafios.&lt;/p&gt;

&lt;h2&gt;
  
  
  Um pouco de história
&lt;/h2&gt;

&lt;p&gt;Desde os primeiros Windows com quais tive contato, eu sempre gostei de documentar tudo que faço, criar anotações para lembrar o passo a passo de como cheguei em determinado resultado e, especialmente, tornar isso útil para alguém - mesmo que, em 90% dos casos, essa pessoa fosse eu mesmo. Isso me mostra que, apesar de ter demorado para tirar esse projeto do papel, essa vontade sempre esteve lá, presente - mas talvez adormecida. E hoje eu acredito que tudo acontece na hora certa.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fspyfhgpur50tmyrdxp5v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fspyfhgpur50tmyrdxp5v.png" alt="Captura de tela de um gerenciador de arquivos mostrando dois arquivos: um arquivo PowerPoint intitulado " width="800" height="49"&gt;&lt;/a&gt;&lt;/p&gt;
Imagem do Google Drive mostrando que em Março e Maio de 2015 eu já tentava criar tutoriais e conteúdo - e sim, já estou ficando velho 😂 &lt;br&gt;&lt;br&gt;



&lt;p&gt;Com a correria de uma rotina preenchida pelo curso Técnico em Informática (no qual me formei em 2016) - que, posteriormente, evoluiu para a graduação em Bacharel em Ciência da Computação (formado em 2021) - e por um trabalho CLT que começava às 07h42 e deveria ir até às 18h (&lt;em&gt;assunto para outra publicação&lt;/em&gt;), eu deixei esse ímpeto de lado para perseguir uma ascensão profissional e concluir minha faculdade com maestria. Posso dizer que sim, valeu à pena! Me formei condecorado como o melhor aluno da minha turma e hoje minha carreira é próspera, sólida e promissora.&lt;/p&gt;

&lt;p&gt;Contudo, isso não me fez parar de estudar. Pelo contrário! Eu ainda leio diversos blogs, consumo inúmeros vídeos técnicos no YouTube e assino algumas newsletters (inclusive, pretendo compartilhar vários desses conteúdos como recomendações em publicações futuras aqui do blog). E toda vez que eu estou estudando ou tentando aprender algo, aquele mesmo sentimento do menino que fazia tutoriais em tom de brincadeira volta, e eu me sinto "devendo" para a comunidade - ou, no mínimo, deixando uma grande oportunidade de contribuir e conhecer pessoas incríveis que podem agregar à minha vida.&lt;/p&gt;

&lt;p&gt;Dessa vez, pensei: &lt;em&gt;por que não compartilhar isso e, talvez um dia, atingir dezenas, centenas ou até milhares de pessoas? Por que não, no futuro, ter a possibilidade de ser uma referência para os novos desenvolvedores, assim como outros desenvolvedores foram (e ainda são) pra mim?&lt;/em&gt; Imagina só um dos inúmeros artigos que pretendo publicar ter o mesmo impacto que artigos do passado tiveram no início da minha carreira... que honra seria! Só de pensar nisso, já fico empolgado!&lt;/p&gt;

&lt;h2&gt;
  
  
  Relevância e reconhecimento
&lt;/h2&gt;

&lt;p&gt;Se você é um desenvolvedor Front-end, peço que me ajude nos comentários - ou me corrija, se eu estiver errado - quando digo que: atualmente, é muito difícil encontrar uma certificação reconhecida nacional ou internacionalmente para esse novo "cargo" - um grande número de devs atribui o surgimento do termo &lt;em&gt;Front-end&lt;/em&gt; entre os anos de 2007 e 2011, como você pode ver &lt;a href="https://github.com/frontendbr/forum/discussions/707?ref=manualdofront.com" rel="noopener noreferrer"&gt;nesse fórum&lt;/a&gt; do &lt;em&gt;frontendbr&lt;/em&gt;. Isso quer dizer que, talvez, esse cargo ainda nem tenha chegado à maioridade. 😂&lt;/p&gt;

&lt;p&gt;E por que isso é um problema? Porque, diferente de linguagens estabelecidas há muito tempo, como o C (&lt;a href="https://www.tutorialsfreak.com/c-programming-tutorial/c-programming-history" rel="noopener noreferrer"&gt;1972&lt;/a&gt;) e o Java (&lt;a href="https://www.java.com/releases/" rel="noopener noreferrer"&gt;1996&lt;/a&gt;), por não haver certificações ou outras formas oficiais de comprovar seu conhecimento, torna-se difícil mostrar que "você é bom". Ainda neste cenário, recentemente tivemos a popularização de cursos on-line, que derrubaram as barreiras para adquirir um certificado (neste caso porém, a grande maioria baseiam-se em &lt;em&gt;horas-aula&lt;/em&gt; e não em uma prova de validação de conhecimento). Isso é ótimo, não me entendam mal, nunca foi tão fácil obter conhecimento útil mas, ao mesmo tempo, nem todo curso terá conteúdo suficiente para prepará-lo para o mercado de trabalho e para os desafios diários.&lt;/p&gt;

&lt;p&gt;Quem trabalha na área, nesse momento muito provavelmente já identificou o problema. Para você que ainda não tem tanta experiência, está começando na área ou migrando de carreira, eu vou explicar com mais detalhes. Com a explosão de &lt;em&gt;tech-startups&lt;/em&gt; dos últimos anos e os investimentos bilionários na área, houve uma demanda excessiva por desenvolvedores, já que a tecnologia é a maneira mais rápida de fazer uma empresa tornar-se competitiva ao mercado. Com o aumento da demanda (vagas) e o aumento expressivo da oferta (desenvolvedores), ficou muito difícil filtrar a capacidade de cada profissional e, especialmente, identificar quem tem mais experiência.&lt;/p&gt;

&lt;p&gt;Dessa forma, certificados como os criados pela &lt;a href="https://aws.amazon.com/pt/certification/?nc1=h_ls" rel="noopener noreferrer"&gt;AWS&lt;/a&gt;, &lt;a href="https://developers.google.com/certification?hl=pt-br" rel="noopener noreferrer"&gt;Google&lt;/a&gt; ou &lt;a href="https://learn.microsoft.com/pt-br/credentials/browse/?credential_types=certification" rel="noopener noreferrer"&gt;Microsoft&lt;/a&gt;, por exemplo, tornaram-se uma forma reconhecida e segura de comprovar seus conhecimentos. Infelizmente, não temos um exemplo equivalente para o desenvolvimento Front-end (afirmação em Set/2024). Parafraseando Fabio Akita no &lt;a href="https://www.akitaonrails.com/2006/04/05/bem-vindos?ref=manualdofront.com" rel="noopener noreferrer"&gt;seu post de boas vindas&lt;/a&gt; (assim como eu estou fazendo aqui): &lt;em&gt;"os pioneiros sempre caminham por território árduo, mas a recompensa dos primeiros sempre será maior também",&lt;/em&gt; eu consigo compartilhar com você como vejo essa situação: &lt;strong&gt;oportunidade&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Aliado à essa visão, eu sempre tive o sonho de ser reconhecido como um profissional capaz de agregar conhecimento e fazer parte de grandes projetos de &lt;em&gt;software&lt;/em&gt;. Mas sem uma certificação específica e trabalhando para empresas privadas (nas quais o código não é público), restava-me minha graduação, meu GitHub e alguns cursos. Mas eu queria (e quero) mais, e vejo esse blog como uma excelente forma de ser meu portfólio. E penso assim não apenas porque vou compartilhar o que sei, mas porque vou estar aprendendo com você que - assim espero 🙏🏼 - vai deixar um comentário, vai assinar a &lt;em&gt;newsletter&lt;/em&gt; no futuro ou, de alguma forma, também contribuirá comigo e poderá acompanhar, semana pós semana, minha evolução nessa jornada.&lt;/p&gt;

&lt;h2&gt;
  
  
  O que você encontrará por aqui?
&lt;/h2&gt;

&lt;p&gt;Como alguém que é desenvolvedor há quase 9 anos e, no início da carreira, foi um desenvolvedor &lt;em&gt;full-stack&lt;/em&gt; que atuava desde o levantamento de requisitos no cliente até à implantação (ou melhor, eu gosto de brincar com quem acompanha futebol que &lt;em&gt;eu cruzava o escanteio e ia correndo para a área cabecear&lt;/em&gt;), eu não gostaria de limitar tudo que vamos conversar aqui. Acredito que podemos falar de ferramentas, GIT, código, &lt;em&gt;design patterns&lt;/em&gt;, desafios do dia a dia e novidades da área de tecnologia.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6iuf9ebstgjretl1pfkk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6iuf9ebstgjretl1pfkk.png" alt="Diagrama representando um formato de T. A linha horizontal, intitulada como " width="424" height="360"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;a href="https://www.4future.com.br/index.php/2022/01/07/profissional-em-t-como-decidir-entre-ser-especialista-ou-generalista/?ref=manualdofront.com" rel="noopener noreferrer"&gt;Créditos e fonte da imagem original (2022)&lt;/a&gt;&lt;br&gt;&lt;br&gt;



&lt;p&gt;A imagem acima, caso não seja familiar para você, representa o termo &lt;em&gt;T-shaped,&lt;/em&gt; que nada mais é do que uma carreira profissional conhecida como "&amp;lt;&lt;strong&gt;T&lt;/strong&gt;&amp;amp;gt;". Eu gosto dessa teoria porque ela defende que um bom profissional é especialista em certo assunto (a linha vertical do T), mas ele "sabe se virar" em diversas outras áreas (a linha horizontal do T) que são &lt;strong&gt;relacionadas&lt;/strong&gt; à sua especialidade. Aplicando isso para um desenvolvedor Front-end, por exemplo, podemos entender que é esperado que esse profissional seja muito bom em tecnologias do desenvolvimento Front-end, como HTML, CSS e JS. Porém, ele nunca conseguirá trabalhar em equipe se ele não souber o que é um JSON ou não poderá versionar seu código, caso não saiba GIT.&lt;/p&gt;

&lt;p&gt;Acho que essa imagem representa bem, em uma visão geral, o que será esse blog. Com certeza, tendo trabalhado profissionalmente por 2 anos com &lt;a href="https://react.dev/?ref=manualdofront.com" rel="noopener noreferrer"&gt;React&lt;/a&gt;, 3 anos com &lt;a href="https://vuejs.org/?ref=manualdofront.com" rel="noopener noreferrer"&gt;Vue&lt;/a&gt; e - até o momento - 3 meses com &lt;a href="https://angular.dev/?ref=manualdofront.com" rel="noopener noreferrer"&gt;Angular&lt;/a&gt;, eu vou priorizar e trazer mais conteúdos de Front-end. Mas, como mostrei na imagem acima, nós precisamos - e vamos - falar sobre outras tecnologias que são fundamentais no dia a dia e que irão colocar você em outro nível de profissionalismo e domínio da sua profissão. Então, teremos diversos assuntos, tais como (mas não limitado à):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;Conteúdo&lt;/em&gt; &lt;strong&gt;&lt;em&gt;básico&lt;/em&gt;&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Boas práticas (de separação de código, criação de projetos, ...)&lt;/li&gt;
&lt;li&gt;Semântica (escrever um HTML com significado)&lt;/li&gt;
&lt;li&gt;Estilização (com CSS, SCSS, etc...)&lt;/li&gt;
&lt;li&gt;Ferramentas (como ser mais produtivo no Visual Studio Code, ...)&lt;/li&gt;
&lt;li&gt;GIT Básico (&lt;code&gt;add&lt;/code&gt;, &lt;code&gt;commit&lt;/code&gt;, &lt;code&gt;push&lt;/code&gt;, &lt;code&gt;pull&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;em&gt;Conteúdo&lt;/em&gt; &lt;strong&gt;&lt;em&gt;avançado&lt;/em&gt;&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Performance (como deixar seu site mais rápido, quais métricas analisar, ...)&lt;/li&gt;
&lt;li&gt;Acessibilidade (como é uma página compatível com tecnologias assistivas)&lt;/li&gt;
&lt;li&gt;GIT Avançado (&lt;code&gt;squash&lt;/code&gt;, &lt;code&gt;rebase&lt;/code&gt;, &lt;code&gt;reset&lt;/code&gt;, &lt;code&gt;cherry-pick&lt;/code&gt;, &lt;code&gt;log&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;em&gt;Conteúdo&lt;/em&gt; &lt;strong&gt;&lt;em&gt;especializado&lt;/em&gt;&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reatividade (comparando Angular x Vue x React)&lt;/li&gt;
&lt;li&gt;Como funcionam as &lt;code&gt;stores&lt;/code&gt; utilizadas por esses &lt;em&gt;frameworks&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Desafios que surgem no dia a dia (e como foram resolvidos)&lt;/li&gt;
&lt;li&gt;Testes unitários (com &lt;code&gt;JEST&lt;/code&gt;, &lt;code&gt;Testing Library&lt;/code&gt;, ...)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;em&gt;Conteúdo&lt;/em&gt; &lt;strong&gt;&lt;em&gt;compartilhado&lt;/em&gt;&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Terminal (como utilizá-lo para ser mais eficiente no dia a dia, ...)&lt;/li&gt;
&lt;li&gt;Protocolo HTTP • JSON • UI/UX • Documentação&lt;/li&gt;
&lt;li&gt;e muito mais!&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Esse é o &lt;strong&gt;Manual do Front&lt;/strong&gt;, um perfil simples e direto mas que, com muito cuidado e qualidade, tentará compartilhar dicas, tutoriais - algumas brincadeiras - e conteúdo que estejam relacionados às nuances que envolvem o desenvolvimento Front-end no dia a dia. Quero muito te ver por aqui, bora?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Escrito com 💙 e 🎯 por @&lt;a href="https://dev.to/manualdofront"&gt;Manual do Front&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;&lt;em&gt;Originalmente publicado no meu blog, em &lt;a href="https://manualdofront.com/o-ponto-de-partida?ref=dev.to"&gt;https://manualdofront.com&lt;/a&gt; no dia 11 de Setembro de 2024.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>frontend</category>
      <category>beginners</category>
      <category>start</category>
      <category>blog</category>
    </item>
  </channel>
</rss>
