<?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>DEV Community: Natasha</title>
    <description>The latest articles on DEV Community by Natasha (@na2kstudies).</description>
    <link>https://dev.to/na2kstudies</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%2F2739738%2Ff70c0cd8-e45f-4bd7-997d-ed6234314a46.jpg</url>
      <title>DEV Community: Natasha</title>
      <link>https://dev.to/na2kstudies</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/na2kstudies"/>
    <language>en</language>
    <item>
      <title>O que é Dart?</title>
      <dc:creator>Natasha</dc:creator>
      <pubDate>Fri, 07 Mar 2025 23:46:15 +0000</pubDate>
      <link>https://dev.to/na2kstudies/o-que-e-dart-3l0k</link>
      <guid>https://dev.to/na2kstudies/o-que-e-dart-3l0k</guid>
      <description>&lt;p&gt;Dart é uma linguagem de programação criada pela Google em 2011, com o objetivo de ser produtiva, ágil e de fácil entendimento. Apesar de ser a linguagem base do framework Flutter, ela pode também ser aplicada em outras circunstâncias, como no Back-end.&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/na2kstudies" 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%2F2739738%2Ff70c0cd8-e45f-4bd7-997d-ed6234314a46.jpg" alt="na2kstudies"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/na2kstudies/o-que-e-flutter-4ebh" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;O que é flutter?&lt;/h2&gt;
      &lt;h3&gt;Natasha ・ Mar 6&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#flutter&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#braziliandevs&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#programming&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#development&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br&gt;
Uma linguagem de programação é a forma por onde conseguimos passar instruções para que computadores executem, e é através delas que conseguimos criar softwares, aplicativos, sites, jogos, etc.&lt;br&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;void main() {
  print("Hello, World!");
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;O trecho do código acima apresenta o &lt;code&gt;void main() { }&lt;/code&gt; que é onde chamamos a função inicial do Dart, ou seja, todos os códigos Dart se iniciam nessa função, e precisam estar contidos dentro das chaves {aqui}. O nosso comando irá imprimir &lt;code&gt;Hello, World!&lt;/code&gt; no console.&lt;/p&gt;

&lt;p&gt;Você pode testar essa e outras funções Dart &lt;a href="https://dartpad.dev/" rel="noopener noreferrer"&gt;aqui&lt;/a&gt;.&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%2Fdnxetag3l0qsl2k71vko.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%2Fdnxetag3l0qsl2k71vko.png" alt="Ilustração de uma moça saindo de uma caixa" width="400" height="322"&gt;&lt;/a&gt;&lt;br&gt;
Tipos de Linguagens de Programação:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Linguagens de Baixo Nível:&lt;/strong&gt; Próximas ao código de máquina, mais difíceis de entender (ex: Assembly, C).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Linguagens de Alto Nível:&lt;/strong&gt; Mais próximas da linguagem humana, facilitam a programação (ex: Python, Java, Dart).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Linguagens Compiladas:&lt;/strong&gt; Precisam ser traduzidas antes da execução (ex: C, C++).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Linguagens Interpretadas:&lt;/strong&gt; Executadas linha por linha, sem necessidade de compilação (ex: Python, JavaScript).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Linguagens Híbridas:&lt;/strong&gt; Misturam características compiladas e interpretadas (ex: Java, Dart).&lt;/li&gt;
&lt;/ul&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%2Fa3lg2jb7za13gqbq887o.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%2Fa3lg2jb7za13gqbq887o.png" alt="Ilustração de uma moça sentada em uma cadeira lendo um livro" width="400" height="326"&gt;&lt;/a&gt;&lt;br&gt;
As principais características de uma &lt;strong&gt;Linguagem de Programação&lt;/strong&gt; (✨) e como elas funcionam com &lt;strong&gt;Dart&lt;/strong&gt; (🎯):&lt;/p&gt;

&lt;p&gt;✨ &lt;strong&gt;Sintaxe:&lt;/strong&gt; É o conjunto de regras que define como o código deve ser escrito;&lt;br&gt;
🎯 &lt;strong&gt;Em Dart&lt;/strong&gt; temos um conjunto de regras para diferentes situações:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//variáveis
String nome = "Natasha";
int idade = 30;
double altura = 1.75;
bool gostaDeFlutter = true;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Variáveis:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cada linha termina com &lt;code&gt;;&lt;/code&gt; (ponto e vírgula).&lt;/li&gt;
&lt;li&gt;Usa tipagem flexível, pode ser estaticamente tipado ou dinamicamente tipado.&lt;/li&gt;
&lt;li&gt;Strings usam aspas duplas &lt;code&gt;""&lt;/code&gt; ou simples &lt;code&gt;''&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;






&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//funções
void saudacao(String nome) {
  print("Olá, $nome!");
}

void main() {
  saudacao("Natasha");
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Funções:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;void&lt;/code&gt; indica que a função não retorna nada.&lt;/li&gt;
&lt;li&gt;Argumentos da função são tipados (ex: &lt;code&gt;String nome&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;O bloco de código fica entre &lt;code&gt;{}&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;






&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//estruturas de controle
void verificarIdade(int idade) {
  if (idade &amp;gt;= 18) {
    print("Maior de idade");
  } else {
    print("Menor de idade");
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Estruturas de Controle:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Condições usam &lt;code&gt;if&lt;/code&gt;, &lt;code&gt;else&lt;/code&gt; e &lt;code&gt;else if&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Comparações usam operadores como &lt;code&gt;&amp;gt;=&lt;/code&gt;, &lt;code&gt;&amp;lt;=&lt;/code&gt;, &lt;code&gt;==&lt;/code&gt;, &lt;code&gt;!=&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;






&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//classes e objetos
class Pessoa {
  String nome;
  int idade;

  Pessoa(this.nome, this.idade);

  void apresentar() {
    print("Meu nome é $nome e tenho $idade anos.");
  }
}

void main() {
  Pessoa pessoa = Pessoa("Natasha", 30);
  pessoa.apresentar();
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Classes e Objetos:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Classes são definidas com &lt;code&gt;class&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Construtores podem usar &lt;code&gt;this&lt;/code&gt; para atribuir valores diretamente.&lt;/li&gt;
&lt;li&gt;Métodos usam &lt;code&gt;void&lt;/code&gt; ou outro tipo de retorno.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;✨ &lt;strong&gt;Semântica:&lt;/strong&gt; O significado por trás das instruções escritas no código;&lt;br&gt;
🎯 &lt;strong&gt;Em Dart&lt;/strong&gt; a semântica é interpretada pelo compilador:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//erro semântico
int soma(int a, int b) {
  return a - b; //erro semântico! era para somar, mas está subtraindo.
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Erro semântico (sintaxe correta, mas lógica errada).&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//erro de referência
String nome = "Natasha";
print(idade); //erro: "idade" não foi declarada.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;O compilador não encontra a variável idade, causando um erro de referência inexistente, ou seja, o código roda sem erro, mas não faz o que deveria.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;✨ &lt;strong&gt;Paradigmas:&lt;/strong&gt; Diferentes formas de programar. (ex: Programação Orientada a Objetos, Funcional ou Procedural);&lt;br&gt;
🎯 &lt;strong&gt;Dart&lt;/strong&gt; é &lt;strong&gt;Multiparadigma&lt;/strong&gt;, suportando programação orientada a objetos, funcional e assíncrona.&lt;/p&gt;

&lt;p&gt;✨ &lt;strong&gt;Compilação ou Interpretação:&lt;/strong&gt; Algumas linguagens precisam ser compiladas antes de serem executadas, enquanto outras são interpretadas diretamente.&lt;br&gt;
🎯 &lt;strong&gt;Dart&lt;/strong&gt; possui &lt;strong&gt;compilação eficiente&lt;/strong&gt;, podendo ser compilado para código nativo (rodando diretamente no processador) ou para JavaScript (para aplicações Web).&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%2Fgr7stm8sddwz1ncrke1s.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%2Fgr7stm8sddwz1ncrke1s.png" alt="Ilustração de um rapaz abraçando uma gigante xícara de café" width="400" height="318"&gt;&lt;/a&gt;&lt;br&gt;
Não é necessário que se aprenda primeiramente Dart para depois aprender Flutter, esse aprendizado pode acontecer simultaneamente. Mas é essencial o aprendizado de Dart para a utilização do Flutter.&lt;/p&gt;




&lt;p&gt;Links úteis:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dart.dev/language" rel="noopener noreferrer"&gt;Documentação Oficial&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=i7IzlVImHEc" rel="noopener noreferrer"&gt;Dart — Dicionário do Programador (Youtube)&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/dart-lang" rel="noopener noreferrer"&gt;Github Oficial&lt;/a&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>dart</category>
      <category>braziliandevs</category>
      <category>developer</category>
    </item>
    <item>
      <title>O que é flutter?</title>
      <dc:creator>Natasha</dc:creator>
      <pubDate>Thu, 06 Mar 2025 10:00:00 +0000</pubDate>
      <link>https://dev.to/na2kstudies/o-que-e-flutter-4ebh</link>
      <guid>https://dev.to/na2kstudies/o-que-e-flutter-4ebh</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"[…] quando vejo um possível unicórnio no horizonte, claro que não acredito. No entanto, quando chego mais perto e vejo que o unicórnio é mesmo real, bem, ele deixa de ser um unicórnio, certo? É a realidade, e uma realidade fascinante."&lt;/em&gt;&lt;br&gt;
ZAMMETTI, Frank. Flutter na prática: Melhore seu desenvolvimento mobile com o SDK open source mais recente do Google. São Paulo: Novatec, 2020.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Flutter&lt;/strong&gt; é um framework de código aberto &lt;em&gt;(open source)&lt;/em&gt; criado pela Google em 2015, e que teve a sua primeira release em 2018. Em outras palavras, "framework" em tradução direta do inglês, significa "estrutura", assim, um framework é uma estrutura composta por diversas bibliotecas pré-prontas que podem ser importadas e que são feitas para facilitar o desenvolvimento de projetos, e resolver problemas específicos.&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%2F6pzg83u2x5e48rxsl4qj.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%2F6pzg83u2x5e48rxsl4qj.png" alt="print dos pacotes mais populares em: https://pub.dev/" width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;O Flutter utiliza a linguagem Dart, também criada pelo Google, que tem princípios de orientação a objetos, como herança e polimorfismo. O Dart é uma linguagem otimizada para "client-side" multiplataforma. O objetivo do Dart é ser uma linguagem mais produtiva e flexível, para servir como base para diversos frameworks voltados para o desenvolvimento de aplicativos.&lt;/p&gt;

&lt;p&gt;O Flutter permite construir aplicações nativas cross-platform (web, desktop e mobile - iOS e Android), utilizando apenas um único código. Ou seja, esse é um modelo híbrido de desenvolvimento, onde o mesmo código funciona em diferentes plataformas ao mesmo tempo. &lt;/p&gt;

&lt;p&gt;Esse framework é composto por três partes principais, sendo elas:&lt;br&gt;
&lt;strong&gt;SDK (Software Development Kit):&lt;/strong&gt; Conjunto de ferramentas para compilar seu código.&lt;br&gt;
&lt;strong&gt;Framework/Widget Library:&lt;/strong&gt; Pacotes/Componentes de UI (widgets) que podem ser reutilizados.&lt;br&gt;
&lt;strong&gt;Engine (Skia - C/C++):&lt;/strong&gt; Núcleo do Flutter.&lt;/p&gt;

&lt;p&gt;O Flutter utiliza widgets para desenhar elementos na tela. Os widgets são as classes especiais e personalizáveis, ou seja, a UI (design de interface) do aplicativo, é composto por uma árvore de widgets. Existem diversos tipos de widgets para várias formas de elementos gráficos. E por isso, o Flutter é considerado como utilitário para o Front-End.&lt;/p&gt;

&lt;p&gt;As principais características do flutter, são:&lt;br&gt;
&lt;strong&gt;Desenvolvimento ágil:&lt;/strong&gt; Um único código para várias plataformas. Linguagem Dart, fácil de aprender com sintaxe moderna e foco em alta performance.&lt;br&gt;
&lt;strong&gt;Personalização:&lt;/strong&gt; Oferece ferramentas para criar interfaces personalizadas, incluindo suporte para Material Design (design padrão da Google) e Cupertino (estilo de design do iOS).&lt;br&gt;
&lt;strong&gt;Open Source:&lt;/strong&gt; Gratuito e com uma comunidade ativa, também é constantemente atualizado pela Google, com melhorias e novos recursos.&lt;br&gt;
&lt;strong&gt;Hot Reload:&lt;/strong&gt; Permite que os desenvolvedores vejam mudanças no código quase instantaneamente na interface do aplicativo, sem a necessidade de reiniciar a aplicação. &lt;br&gt;
&lt;strong&gt;Alta performance:&lt;/strong&gt; O Flutter não usa componentes nativos das plataformas; em vez disso, ele desenha tudo na tela diretamente, utilizando o mecanismo gráfico Skia. Isso proporciona alta performance e maior controle sobre a interface.&lt;/p&gt;




&lt;p&gt;Links úteis:&lt;br&gt;
&lt;a href="https://docs.flutter.dev/get-started/install" rel="noopener noreferrer"&gt;Get Started (Site Oficial)&lt;/a&gt;&lt;br&gt;
&lt;a href="https://roadmap.sh/flutter" rel="noopener noreferrer"&gt;Flutter Roadmap&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.youtube.com/watch?v=b_sQ9bMltGU" rel="noopener noreferrer"&gt;Widget of the Week (Youtube Oficial)&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/flutter" rel="noopener noreferrer"&gt;Github Oficial&lt;/a&gt;&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>braziliandevs</category>
      <category>programming</category>
      <category>development</category>
    </item>
  </channel>
</rss>
