<?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: pamelakelly0023</title>
    <description>The latest articles on DEV Community by pamelakelly0023 (@pamelakelly0023).</description>
    <link>https://dev.to/pamelakelly0023</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%2F497566%2Fdde6821b-0be0-4c69-8ac8-02e6cfc94f39.jpeg</url>
      <title>DEV Community: pamelakelly0023</title>
      <link>https://dev.to/pamelakelly0023</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/pamelakelly0023"/>
    <language>en</language>
    <item>
      <title>Angular: SSR vs SSG</title>
      <dc:creator>pamelakelly0023</dc:creator>
      <pubDate>Thu, 03 Jun 2021 19:13:49 +0000</pubDate>
      <link>https://dev.to/pamelakelly0023/angular-ssr-vs-ssg-11lo</link>
      <guid>https://dev.to/pamelakelly0023/angular-ssr-vs-ssg-11lo</guid>
      <description>&lt;h2&gt;
  
  
  Server Side Render (SSR)
&lt;/h2&gt;

&lt;p&gt;Nesse modelo a renderização fica a cargo do servidor, o que torna o carregamento da aplicação mais eficiente. Além de possibilitar melhor performance, nesse modelo também podemos lidar com alguns problemas de SEO (como indexação).&lt;/p&gt;

&lt;h3&gt;
  
  
  Vantagens
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Indexação: é possível definir o conteúdo que será carregado a partir do servidor, sendo assim, este conteúdo seria indexado nos motores de busca. &lt;/li&gt;
&lt;li&gt;Aparelho do usuário: como a renderização acontece do lado do servidor, ocorre uma menor exigência do dispositivo do usuário. &lt;/li&gt;
&lt;li&gt;Performance: Na maioria dos casos tem boa performance e bons resultados na experiência por parte do usuário.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Desvantagens
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Time to first byte maior, já que o servidor irá preparar o conteúdo a ser carregado.&lt;/li&gt;
&lt;li&gt;Reload nas mudanças de rota.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Angular Universal (SSR)
&lt;/h3&gt;

&lt;p&gt;Como indicação para desenvolver com SSR no Angular, indicamos o Angular Universal, inclusive o mais recomendado pela comunidade. &lt;/p&gt;

&lt;p&gt;Bons resultados com SEO, se quisermos atingir todos os motores de buscas. Possui rastreadores de mídia social e melhora de performance. &lt;/p&gt;

&lt;h2&gt;
  
  
  Static Site Generation (SSG)
&lt;/h2&gt;

&lt;p&gt;As vezes a utilização do modo estático para criação de páginas é o mais recomendado. Exatamente se você tiver uma aplicação que raramente sofre algum tipo de alteração em seu conteúdo. Ex: Site Institucional.&lt;/p&gt;

&lt;h3&gt;
  
  
  Vantagens
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Pouco uso do servidor.&lt;/li&gt;
&lt;li&gt;Pode ser usado como CDN.&lt;/li&gt;
&lt;li&gt;Ótimo SEO.&lt;/li&gt;
&lt;li&gt;Baixo consumo de memória, processador, etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Desvantagens
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Não usar caso a aplicação seja muito grande ou é alterada com frequência. &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Scully (SSG)
&lt;/h3&gt;

&lt;p&gt;Recomendamos o Scully caso você queira investir na criação de uma aplicação estática. O mesmo encontra-se nos padrões de boas práticas do JAMStack.&lt;/p&gt;

&lt;p&gt;O Scully explora as rotas da sua aplicação e cria uma estrutura listada com as rotas e gera um index.html para cada uma. &lt;/p&gt;

&lt;p&gt;Através do Scully é possível evitar longo tempo de carregamento e o tamanho da aplicação é até mesmo reduzido. &lt;/p&gt;

&lt;p&gt;Conta também com um sistema de plugins que podem tornar sua aplicação estática mais poderosa. &lt;/p&gt;

&lt;h3&gt;
  
  
  Qual usar?💻
&lt;/h3&gt;

&lt;p&gt;Depende.&lt;/p&gt;

&lt;p&gt;Depende do objetivo da aplicação.&lt;br&gt;
Para um site simples sem grandes modificações, recomendamos o uso do SSG. Entretanto, se o seu site tem dinamismo, você tem preocupação com indexação nos motores de busca e experiência do usuário, o ideal seria o SSR.&lt;/p&gt;

</description>
      <category>angular</category>
      <category>scully</category>
      <category>ssr</category>
      <category>ssg</category>
    </item>
    <item>
      <title>Conceitos básicos de programação orientada a objetos (POO)</title>
      <dc:creator>pamelakelly0023</dc:creator>
      <pubDate>Mon, 07 Dec 2020 18:21:46 +0000</pubDate>
      <link>https://dev.to/pamelakelly0023/conceitos-basicos-de-programacao-orientada-a-objetos-poo-3l0c</link>
      <guid>https://dev.to/pamelakelly0023/conceitos-basicos-de-programacao-orientada-a-objetos-poo-3l0c</guid>
      <description>&lt;p&gt;É um método de desenvolvimento de software que reúne um conjunto de componentes para resolução do problema. Esses componentes são OBJETOS.&lt;/p&gt;

&lt;p&gt;Segundo Melo (2004, p.15), um objeto é qualquer coisa, em forma concreta ou abstrata, que exista física ou apenas conceitualmente no mundo real.&lt;/p&gt;

&lt;p&gt;Por exemplo: cliente, professor, caneta, carro.&lt;br&gt;
Sendo que esses objetos possuem características e comportamentos.&lt;/p&gt;

&lt;h2&gt;
  
  
  Classes
&lt;/h2&gt;

&lt;p&gt;Uma classe é uma abstração de um conjunto de objetos que possuem os mesmos tipos, características e comportamentos.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Livro {
    titulo: string
    autor: string
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Temos uma Classe do objeto Livro, com os seus atributos (características), título e autor, ambos do tipo string.&lt;/p&gt;

&lt;p&gt;Uma Classe possui também pode possuir métodos.&lt;/p&gt;

&lt;h2&gt;
  
  
  Métodos
&lt;/h2&gt;

&lt;p&gt;São as atividades que uma instância de uma classe pode executar. Quando ele é chamado, então se executa um conjunto de instruções que foram previamente programadas dentro desse método.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Livro {
    titulo: string
    autor: string
    adicionarLivro(){
    //cadastro de novo livro
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Nem todos os atributos e métodos devem ser visíveis para todos, então temos a…&lt;/p&gt;

&lt;h2&gt;
  
  
  Visibilidade
&lt;/h2&gt;

&lt;p&gt;Serve para indicar o seu nível de acessibilidade.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fD_EbWm3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/i/6ufi4dcgyuslr7h69ja5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fD_EbWm3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/i/6ufi4dcgyuslr7h69ja5.png" alt="Alt Text" width="372" height="248"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(+) publico -&amp;gt; a classe atual e todas as outras tem acesso.&lt;/p&gt;

&lt;p&gt;(-) privada -&amp;gt; somente a classe atual tem acesso.&lt;/p&gt;

&lt;p&gt;(#) protegido -&amp;gt; a classe atual e todas suas sub-classses tem acesso.&lt;/p&gt;

&lt;h2&gt;
  
  
  Herança
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--f6tN2ufn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/i/6u9sioogqjoalru7zd3d.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--f6tN2ufn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/i/6u9sioogqjoalru7zd3d.gif" alt="Alt Text" width="363" height="138"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A herança permite que as classes compartilhem atributos e métodos. Significa que os objetos da subclasse podem ser utilizados em qualquer local em que a superclasse ocorra, mas não vice-versa. A subclasse herda as propriedades da classe-mãe. A vantagem de se utilizar herança é a reutilização de código.&lt;/p&gt;

&lt;h2&gt;
  
  
  Polimorfismo
&lt;/h2&gt;

&lt;p&gt;Ocorre quando uma subclasse redefine um método existente na superclasse, ou seja, quando temos os métodos sobrescritos (overriding).&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Mamifero {
    //SuperClasse
    locomoverSe() {
    // A ser implementado em alguma subclasse. 
     }
 }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;SubClasses herdam e sobrescrevem o método citado da seguinte forma:&lt;/p&gt;

&lt;p&gt;SubClasse Macaco:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;locomoverSe() {
 pulandoDeGalhoEmGalho; 
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;SubClasse Baleia:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;locomoverSe() {
 nadando;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>poo</category>
      <category>programming</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
