<?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: Gabriel Rocha</title>
    <description>The latest articles on DEV Community by Gabriel Rocha (@gabrielrocha).</description>
    <link>https://dev.to/gabrielrocha</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%2F308671%2F878e3423-72e4-4df7-b59a-8c4b52a8ba89.jpg</url>
      <title>DEV Community: Gabriel Rocha</title>
      <link>https://dev.to/gabrielrocha</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gabrielrocha"/>
    <language>en</language>
    <item>
      <title>Building a Pomodoro app</title>
      <dc:creator>Gabriel Rocha</dc:creator>
      <pubDate>Tue, 23 Jul 2024 13:27:06 +0000</pubDate>
      <link>https://dev.to/gabrielrocha/building-a-pomodoro-app-1p91</link>
      <guid>https://dev.to/gabrielrocha/building-a-pomodoro-app-1p91</guid>
      <description>&lt;h2&gt;
  
  
  Intro
&lt;/h2&gt;

&lt;p&gt;A while ago, as a React web developer and currently React Native and Java developer, I decided to return to my roots and code some native Android app. So, to practice, I started working on a Pomodoro app, but I wanted it to be different from the others.&lt;/p&gt;

&lt;h2&gt;
  
  
  Idea
&lt;/h2&gt;

&lt;p&gt;I decided, then, to build the app in a way to be as lightweight and performant as possible and be compatible with the most devices as possible, in counterpart to most of today apps.&lt;/p&gt;

&lt;p&gt;Last week, I launched the second alpha version on Google Play Store, it's also my first app ever. It works, but with some bugs, deprecated code, unimplemented functionality... 😅&lt;/p&gt;

&lt;h2&gt;
  
  
  Open-Source
&lt;/h2&gt;

&lt;p&gt;The code of this app is open-sourced, so if you're interested to take a look, contribute or get some inspiration, please visit the &lt;a href="https://github.com/gabrielrochamd/Pomodoro" rel="noopener noreferrer"&gt;Github repo&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;It has been quite a journey. I'm liking it and excited for more. If you're interested, you can &lt;a href="https://play.google.com/store/apps/details?id=br.dev.gabrielrocha.pomodoro" rel="noopener noreferrer"&gt;download the app&lt;/a&gt;. If you do so, tell me what you think of it in the comments. Cheers!&lt;/p&gt;

</description>
      <category>mobile</category>
      <category>android</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Frontend Roadmap</title>
      <dc:creator>Gabriel Rocha</dc:creator>
      <pubDate>Mon, 06 Sep 2021 23:57:06 +0000</pubDate>
      <link>https://dev.to/gabrielrocha/frontend-roadmap-id5</link>
      <guid>https://dev.to/gabrielrocha/frontend-roadmap-id5</guid>
      <description>&lt;h1&gt;
  
  
  Internet
&lt;/h1&gt;

&lt;p&gt;Learn about how Internet and browsers work, client and server and the main communication protocols between them. &lt;/p&gt;

&lt;p&gt;What you should learn: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What the Internet is&lt;/li&gt;
&lt;li&gt;What is HTTP&lt;/li&gt;
&lt;li&gt;HTTP/3&lt;/li&gt;
&lt;li&gt;How browsers work&lt;/li&gt;
&lt;li&gt;How DNS work &lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Learn HTML
&lt;/h1&gt;

&lt;p&gt;HTML serves to build the skeleton of a web page. Learn about each tag functionality, learn about semantic HTML and learn the basics of SEO. &lt;/p&gt;

&lt;h1&gt;
  
  
  Learn CSS
&lt;/h1&gt;

&lt;p&gt;CSS serves to style your web page. Following the human body analogy, CSS would be the page skin. &lt;/p&gt;

&lt;h1&gt;
  
  
  Learn Javascript
&lt;/h1&gt;

&lt;p&gt;Javascript is what allows you to define your page behavior. With Javascript, you can, for example, execute actions in response to events, like a click event. &lt;/p&gt;

&lt;h1&gt;
  
  
  Learn Git
&lt;/h1&gt;

&lt;p&gt;Git is a code version manager that serves to maintain control of changes made in your code, as well as the date and author of those changes. &lt;/p&gt;

&lt;p&gt;Git is even more efficient in a situation where many people need to teamwork in the same code base. &lt;/p&gt;

&lt;h1&gt;
  
  
  Learn Package Management
&lt;/h1&gt;

&lt;p&gt;Learn to use a package managing tool like NPM is important because those packages supply ready code to repeating tasks.&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;This post was inspired by the website Developer Roadmaps. See the complete Frontend roadmap &lt;a href="https://roadmap.sh/frontend" rel="noopener noreferrer"&gt;here&lt;/a&gt;. In that page, you will find the continuation of that flowchart and links to where you can learn every described concepts.&lt;/p&gt;

</description>
      <category>brazil</category>
      <category>english</category>
      <category>webdev</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Frontend x Backend [em Português]</title>
      <dc:creator>Gabriel Rocha</dc:creator>
      <pubDate>Mon, 17 May 2021 17:14:41 +0000</pubDate>
      <link>https://dev.to/gabrielrocha/frontend-x-backend-552d</link>
      <guid>https://dev.to/gabrielrocha/frontend-x-backend-552d</guid>
      <description>&lt;h1&gt;
  
  
  O que são?
&lt;/h1&gt;

&lt;p&gt;Esses dois termos se referem às diferentes partes de uma aplicação. São mais usados em desenvolvimento web, mas também podem ser usados no desenvolvimento de aplicações para outras plataformas. Neste artigo, eu vou falar sobre frontend e backend na perspectiva do desenvolvimento web.&lt;/p&gt;

&lt;h1&gt;
  
  
  Frontend
&lt;/h1&gt;

&lt;p&gt;Toda a parte da aplicação com a qual o usuário interage. A estrutura e o comportamento do que é visto na tela são responsabilidade do desenvolvedor que atua nessa parte.&lt;/p&gt;

&lt;h2&gt;
  
  
  Linguagens de programação
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;HTML&lt;/li&gt;
&lt;li&gt;CSS&lt;/li&gt;
&lt;li&gt;Javascript&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cada uma dessas linguagens tem a sua função e você precisará das três para se tornar um desenvolvedor front-end.&lt;/p&gt;

&lt;h3&gt;
  
  
  HTML
&lt;/h3&gt;

&lt;p&gt;O HTML é responsável pela estrutura da página. É usando-o que você define quais elementos vão aparecer na tela.&lt;/p&gt;

&lt;h3&gt;
  
  
  CSS
&lt;/h3&gt;

&lt;p&gt;O CSS é responsável pela estilização da página. Desde cores, bordas e margens até animações são criadas com essa linguagem.&lt;/p&gt;

&lt;h3&gt;
  
  
  Javascript
&lt;/h3&gt;

&lt;p&gt;O Javascript é responsável pelo comportamento da página. Você precisará usar essa linguagem para realizar ações em cliques de botão ou para enviar formulários, entre outras coisas.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frameworks
&lt;/h2&gt;

&lt;p&gt;Os frameworks ajudam facilitar e agilizar o desenvolvimento. Eles contém código pronto de coisas que precisamos usar em vários projetos (ex: barra de menu) ou de tarefas trabalhosas (ex: receber dados de uma base e mostrar em uma tabela).&lt;/p&gt;

&lt;h3&gt;
  
  
  CSS
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Bootstrap&lt;/li&gt;
&lt;li&gt;Materialize&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Javascript
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Angular&lt;/li&gt;
&lt;li&gt;React&lt;/li&gt;
&lt;li&gt;Vue.js&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Backend
&lt;/h1&gt;

&lt;p&gt;A parte que lida com os dados e a lógica de negócio da aplicação. O usuário não tem contato direto com essa parte da aplicação. Geralmente, o backend trata de tarefas que exigem um certo nível de segurança, ex: autenticação.&lt;/p&gt;

&lt;h2&gt;
  
  
  Linguagens de programação
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Java&lt;/li&gt;
&lt;li&gt;Javascript&lt;/li&gt;
&lt;li&gt;PHP&lt;/li&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;Ruby&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Os frameworks de backend seguem o mesmo conceito dos frameworks de frontend mas desempenham funções diferentes. O Express, por exemplo, é um framework do ambiente em tempo de execução (JRE) Node.js que auxilia em funções como o tratamento de rotas.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frameworks
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Django&lt;/li&gt;
&lt;li&gt;Laravel&lt;/li&gt;
&lt;li&gt;Ruby on Rails&lt;/li&gt;
&lt;li&gt;Spring Boot&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>Frontend x Backend</title>
      <dc:creator>Gabriel Rocha</dc:creator>
      <pubDate>Mon, 17 May 2021 17:14:28 +0000</pubDate>
      <link>https://dev.to/gabrielrocha/frontend-x-backend-mc2</link>
      <guid>https://dev.to/gabrielrocha/frontend-x-backend-mc2</guid>
      <description>&lt;h1&gt;
  
  
  What they are?
&lt;/h1&gt;

&lt;p&gt;These two terms refer to different parts of an application. They are more used in web development, but can be used in development of applications in another platforms. In this article I will talk about frontend and backend in the perspective of web development.&lt;/p&gt;

&lt;h1&gt;
  
  
  Frontend
&lt;/h1&gt;

&lt;p&gt;The whole part of the application with which the user interacts. The structure and the behavior of what appears on the screen are responsibility of the developer that works at this part.&lt;/p&gt;

&lt;h2&gt;
  
  
  Programming languages
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;HTML&lt;/li&gt;
&lt;li&gt;CSS&lt;/li&gt;
&lt;li&gt;Javascript&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  HTML
&lt;/h2&gt;

&lt;p&gt;HTML is responsible for the structure of the page. It's using it that you define which element are going to appear on the screen.&lt;/p&gt;

&lt;h3&gt;
  
  
  CSS
&lt;/h3&gt;

&lt;p&gt;CSS is responsible for styling the page. From colors, borders and margins to animations are created with this language.&lt;/p&gt;

&lt;h3&gt;
  
  
  Javascript
&lt;/h3&gt;

&lt;p&gt;Javascript is responsible for the behavior of the page. You will need to use this language to perform actions on button clicks or to submit forms, among other things.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frameworks
&lt;/h2&gt;

&lt;p&gt;Frameworks help facilitate and streamline development. They contain ready-made code for things we need to use in various projects (eg, menu bar) or laborious tasks (eg, receiving data from a database and displaying it in a table).&lt;/p&gt;

&lt;h3&gt;
  
  
  CSS
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Bootstrap&lt;/li&gt;
&lt;li&gt;Materialize&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Javascript
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Angular&lt;/li&gt;
&lt;li&gt;React&lt;/li&gt;
&lt;li&gt;Vue.js&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Backend
&lt;/h1&gt;

&lt;p&gt;The part that handle data and business logic of the application. The user does not have direct contact with that part of the application. Usually, the backend of an application deals with tasks that require a certain level of security, i.e.: authentication.&lt;/p&gt;

&lt;h2&gt;
  
  
  Programming languages
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Java&lt;/li&gt;
&lt;li&gt;Javascript&lt;/li&gt;
&lt;li&gt;PHP&lt;/li&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;Ruby&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Backend frameworks follow the same concept as frontend frameworks but perform different functions. Express, for example, is a framework for the runtime environment (JRE) Node.js that assists in functions such as handling routes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frameworks
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Django&lt;/li&gt;
&lt;li&gt;Laravel&lt;/li&gt;
&lt;li&gt;Ruby on Rails&lt;/li&gt;
&lt;li&gt;Spring Boot&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>brazil</category>
      <category>english</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Como começar em programação</title>
      <dc:creator>Gabriel Rocha</dc:creator>
      <pubDate>Thu, 13 May 2021 00:44:43 +0000</pubDate>
      <link>https://dev.to/gabrielrocha/como-comecar-em-programacao-3ad3</link>
      <guid>https://dev.to/gabrielrocha/como-comecar-em-programacao-3ad3</guid>
      <description>&lt;h1&gt;
  
  
  Entenda o conceito de algoritmos
&lt;/h1&gt;

&lt;p&gt;Algoritmo é uma sequência finita de instruções claramente definidas, que tem como objetivo executar uma tarefa. Esse conceito vai te acompanhar durante toda a sua jornada em programação.&lt;/p&gt;

&lt;p&gt;Esse, por exemplo, é um algoritmo para estudos:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Abrir livro
Ler capítulo 5
Resolver exercícios
Tirar dúvidas
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;h1&gt;
  
  
  Aprenda Lógica e Estrutura de Dados
&lt;/h1&gt;

&lt;p&gt;Esses são mais dois dos conceitos mais básicos e importantes no universo da programação. Dominando esses conceitos, você terá muito mais facilidade em aprender qualquer linguagem de programação.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lógica de Programação
&lt;/h2&gt;

&lt;p&gt;É como os computadores tomam decisões, testando se dados combinados a operadores lógicos geram o resultado esperado.&lt;/p&gt;

&lt;h2&gt;
  
  
  Estrutura de Dados
&lt;/h2&gt;

&lt;p&gt;Esse conceito representa as várias formas nas quais um programa pode organizar dados, como filas e pilhas.&lt;/p&gt;



&lt;h1&gt;
  
  
  Escolha uma linguagem de programação
&lt;/h1&gt;

&lt;p&gt;Se eu posso recomendar duas boas linguagens para iniciantes, são Javascript e Python. Essas duas linguagens são relativamente fáceis e contam com comunidades gigantescas, além de vários cursos.&lt;/p&gt;



&lt;h1&gt;
  
  
  Respeite o processo
&lt;/h1&gt;

&lt;p&gt;Programação é um tema muito abrangente e as tecnologias estão mudando a todo momento. O aprendizado é demorado, mas vai te trazer ótimos resultados.&lt;/p&gt;



&lt;h1&gt;
  
  
  Não se subestime
&lt;/h1&gt;

&lt;p&gt;Se você tiver dificuldades em algum momento, não desista. Isso acontece com todos. Até mesmo com programadores experientes.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to start at programming</title>
      <dc:creator>Gabriel Rocha</dc:creator>
      <pubDate>Thu, 13 May 2021 00:44:05 +0000</pubDate>
      <link>https://dev.to/gabrielrocha/how-to-start-at-programming-13nn</link>
      <guid>https://dev.to/gabrielrocha/how-to-start-at-programming-13nn</guid>
      <description>&lt;h1&gt;
  
  
  Understand the concept of algorithms
&lt;/h1&gt;

&lt;p&gt;Algorithm is a finite sequence of clearly defined instructions, which has as goal to execute a task. This concept will carry you during all your journey in programming.&lt;/p&gt;

&lt;p&gt;This, for example, is an algorithm for studying:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Open book
Read chapter 5
Solve exercises
Ask questions
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;h1&gt;
  
  
  Learn Logic and Data Structure
&lt;/h1&gt;

&lt;p&gt;Those are two more of the most basic and important concepts in the universe of programming. Mastering those concepts, you will have much more ease learning any programming language.&lt;/p&gt;

&lt;h2&gt;
  
  
  Programming Logic
&lt;/h2&gt;

&lt;p&gt;This is how the computers make decisions, testing if data combined to logical operators generate the wanted result.&lt;/p&gt;

&lt;h2&gt;
  
  
  Data Structure
&lt;/h2&gt;

&lt;p&gt;This concept represents the many ways that a program can organize data, like queues or stacks.&lt;/p&gt;



&lt;h1&gt;
  
  
  Choose a programming language
&lt;/h1&gt;

&lt;p&gt;If I may recommend two good languages for beginners, those are Javascript and Python. Those two languages are relatively easy and have huge communities, besides a variety of courses.&lt;/p&gt;



&lt;h1&gt;
  
  
  Respect the process
&lt;/h1&gt;

&lt;p&gt;Programming is a very broad subject and technologies are changing all the time. Learning is a lengthy process, but it will give you great results.&lt;/p&gt;



&lt;h1&gt;
  
  
  Don't underestimate yourself
&lt;/h1&gt;

&lt;p&gt;If you have difficulties at any moment, don't give up. That happens to everybody. Even with experienced programmers.&lt;/p&gt;

</description>
      <category>brazil</category>
      <category>english</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
