<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Front-End Development</title>
	<atom:link href="http://frontenddevelopment.com.br/feed/" rel="self" type="application/rss+xml" />
	<link>http://frontenddevelopment.com.br</link>
	<description>Conteúdo voltado a todos que criam de sites.</description>
	<lastBuildDate>Tue, 02 Oct 2018 19:18:32 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.9.10</generator>

<image>
	<url>http://frontenddevelopment.com.br/wp-content/uploads/2016/06/cropped-avatar-32x32.png</url>
	<title>Front-End Development</title>
	<link>http://frontenddevelopment.com.br</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>CSS object-fit: para que serve e como utilizar</title>
		<link>http://frontenddevelopment.com.br/css-object-fit-para-que-serve-e-como-utilizar/</link>
		<comments>http://frontenddevelopment.com.br/css-object-fit-para-que-serve-e-como-utilizar/#comments</comments>
		<pubDate>Tue, 19 Dec 2017 19:10:10 +0000</pubDate>
		<dc:creator><![CDATA[Carlos Souza]]></dc:creator>
				<category><![CDATA[Front-End Development]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[object-fit]]></category>

		<guid isPermaLink="false">http://frontenddevelopment.com.br/?p=288</guid>
		<description><![CDATA[<p>Uma das propriedades que descobri recentemente (e não é nova) é a object-fit que especifica como o conteúdo de um determinado elemento se encaixa dentro de seus limites definidos por sua largura e altura. Os casos que imagino serem os mais comuns seriam o encaixe de uma imagem ou vídeo dentro de um cabeçalho do site, por exemplo: [&#8230;]</p>
<p>The post <a rel="nofollow" href="http://frontenddevelopment.com.br/css-object-fit-para-que-serve-e-como-utilizar/">CSS object-fit: para que serve e como utilizar</a> appeared first on <a rel="nofollow" href="http://frontenddevelopment.com.br">Front-End Development</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><a href="http://frontenddevelopment.com.br/wp-content/uploads/2017/12/destaque-object-fit.jpg"><img class="alignnone size-full wp-image-301" src="http://frontenddevelopment.com.br/wp-content/uploads/2017/12/destaque-object-fit.jpg" alt="" width="1000" height="600" srcset="http://frontenddevelopment.com.br/wp-content/uploads/2017/12/destaque-object-fit.jpg 1000w, http://frontenddevelopment.com.br/wp-content/uploads/2017/12/destaque-object-fit-300x180.jpg 300w, http://frontenddevelopment.com.br/wp-content/uploads/2017/12/destaque-object-fit-768x461.jpg 768w" sizes="(max-width: 1000px) 100vw, 1000px" /></a></p>
<p>Uma das propriedades que descobri recentemente (e não é nova) é a <strong><code>object-fit</code></strong> que especifica como o conteúdo de um determinado elemento se encaixa dentro de seus limites definidos por sua <strong>largura</strong> e <strong>altura</strong>.</p>
<p><span id="more-288"></span></p>
<p>Os casos que imagino serem os mais comuns seriam o encaixe de uma imagem ou vídeo dentro de um cabeçalho do site, por exemplo:</p>
<p style="text-align: center;"><a href="http://frontenddevelopment.com.br/wp-content/uploads/2017/12/header-coopers.jpg"><img class="aligncenter wp-image-292" src="http://frontenddevelopment.com.br/wp-content/uploads/2017/12/header-coopers-294x300.jpg" alt="Cabeçalho do site da Coopers" width="500" height="510" srcset="http://frontenddevelopment.com.br/wp-content/uploads/2017/12/header-coopers-294x300.jpg 294w, http://frontenddevelopment.com.br/wp-content/uploads/2017/12/header-coopers-768x784.jpg 768w, http://frontenddevelopment.com.br/wp-content/uploads/2017/12/header-coopers-1003x1024.jpg 1003w" sizes="(max-width: 500px) 100vw, 500px" /></a></p>
<p>O problema é que nossos sites devem ser <strong>adaptáveis</strong>, ou seja, tanto a largura e altura do <em>container</em> muda dependendo do tamanho da tela do dispositivo de acesso, por isso o conteúdo deve se encaixar de forma <strong>proporcional</strong>, sem perder suas características originais e ficar distorcido.</p>
<h3>Como solucionar o problema</h3>
<p>Caso você desenvolva um projeto no qual o usuário possa atualizar o conteúdo e a imagem do cabeçalho precise ser alterada, por exemplo, uma saída comum seria utiliza-la como <code>background</code> do elemento com o valor <code>background-size: cover</code>. O problema, além do óbvio uso do estilo <em>inline</em>, é que a imagem em questão não estaria no conteúdo da página e não seria indexada e, caso tal página fosse compartilhada, a imagem não estaria disponível para ser usada na rede social.</p>
<p>Para solucionar este problema de vez, a propriedade <strong><code>object-fit</code></strong> pode ser utilizada, permitindo o uso de uma imagem e definir como o conteúdo deste elemento seja exibido dentro das medidas especificadas por CSS:</p>
<p style="text-align: center;"><a href="http://frontenddevelopment.com.br/wp-content/uploads/2017/12/image-container.jpg"><img class="alignnone size-full wp-image-294" src="http://frontenddevelopment.com.br/wp-content/uploads/2017/12/image-container.jpg" alt="" width="554" height="370" srcset="http://frontenddevelopment.com.br/wp-content/uploads/2017/12/image-container.jpg 554w, http://frontenddevelopment.com.br/wp-content/uploads/2017/12/image-container-300x200.jpg 300w" sizes="(max-width: 554px) 100vw, 554px" /><br />
</a><em>Encaixe do conteúdo dentro do espaço definido pelo elemento com <strong>object-fit</strong></em></p>
<h3>Sintaxe</h3>
<p>A propriedade possui alguns valores, cada um deles com suas respectivas particularidades:</p>
<ul>
<li><strong><code>fill</code><br />
</strong>O conteúdo fica exatamente com as medidas do elemento, ou seja, se você definir as medidas de 500px x 250px, o conteúdo dela (a imagem em si) ocupará esse espaço todo;</li>
<li><strong><code>contain</code><br />
</strong>O conteúdo respeita as dimensões do elemento, porém mantém suas proporções, algo como um <em>max-width </em>ou <em>max-height</em> aplicados na imagem;</li>
<li><strong><code>cover</code><br />
</strong>O conteúdo preenche todo o espaço, porém de maneira proporcional, sem deixar espaços vazios (como na imagem exemplificada acima). Neste caso é obrigatório que a largura e altura mínima do conteúdo correspondam às medidas definidas;</li>
<li><strong><code>none</code></strong><br />
O conteúdo não é redimensionado para ser encaixado dentro das medidas definidas no elemento;</li>
<li><strong><code>scale-down</code><br />
</strong>O conteúdo é redimensionado como se <strong>none</strong> ou <strong>contain</strong> fossem definidos, quaisquer propriedade resulte em uma dimensão menor.</li>
</ul>
<h3>Exemplos práticos</h3>
<p class="codepen" data-height="600" data-theme-id="light" data-slug-hash="ypOjvb" data-default-tab="result" data-user="coopersdigitalproduction" data-embed-version="2" data-pen-title="CSS object-fit examples">See the Pen <a href="https://codepen.io/coopersdigitalproduction/pen/ypOjvb/">CSS object-fit examples</a> by Coopers Digital Production (<a href="https://codepen.io/coopersdigitalproduction">@coopersdigitalproduction</a>) on <a href="https://codepen.io">CodePen</a>.</p>
<p><script async src="https://production-assets.codepen.io/assets/embed/ei.js"></script></p>
<h3>Como está o suporte dos navegadores?</h3>
<p><a href="https://caniuse.com/#search=object-fit">De acordo com o caniuse.com</a> o uso desta propriedade é bem seguro, tendo problemas somente no Internet Explorer e Edge até a versão 15. Para contornar a falta de compatibilidade, testei o <a href="https://github.com/constancecchen/object-fit-polyfill"><strong>object-fit-polyfill</strong></a>, o qual se mostrou a solução mais adequada, já que funciona com <code>img</code>, <code>video</code>, <code>srcset</code> e <code>picture</code>.</p>
<p>Na prática este <em>polyfill</em> redimensiona e reposiciona o elemento de acordo com o valor desejado para o <code>object-fit</code>, sem transformá-lo em um simples background.</p>
<h4>Referências</h4>
<ul>
<li><a href="http://www.maujor.com/tutorial/propriedade-css-object-fit.php">Maujor</a></li>
<li><a href="https://developer.mozilla.org/pt-BR/docs/Web/CSS/object-fit">MDN</a></li>
<li><a href="https://css-tricks.com/almanac/properties/o/object-fit/">CSS Tricks</a></li>
</ul>
<p>The post <a rel="nofollow" href="http://frontenddevelopment.com.br/css-object-fit-para-que-serve-e-como-utilizar/">CSS object-fit: para que serve e como utilizar</a> appeared first on <a rel="nofollow" href="http://frontenddevelopment.com.br">Front-End Development</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://frontenddevelopment.com.br/css-object-fit-para-que-serve-e-como-utilizar/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Links para o front-end developer #10</title>
		<link>http://frontenddevelopment.com.br/links-para-o-front-end-developer-10/</link>
		<comments>http://frontenddevelopment.com.br/links-para-o-front-end-developer-10/#respond</comments>
		<pubDate>Fri, 19 May 2017 15:32:02 +0000</pubDate>
		<dc:creator><![CDATA[Carlos Souza]]></dc:creator>
				<category><![CDATA[Front-End Development]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[responsive web design]]></category>

		<guid isPermaLink="false">http://frontenddevelopment.com.br/?p=270</guid>
		<description><![CDATA[<p>Referências para melhor escrita de CSS, os frameworks front-end mais usados atualmente, guia para iniciantes em JavaScript entre outros assuntos relevantes.</p>
<p>The post <a rel="nofollow" href="http://frontenddevelopment.com.br/links-para-o-front-end-developer-10/">Links para o front-end developer #10</a> appeared first on <a rel="nofollow" href="http://frontenddevelopment.com.br">Front-End Development</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>&nbsp;</p>
<p><a href="http://frontenddevelopment.com.br/wp-content/uploads/2017/05/destaque-links-10.jpg"><img class="alignnone size-full wp-image-272" src="http://frontenddevelopment.com.br/wp-content/uploads/2017/05/destaque-links-10.jpg" alt="" width="1000" height="600" srcset="http://frontenddevelopment.com.br/wp-content/uploads/2017/05/destaque-links-10.jpg 1000w, http://frontenddevelopment.com.br/wp-content/uploads/2017/05/destaque-links-10-300x180.jpg 300w, http://frontenddevelopment.com.br/wp-content/uploads/2017/05/destaque-links-10-768x461.jpg 768w" sizes="(max-width: 1000px) 100vw, 1000px" /></a></p>
<p>Chegamos ao décimo post da nossa série, dessa vez com links bem diversificados tanto para desenvolvimento front-end como design para Web:</p>
<ol>
<li><strong><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript">A re-introduction to JavaScript</a><br />
</strong>Ótima referência da Mozilla para iniciantes e àqueles que já desenvolvem mas precisam de uma recapitulada nos conceitos do JavaScript. A documentação é bem extensa e passa por diversos conceitos até níveis avançados.</li>
<li><a href="https://css-tricks.com/bem-101/"><strong>BEM 101<br />
</strong></a>Entenda como funciona a metodologia BEM para nomenclatura de componentes no CSS, facilitando a compreensão e hierarquia das informações em projetos de todos os tamanhos.</li>
<li><strong><a href="https://www.sitepoint.com/5-most-popular-frontend-frameworks-compared/">The 5 Most Popular Frontend Frameworks of 2017 Compared</a><br />
</strong>Aqui na <a href="http://coopers.pro">Coopers</a> utilizamos o Foundation em todos os nossos projetos, devido a metodologia usada para construção e customização de seus componentes. Porém há diversas outras opções, como o próprio Bootstrap, que podem se adequar às necessidades de cada equipe de desenvolvimento. A comparação no artigo é um pouco superficial, mas vale dar uma olhada nas opções mais utilizadas atualmente.</li>
<li><a href="https://css-tricks.com/enforcing-css-syntax-style/"><strong>Enforcing CSS styntax style</strong></a><br />
Estamos habituados a utilizar ferramentas que <a href="http://frontenddevelopment.com.br/javascript-lint/">validam código JavaScript</a> no <em>workflow</em> convencional, porém a metodologia apresentada nesse artigo reforça como é importante validar, também, códigos CSS. Como nós temos uma filosofia muito forte em relação à maneira como devemos organizar nosso código, este tipo de aplicação será muito útil!</li>
<li><strong><a href="https://css-tricks.com/extremely-handy-nth-child-recipes-sass-mixins/">Some Extremely Handy `:nth-child` Recipes as Sass Mixins</a><br />
</strong>Artigo com diversos exemplos práticos com aplicações não muito usuais (mas muito úteis!) com o seletor <strong>:nth-child</strong>.</li>
<li><a href="https://drafts.csswg.org/mediaqueries-5/"><strong>Media Queries Level 5<br />
</strong></a>Página da W3C com o rascunho (<em>draft</em>) das novas especificações para <em>Media Queries</em>, com detecção de recursos bem interessantes, possibilitando a customização visual do site, por exemplo, se o usuário tiver (ou não) JavaScript habilitado. Além disso, a possibilidade de criar regras para breakpoints (parecido com o que fazemos com SASS atualmente).</li>
<li><a href="https://webkit.org/blog/7551/responsive-design-for-motion/"><strong>Responsive Design for Motion<br />
</strong></a>A nova versão do Webkit suporta um novo recurso para Media Queries, no qual detecta se o usuário habilitou ou não a opção para reduzir as animações em seu dispositivo (por exemplo como acontece no iOS, dando a possibilidade do usuário desabilitar transições e animações do sistema operacional). Desta forma podemos extender isso para nossos sites, customizando certos elementos e animações, via Media Queries.<br />
O artigo mostra diversos exemplos práticos aplicados no site da Apple e o código-fonte para chegar a este resultado.</li>
</ol>
<p>The post <a rel="nofollow" href="http://frontenddevelopment.com.br/links-para-o-front-end-developer-10/">Links para o front-end developer #10</a> appeared first on <a rel="nofollow" href="http://frontenddevelopment.com.br">Front-End Development</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://frontenddevelopment.com.br/links-para-o-front-end-developer-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Links para o front-end developer #9</title>
		<link>http://frontenddevelopment.com.br/links-para-o-front-end-developer-9/</link>
		<comments>http://frontenddevelopment.com.br/links-para-o-front-end-developer-9/#respond</comments>
		<pubDate>Thu, 11 May 2017 15:04:13 +0000</pubDate>
		<dc:creator><![CDATA[Carlos Souza]]></dc:creator>
				<category><![CDATA[Front-End Development]]></category>
		<category><![CDATA[acessibilidade]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[es6]]></category>
		<category><![CDATA[flexbox]]></category>
		<category><![CDATA[grids]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://frontenddevelopment.com.br/?p=260</guid>
		<description><![CDATA[<p>Mudamos o nome da nossa série de referências, mas a essência continua a mesma: manter a comunidade atualizada sobre as novidades para os desenvolvedores e quem trabalha com projetos Web em geral. Então vamos aos links desta edição: ES6 Features Apesar de ser um padrão relativamente novo, temos muitas ferramentas usando as novas funcionalidades que o ES6 [&#8230;]</p>
<p>The post <a rel="nofollow" href="http://frontenddevelopment.com.br/links-para-o-front-end-developer-9/">Links para o front-end developer #9</a> appeared first on <a rel="nofollow" href="http://frontenddevelopment.com.br">Front-End Development</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://frontenddevelopment.com.br/wp-content/uploads/2017/05/destaque-links-9.jpg"><img class="alignnone size-full wp-image-262" src="http://frontenddevelopment.com.br/wp-content/uploads/2017/05/destaque-links-9.jpg" alt="" width="1000" height="600" srcset="http://frontenddevelopment.com.br/wp-content/uploads/2017/05/destaque-links-9.jpg 1000w, http://frontenddevelopment.com.br/wp-content/uploads/2017/05/destaque-links-9-300x180.jpg 300w, http://frontenddevelopment.com.br/wp-content/uploads/2017/05/destaque-links-9-768x461.jpg 768w" sizes="(max-width: 1000px) 100vw, 1000px" /></a></p>
<p>Mudamos o nome da nossa série de referências, mas a essência continua a mesma: manter a comunidade atualizada sobre as novidades para os desenvolvedores e quem trabalha com projetos Web em geral.</p>
<p>Então vamos aos links desta edição:</p>
<ol>
<li><strong><a href="https://codetower.github.io/es6-features/">ES6 Features</a><br />
</strong>Apesar de ser um padrão relativamente novo, temos muitas ferramentas usando as novas funcionalidades que o ES6 (<em>ECMAScript 6</em>) nos proporciona. Esta página lista diversos recursos com explicações técnicas e seu resultado.</li>
<li><a href="http://htmlreference.io"><strong>htmlreference.io<br />
</strong></a>Guia com todos os elementos e atributos do HTML, mostrando se são experimentais, <em>self-closing</em>, <em>inline</em> ou <em>block</em> entre outras características.</li>
<li><strong><a href="http://html5bot.webflow.io">HTML5 Robot</a><br />
</strong>Um sistema automatizado que, baseado em respostas ao seu questionário, lhe indica os elementos mais adequados à situação.</li>
<li><strong><a href="https://csstriggers.com">CSS Triggers</a><br />
</strong>Referência com propriedades CSS e seu impacto na renderização da página, mostrando a forma pela qual cada <em>engine</em> dos navegadores reage as suas alterações. Interessante para quem enfrenta problemas com performance.</li>
<li><a href="http://html5pattern.com"><strong>HTML5Pattern</strong></a><br />
Guia com diversos padrões utilizados frequentemente no preenchimento de formulários (<em>input patterns</em>) em HTML5<em>.</em> Fique atento ao suporte dos navegadores a esse tipo de funcionalidade!</li>
<li><strong><a href="https://whatwebcando.today">What Web Can Do Today</a><br />
</strong>Saiba quais funcionalidades de dispositivos móveis (e desktops em geral) são possíveis com APIs do HTML5, com código exemplificando na prática.</li>
<li><a href="https://movingtohttps.com"><strong>Moving to HTTPS Guide</strong></a><br />
Precisa mudar seu site em WordPress para HTTPS? Este guia pode ajuda-lo com um passo-a-passo bem detalhado desde a descrição do que precisa e como configurar o sistema.</li>
<li><strong><a href="https://www.w3.org/TR/wai-aria-practices-1.1/">WAI-ARIA Authoring Practices 1.1<br />
</a></strong>Guia mantido pela W3C com boas práticas de acessibilidade para diversas aplicações usadas na Web, desde modais até menus e <em>sliders</em>.</li>
<li><strong><a href="http://yoksel.github.io/flex-cheatsheet/">Flexbox Cheatsheet</a></strong><br />
Aprender <em>flexbox</em> e suas aplicações pode ser um tanto quanto confuso de início, por isso esta excelente referência serve como um guia para iniciantes como para aqueles que já tem prática mas tem dificuldades em lembrar certas propriedades e como impactam no layout.</li>
<li><a href="https://alialaa.github.io/css-grid-cheat-sheet/"><strong>CSS Grid Cheat Sheet<br />
</strong></a>Este guia exemplifica a aplicação de CSS Grid, funcionalidade que também gera um pouco de confusão. Assim como no caso do flexbox, ter referências visuais auxiliam muito na compreensão da aplicação de tais propriedades no layout.</li>
</ol>
<p>Espero que tenham gostado de nossa seleção para esta lista, caso tenham outras referências é só comentar!</p>
<p>The post <a rel="nofollow" href="http://frontenddevelopment.com.br/links-para-o-front-end-developer-9/">Links para o front-end developer #9</a> appeared first on <a rel="nofollow" href="http://frontenddevelopment.com.br">Front-End Development</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://frontenddevelopment.com.br/links-para-o-front-end-developer-9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EditorConfig</title>
		<link>http://frontenddevelopment.com.br/editorconfig/</link>
		<comments>http://frontenddevelopment.com.br/editorconfig/#comments</comments>
		<pubDate>Tue, 14 Mar 2017 14:37:32 +0000</pubDate>
		<dc:creator><![CDATA[Gustavo Krause]]></dc:creator>
				<category><![CDATA[Front-End Development]]></category>
		<category><![CDATA[editorconfig]]></category>
		<category><![CDATA[padrões]]></category>
		<category><![CDATA[versionamento]]></category>

		<guid isPermaLink="false">http://frontenddevelopment.com.br/?p=248</guid>
		<description><![CDATA[<p>EditorConfig ajuda desenvolvedores a definir e manter consistente estilos de codificação entre diferentes editores e IDEs. O projeto EditorConfig consiste em um arquivo de formato para definir estilo de codificação e também oferece uma coleção de plugins para editores de texto que habilitam os editores a lerem esse arquivo de definições e atribuí-las nas configurações [&#8230;]</p>
<p>The post <a rel="nofollow" href="http://frontenddevelopment.com.br/editorconfig/">EditorConfig</a> appeared first on <a rel="nofollow" href="http://frontenddevelopment.com.br">Front-End Development</a>.</p>
]]></description>
				<content:encoded><![CDATA[<blockquote><p><strong>EditorConfig</strong> ajuda desenvolvedores a definir e manter consistente estilos de codificação entre diferentes editores e IDEs. O <a href="http://editorconfig.org/">projeto EditorConfig</a> consiste em um arquivo de formato para definir estilo de codificação e também oferece uma coleção de plugins para editores de texto que habilitam os editores a lerem esse arquivo de definições e atribuí-las nas configurações do editor. O arquivo &#8220;.editorconfig&#8221; é facilmente lido e ele funciona muito bem com <strong>controle de versionamento</strong>.</p></blockquote>
<ul>
<li>Evita problemas comuns (quebra de linha) em versionamento entre diferentes sistemas operacionais (Windows / Unix);</li>
<li>Consistente indentação e enconding ao longo do projeto;</li>
<li>Evita desnecessários espaços em branco.</li>
</ul>
<h6>Como usar EditorConfig</h6>
<p>Crie o arquivo &#8220;.editorconfig&#8221; na raiz do projeto e instale o <a href="http://editorconfig.org/#download">plugin para o editor de texto</a>.</p>
<pre><code># http://editorconfig.org/

root = true

[*]
charset = utf-8
end_of_line = lf
indent_size = 2
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true
</code></pre>
<p>Para mais informações e configurações: <a href="http://editorconfig.org/">EditorConfig</a></p>
<p>The post <a rel="nofollow" href="http://frontenddevelopment.com.br/editorconfig/">EditorConfig</a> appeared first on <a rel="nofollow" href="http://frontenddevelopment.com.br">Front-End Development</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://frontenddevelopment.com.br/editorconfig/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Javascript Lint</title>
		<link>http://frontenddevelopment.com.br/javascript-lint/</link>
		<comments>http://frontenddevelopment.com.br/javascript-lint/#respond</comments>
		<pubDate>Fri, 10 Feb 2017 19:04:06 +0000</pubDate>
		<dc:creator><![CDATA[Gustavo Krause]]></dc:creator>
				<category><![CDATA[Front-End Development]]></category>
		<category><![CDATA[Workflow]]></category>
		<category><![CDATA[eslint]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[lint]]></category>
		<category><![CDATA[standardjs]]></category>

		<guid isPermaLink="false">http://frontenddevelopment.com.br/?p=240</guid>
		<description><![CDATA[<p>Não é de hoje que a comunidade de desenvolvimento se preocupa em manter um código padronizado e trabalhando sozinho ou em equipe todos buscam isso. Simplesmente para que você ou outros possam dar manutenção ao código. Nem todos formatam o código devidamente como deveriam, ou nem sempre você lembra de determinada boa prática naquele ambiente que [&#8230;]</p>
<p>The post <a rel="nofollow" href="http://frontenddevelopment.com.br/javascript-lint/">Javascript Lint</a> appeared first on <a rel="nofollow" href="http://frontenddevelopment.com.br">Front-End Development</a>.</p>
]]></description>
				<content:encoded><![CDATA[<div class="mceTemp"></div>
<p>Não é de hoje que a comunidade de desenvolvimento se preocupa em manter um código padronizado e trabalhando sozinho ou em equipe todos buscam isso. Simplesmente para que você ou outros possam dar manutenção ao código.</p>
<p>Nem todos formatam o código devidamente como deveriam, ou nem sempre você lembra de determinada boa prática naquele ambiente que está desenvolvendo. Então em ordem de ter um <em>Helper</em>, avisando sempre que algo não está de acordo em seu código o conceito de <a href="http://stackoverflow.com/questions/8503559/what-is-linting"><em>Lint</em></a> se estabeleceu.</p>
<p>É de extrema ajuda, pois previne possíveis bugs e mantém seu <strong>código padronizado</strong>.</p>
<p>Também é super simples usar.</p>
<p><strong>1 passo</strong>, escolha um ambiente de <em>Lint</em>.</p>
<p>Atualmente os mais recomendados por serem mais usados são <a href="http://eslint.org/">ESLint</a> e <a href="http://standardjs.com/">standard JS</a>.</p>
<p>o <strong>ESLint</strong> é muito usado e você pode configurar exatamente o que deseja que seja avisado com &#8220;alerta&#8221; ou como &#8220;erro&#8221;.</p>
<p>o <strong>standard JS</strong>, não tem opção de configuração e a ideia é junto com o resto do mundo seguir os principais padrões de desenvolvimento.</p>
<p>Ambos são muito bons desde que você use algum, e se você não sente necessidade, faça um teste, instale um plugin para o seu editor e veja como será mais produtivo seu trabalho.</p>
<p>Você pode configurar um automatizador de task (Webpack, Gulp, Grunt) para ficar verificando, mas acho que não seja tão necessário de princípio, apenas uma instalação global (requerido pelos plugins) e o plugin para o editor.</p>
<p>Com o <strong>ESLint</strong> você pode configurar um arquivo (<strong>.eslintrc</strong>) e definir seus padrões, esse arquivo deve ser versionado e assim todos que trabalharem em seu projeto automaticamente seguirão seu padrão definido, é claro que se estiver com as configurações do <em>Lint</em> corretas.</p>
<p>Veja a <a href="http://eslint.org/docs/user-guide/getting-started">documentação do ESLint</a> e crie o seu <strong>.eslintrc</strong>, você pode usar também algum <a href="http://rapilabs.github.io/eslintrc-generator/">ESLint Rule Generator</a> para facilitar, e coloque aonde for necessário em seu projeto (geralmente na raiz).</p>
<ul>
<li><a href="http://eslint.org/">ESLint</a>: <em>The pluggable linting utility for JavaScript and JSX</em></li>
<li><a href="http://standardjs.com/">standard JS</a>: <em>One JavaScript Style Guide to Rule Them All</em></li>
</ul>
<ul>
<li><a href="http://eslint.org/docs/user-guide/integrations">ESLint Integrations (Editors Plugins, Build Systems)</a>: <em>Editors, Build Systems, Command Line Tools, Source Control, Testing, External ESLint rules and Other Integration Lists.</em></li>
<li><a href="http://sideeffect.kr/popularconvention#javascript"><strong>Popular Coding Convention on Github</strong>:</a> Analyze Github commits to know which convention is popular.</li>
<li><a href="https://github.com/airbnb/javascript">Airbnb JavaScript Style Guide</a>: <em>A mostly reasonable approach to JavaScript.</em></li>
<li><a href="https://www.sitepoint.com/write-maintainable-javascript/">Untangling Spaghetti Code: How to Write Maintainable JavaScript</a></li>
</ul>
<ul>
<li><a href="https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint">VS Code ESLint extension</a></li>
<li><a href="https://marketplace.visualstudio.com/items?itemName=eg2.tslint">TSLint (Typescript)</a></li>
</ul>
<p>The post <a rel="nofollow" href="http://frontenddevelopment.com.br/javascript-lint/">Javascript Lint</a> appeared first on <a rel="nofollow" href="http://frontenddevelopment.com.br">Front-End Development</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://frontenddevelopment.com.br/javascript-lint/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configurando virtual hosts no MAMP</title>
		<link>http://frontenddevelopment.com.br/configurando-virtual-hosts-no-mamp/</link>
		<comments>http://frontenddevelopment.com.br/configurando-virtual-hosts-no-mamp/#respond</comments>
		<pubDate>Thu, 19 Jan 2017 13:20:56 +0000</pubDate>
		<dc:creator><![CDATA[Carlos Souza]]></dc:creator>
				<category><![CDATA[Front-End Development]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[mamp]]></category>

		<guid isPermaLink="false">http://frontenddevelopment.com.br/?p=218</guid>
		<description><![CDATA[<p>Se você, assim como eu, não é nenhum especialista em configuração de servidores não se assuste! Sabemos que uma das formas mais fáceis para criar e administrar domínios virtuais é através&#160;do MAMP Pro,&#160;porém&#160;requer a compra de uma licença. Supondo que você queira criar&#160;virtual hosts em sua máquina para desenvolvimento de projetos diversos, execute os passos [&#8230;]</p>
<p>The post <a rel="nofollow" href="http://frontenddevelopment.com.br/configurando-virtual-hosts-no-mamp/">Configurando virtual hosts no MAMP</a> appeared first on <a rel="nofollow" href="http://frontenddevelopment.com.br">Front-End Development</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><img class="alignnone wp-image-221 size-full" src="http://frontenddevelopment.com.br/wp-content/uploads/2017/01/destaque-mamp.jpg" width="1000" height="600" srcset="http://frontenddevelopment.com.br/wp-content/uploads/2017/01/destaque-mamp.jpg 1000w, http://frontenddevelopment.com.br/wp-content/uploads/2017/01/destaque-mamp-300x180.jpg 300w, http://frontenddevelopment.com.br/wp-content/uploads/2017/01/destaque-mamp-768x461.jpg 768w" sizes="(max-width: 1000px) 100vw, 1000px" /></p>
<p>Se você, assim como eu, não é nenhum especialista em configuração de servidores não se assuste! Sabemos que uma das formas mais fáceis para criar e administrar domínios virtuais é através&nbsp;do <a href="https://www.mamp.info/en/mamp-pro/">MAMP Pro</a>,&nbsp;porém&nbsp;requer a compra de uma licença.</p>
<p>Supondo que você queira criar&nbsp;<em>virtual hosts</em> em sua máquina para desenvolvimento de projetos diversos, execute os passos a seguir:</p>
<h3>Criando&nbsp;virtual hosts pela primeira vez</h3>
<ul>
<li>Abra o Terminal &#8211; já que estamos falando de&nbsp;<strong>MAMP</strong>, automaticamente nos restringimos ao macOS &#8211; e execute o comando abaixo para abrir o arquivo hosts (será solicitada a senha de administrador da máquina para executa-lo):</li>
</ul>
<blockquote><p>$ sudo nano /etc/hosts</p></blockquote>
<ul>
<li>Adicionar a seguinte linha no final do documento (trocando projeto.dev para qualquer domínio de sua preferência), redirecionando o virtual host para o&nbsp;IP da sua própria máquina:</li>
</ul>
<blockquote><p>127.0.0.1 projeto.dev</p></blockquote>
<ul>
<li>Ao terminar a edição, apertar CTRL+X para fechar o arquivo, confirmar digitando&nbsp;Y e depois ENTER para fechar;</li>
<li>Agora vamos habilitar&nbsp;a&nbsp;possibilidade de utilizar virtual hosts com o MAMP. Abra o arquivo&nbsp;<strong>httpd.conf</strong>&nbsp;no caminho&nbsp;<strong>Applications/MAMP/conf/apache/httpd.conf</strong> e procure pelas linhas abaixo (provavelmente sejam&nbsp;524 e 525):</li>
</ul>
<blockquote><p># Virtual Hosts<br />
# Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf</p></blockquote>
<ul>
<li>Retire o caractere # do início da segunda linha acima, assim o MAMP&nbsp;executará a configuração para domínios virtuais sempre que iniciar um servidor, ficando assim:</li>
</ul>
<blockquote><p># Virtual Hosts<br />
Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf</p></blockquote>
<ul>
<li>Ainda no arquivo &#8220;httpd.conf&#8221;, procure por &#8220;AllowOverride None&#8221; (aqui no meu arquivo, linha 206) e troque por &#8220;AllowOverride All&#8221;.</li>
</ul>
<blockquote><p>
Options Indexes FollowSymLinks<br />
AllowOverride All</p></blockquote>
<ul>
<li>Abra o arquivo listado no caminho anterior, pois nele definiremos os&nbsp;virtual hosts a serem interpretados pelo MAMP. Para isso, abra o caminho&nbsp;<strong>Applications/MAMP/conf/apache/extra/httpd-vhosts.conf</strong>.</li>
<li>No final do arquivo&nbsp;haverão dois exemplos de virtual hosts:</li>
</ul>
<blockquote>
<pre>&lt;VirtualHost *:80&gt;
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/Applications/MAMP/Library/docs/dummy-host.example.com"
    ServerName dummy-host.example.com
    ServerAlias www.dummy-host.example.com
    ErrorLog "logs/dummy-host.example.com-error_log"
    CustomLog "logs/dummy-host.example.com-access_log" common
&lt;/VirtualHost&gt;

&lt;VirtualHost *:80&gt;
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "/Applications/MAMP/Library/docs/dummy-host2.example.com"
    ServerName dummy-host2.example.com
    ErrorLog "logs/dummy-host2.example.com-error_log"
    CustomLog "logs/dummy-host2.example.com-access_log" common
&lt;/VirtualHost&gt;
</pre>
</blockquote>
<ul>
<li>Edite os dois exemplos para que fiquem da forma abaixo:</li>
</ul>
<blockquote>
<pre>&lt;VirtualHost *:80&gt;
    DocumentRoot /Applications/MAMP/htdocs
    ServerName localhost
&lt;/VirtualHost&gt;
           
&lt;VirtualHost *:80&gt;
    DocumentRoot "/Users/username/Sites/projeto"
    ServerName projeto.dev
&lt;/VirtualHost&gt;
</pre>
</blockquote>
<ul>
<li>Editando desta forma, você&nbsp;define que o&nbsp;domínio virtual&nbsp;<strong>projeto.dev</strong> direciona para a pasta <strong>/Users/username/Sites/projeto</strong>. Mude&nbsp;esses parâmetros (<em>DocumentRoot</em> e <em>ServerName</em>) a vontade. Sempre que precisar&nbsp;criar um novo domínio virtual, é só replicar as linhas que começam com &lt;VirtualHost *:80&gt; até &lt;/VirtualHost&gt;.</li>
<li>Depois disso abra o MAMP, entre nas preferências e edite a porta do Apache para 80 conforme print abaixo:</li>
</ul>
<p><a href="http://frontenddevelopment.com.br/wp-content/uploads/2017/01/mamp.png"><img class="size-full wp-image-219 aligncenter" src="http://frontenddevelopment.com.br/wp-content/uploads/2017/01/mamp.png" alt="" width="1296" height="1034" srcset="http://frontenddevelopment.com.br/wp-content/uploads/2017/01/mamp.png 1296w, http://frontenddevelopment.com.br/wp-content/uploads/2017/01/mamp-300x239.png 300w, http://frontenddevelopment.com.br/wp-content/uploads/2017/01/mamp-768x613.png 768w, http://frontenddevelopment.com.br/wp-content/uploads/2017/01/mamp-1024x817.png 1024w" sizes="(max-width: 1296px) 100vw, 1296px" /></a></p>
<p style="text-align: left;"><em>Obs: já vi tutoriais em que este último passo não está listado, mas era o que faltava para funcionar em minha máquina.</em></p>
<p>Pronto! Seu domínio virtual está criado e sua máquina preparada para reconhece-lo. Importante ressaltar que, a cada edição, deve-se reiniciar o servidor no MAMP para que as alterações tenham&nbsp;efeito.</p>
<h3>Caso precise criar novos domínios no futuro</h3>
<p>Para&nbsp;adicionar novos domínios virtuais no futuro, certamente você não precisa repetir&nbsp;todos estes passos acima. Veja como fica simples:</p>
<ul>
<li>Edite o arquivo <strong>/etc/hosts</strong> da forma descrita anteriormente;</li>
<li>Abra o arquivo <strong>Applications/MAMP/conf/apache/httpd.conf</strong> e adicione um novo bloco para definir o novo domínio ao MAMP.</li>
</ul>
<p>Com estes passos realizados, é só reiniciar o servidor e tudo funcionará sem problemas!</p>
<p>The post <a rel="nofollow" href="http://frontenddevelopment.com.br/configurando-virtual-hosts-no-mamp/">Configurando virtual hosts no MAMP</a> appeared first on <a rel="nofollow" href="http://frontenddevelopment.com.br">Front-End Development</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://frontenddevelopment.com.br/configurando-virtual-hosts-no-mamp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Links Semanais #8</title>
		<link>http://frontenddevelopment.com.br/links-semanais-8/</link>
		<comments>http://frontenddevelopment.com.br/links-semanais-8/#respond</comments>
		<pubDate>Tue, 25 Oct 2016 12:11:57 +0000</pubDate>
		<dc:creator><![CDATA[Carlos Souza]]></dc:creator>
				<category><![CDATA[Front-End Development]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[lazy loading]]></category>
		<category><![CDATA[npm]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[svg]]></category>
		<category><![CDATA[Yarn]]></category>

		<guid isPermaLink="false">http://frontenddevelopment.com.br/?p=214</guid>
		<description><![CDATA[<p>Nesta semana temos uma gama bem variada de referências, desde campos de formulário em HTML5, metodologias para melhor performance, CSS Feature Queries, bibliotecas de gráficos em SVG entre outros. Vale a pena dar uma olhada: Front-End The State of HTML5 Input Elements: o HTML5 nos permite utilizar diversos tipos de inputs em nossos formulários, porém ainda [&#8230;]</p>
<p>The post <a rel="nofollow" href="http://frontenddevelopment.com.br/links-semanais-8/">Links Semanais #8</a> appeared first on <a rel="nofollow" href="http://frontenddevelopment.com.br">Front-End Development</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><a href="http://frontenddevelopment.com.br/wp-content/uploads/2016/10/destaque-links-8.jpg"><img class="size-full wp-image-215 aligncenter" src="http://frontenddevelopment.com.br/wp-content/uploads/2016/10/destaque-links-8.jpg" alt="destaque-links-8" width="1000" height="600" srcset="http://frontenddevelopment.com.br/wp-content/uploads/2016/10/destaque-links-8.jpg 1000w, http://frontenddevelopment.com.br/wp-content/uploads/2016/10/destaque-links-8-300x180.jpg 300w, http://frontenddevelopment.com.br/wp-content/uploads/2016/10/destaque-links-8-768x461.jpg 768w" sizes="(max-width: 1000px) 100vw, 1000px" /></a></p>
<p>Nesta semana temos uma gama bem variada de referências, desde campos de formulário em HTML5, metodologias para melhor performance, <em>CSS Feature Queries</em>, bibliotecas de gráficos em SVG entre outros. Vale a pena dar uma olhada:</p>
<h3>Front-End</h3>
<ul>
<li><strong><a href="https://www.sitepoint.com/the-state-of-html5-input-elements/">The State of HTML5 Input Elements</a></strong>: o HTML5 nos permite utilizar diversos tipos de <em>inputs</em> em nossos formulários, porém ainda temos inconsistências nos diferentes navegadores. Este artigo comenta a diferença na forma como os navegadores interpretam a localização do usuário e interferem na exibição das informações (formato de data, métricas, etc.), sem intervenção de JavaScript.</li>
<li><a href="https://getflywheel.com/layout/css-feature-queries-how-to/"><strong>How to use CSS Feature Queries</strong></a>: há alguns anos temos a opção de customizar nossos sites baseados nas <em>features</em> disponíveis aos usuários, muito graças a biblioteca <a href="https://modernizr.com/">Modernizr</a>, a qual detecta quais recursos o usuário tem (ou não) em seu navegador, permitindo os desenvolvedores customizar a experiência de acordo com essas possibilidades. O artigo mostra como as <em>CSS Feature Queries</em> podem ajudar na melhor experiência para usuários com navegadores mais antigos ou modernos, sem utilização de <em>polyfills</em>, deixando os sites mais leves.</li>
<li><a href="https://code.facebook.com/posts/1840075619545360"><strong>Yarn: A new package manager for JavaScript</strong></a>: Facebook lança seu <em>package manager</em> para concorrer diretamente com o <a href="https://www.npmjs.com">npm</a> que, ironicamente, é instalado via npm. A promessa é ter uma melhor performance, funcionar de maneira offline caso o pacote já tenha sido instalado anteriormente, melhor controle de versões entre outros recursos.</li>
<li><a href="https://robinosborne.co.uk/2016/05/16/lazy-loading-images-dont-rely-on-javascript"><strong>Lazy Loading Images? Dont&#8217; Rely On JavaScript!</strong></a>: este artigo mostra uma técnica muito interessante para implementar <em>lazy loading</em> nas imagens sem prejudicar os usuários que não tenham JS habilitado em seus navegadores.</li>
<li><a href="https://medium.com/net-magazine/web-performance-secrets-from-the-bbc-d4b01f869752"><strong>Web performance secrets from the BBC</strong></a>: como a BBC melhorou a performance de seus sites? Este artigo mostra algumas dicas e metodologias relativamente simples que incrementaram ainda mais a experiência dos seus usuários.</li>
<li><a href="https://www.sitepoint.com/atoz-css-screencast-auto/"><strong>AtoZ CSS Screencast: The CSS Value of Auto</strong></a>: já parou para pensar o quão importante é o valor &#8216;auto&#8217; no CSS? Este artigo/<em>screencast</em> nos mostra como é relevante sabermos como e em quais situações devemos usá-lo.</li>
<li><a href="http://mediatemple.net/blog/tips/svg-charting-libraries/"><strong>SVG Charting Libraries</strong></a>: este artigo faz um apanhado de diversas opções de bibliotecas para gráficos disponíveis, porém com uma exigência: o resultado seja exibido em SVG.</li>
</ul>
<p>The post <a rel="nofollow" href="http://frontenddevelopment.com.br/links-semanais-8/">Links Semanais #8</a> appeared first on <a rel="nofollow" href="http://frontenddevelopment.com.br">Front-End Development</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://frontenddevelopment.com.br/links-semanais-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Links Semanais #7</title>
		<link>http://frontenddevelopment.com.br/links-semanais-7/</link>
		<comments>http://frontenddevelopment.com.br/links-semanais-7/#respond</comments>
		<pubDate>Fri, 14 Oct 2016 15:30:46 +0000</pubDate>
		<dc:creator><![CDATA[Carlos Souza]]></dc:creator>
				<category><![CDATA[Front-End Development]]></category>
		<category><![CDATA[flexbox]]></category>
		<category><![CDATA[grids]]></category>
		<category><![CDATA[html 5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[responsive web design]]></category>

		<guid isPermaLink="false">http://frontenddevelopment.com.br/?p=210</guid>
		<description><![CDATA[<p>Algumas referências sobre análise de performance na web, novas especificações do HTML5, sistema de grids em flexbox e Responsive Web Design. Front-End Web Performance Checklist: coletânea de informações sobre performance na web nas áreas de processos e workflow, animações e efeitos, fontes, imagens e SVG e performance subjetiva. W3C Set to Publish HTML 5.1, Work Already Started [&#8230;]</p>
<p>The post <a rel="nofollow" href="http://frontenddevelopment.com.br/links-semanais-7/">Links Semanais #7</a> appeared first on <a rel="nofollow" href="http://frontenddevelopment.com.br">Front-End Development</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p style="text-align: center;"><img class="alignnone wp-image-211 size-full" src="http://frontenddevelopment.com.br/wp-content/uploads/2016/10/destaque-links-7.jpg" alt="destaque-links-7" width="1000" height="600" srcset="http://frontenddevelopment.com.br/wp-content/uploads/2016/10/destaque-links-7.jpg 1000w, http://frontenddevelopment.com.br/wp-content/uploads/2016/10/destaque-links-7-300x180.jpg 300w, http://frontenddevelopment.com.br/wp-content/uploads/2016/10/destaque-links-7-768x461.jpg 768w" sizes="(max-width: 1000px) 100vw, 1000px" /></p>
<p>Algumas referências sobre análise de performance na web, novas especificações do HTML5, sistema de grids em flexbox e <em>Responsive Web Design</em>.</p>
<h3>Front-End</h3>
<ul>
<li><a href="http://jonyablonski.com/designers-wpo-checklist/"><strong>Web Performance Checklist</strong></a>: coletânea de informações sobre performance na web nas áreas de processos e workflow, animações e efeitos, fontes, imagens e SVG e performance subjetiva.</li>
<li>
<p class="p1"><span class="s1"><a href="http://news.softpedia.com/news/w3c-set-to-publish-html-5-1-already-started-work-on-html-5-2-508512.shtml"><strong>W3C Set to Publish HTML 5.1, Work Already Started on HTML 5.2</strong></a>: artigo que comenta as atualizações na nova especificação do HTML 5.1, incluindo alguns elementos que não podíamos utilizar (ou utilizamos através de <em><a href="https://remysharp.com/2010/10/08/what-is-a-polyfill">polyfills</a></em>). Juntamente com a publicação do novo padrão, já temos algumas informações sobre o HTML 5.2.</span></p>
</li>
<li><a href="https://www.nccgroup.trust/uk/about-us/newsroom-and-events/blogs/2016/september/how-loading-javascript-can-slow-websites-down/?utm_source=Responsive+Design+Weekly&amp;utm_campaign=1d189e1d9f-Responsive_Design_Weekly_229&amp;utm_medium=email&amp;utm_term=0_df65b6d7c8-1d189e1d9f-59023621&amp;goal=0_df65b6d7c8-1d189e1d9f-59023621&amp;mc_cid=1d189e1d9f&amp;mc_eid=9a8f75f9cd"><strong>How loading JavaScript can slow websites down (even if it&#8217;s asynchronous)</strong></a>: não precisa ser um <em>expert</em> em performance para saber que devemos incluir os scripts no final de nosso documento para não bloquear o carregamento das páginas, bem como usar o carregamento assíncrono, de forma que mais recursos sejam carregados paralelamente. Porém este artigo mostra que mesmo assim podemos ter problemas de performance e o que podemos fazer para diminui-los.</li>
<li><a href="https://github.com/Heydon/fukol-grids"><strong>Fukol</strong></a>: sistema de grids em flexbox extremamente leve (e simples) para auxiliar na montagem de layouts em colunas.</li>
<li><a href="https://moz.com/blog/responsive-design-fix-conversions?utm_source=Responsive+Design+Weekly&amp;utm_campaign=5978584cb7-Responsive_Design_Weekly_227&amp;utm_medium=email&amp;utm_term=0_df65b6d7c8-5978584cb7-59023621&amp;goal=0_df65b6d7c8-5978584cb7-59023621&amp;mc_cid=5978584cb7&amp;mc_eid=9a8f75f9cd"><strong>Responsive Design is Killing Two-Thirds of Your Conversions. Here&#8217;s How to Fix It.</strong></a>: artigo com um mote mais comercial, porém comenta alguns problemas importantes que vemos (principalmente em temas prontos) relacionados ao <em>Responsive Web Design</em>. Algumas boas práticas são sempre bem-vindas, principalmente para darmos uma melhor experiência aos usuários e, consequentemente, melhorar a conversão dos nossos serviços.</li>
</ul>
<p>The post <a rel="nofollow" href="http://frontenddevelopment.com.br/links-semanais-7/">Links Semanais #7</a> appeared first on <a rel="nofollow" href="http://frontenddevelopment.com.br">Front-End Development</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://frontenddevelopment.com.br/links-semanais-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Links Semanais #6</title>
		<link>http://frontenddevelopment.com.br/links-semanais-6/</link>
		<comments>http://frontenddevelopment.com.br/links-semanais-6/#respond</comments>
		<pubDate>Wed, 31 Aug 2016 19:40:14 +0000</pubDate>
		<dc:creator><![CDATA[Carlos Souza]]></dc:creator>
				<category><![CDATA[Front-End Development]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[google analytics]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[padrões]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[react]]></category>
		<category><![CDATA[webp]]></category>

		<guid isPermaLink="false">http://frontenddevelopment.com.br/?p=206</guid>
		<description><![CDATA[<p>Muita coisa bacana foi separada para o compilado dessa semana, vamos aos links: Front-End The State Of JavaScript: Front-End Frameworks: Resultado de pesquisa sobre a utilização e percepção sobre os frameworks JavaScript mais utilizados. Retratam tendências da nossa área e dão indicativos de onde vale mais a pena focar seus estudos. Frontend Guidelines Questionnaire: Excelente referência de Brad Frost, [&#8230;]</p>
<p>The post <a rel="nofollow" href="http://frontenddevelopment.com.br/links-semanais-6/">Links Semanais #6</a> appeared first on <a rel="nofollow" href="http://frontenddevelopment.com.br">Front-End Development</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><a href="http://frontenddevelopment.com.br/wp-content/uploads/2016/08/destaque-links-6.jpg"><img class="size-full wp-image-207 aligncenter" src="http://frontenddevelopment.com.br/wp-content/uploads/2016/08/destaque-links-6.jpg" alt="destaque-links-6" width="1000" height="600" srcset="http://frontenddevelopment.com.br/wp-content/uploads/2016/08/destaque-links-6.jpg 1000w, http://frontenddevelopment.com.br/wp-content/uploads/2016/08/destaque-links-6-300x180.jpg 300w, http://frontenddevelopment.com.br/wp-content/uploads/2016/08/destaque-links-6-768x461.jpg 768w" sizes="(max-width: 1000px) 100vw, 1000px" /></a></p>
<p>Muita coisa bacana foi separada para o compilado dessa semana, vamos aos links:</p>
<h3>Front-End</h3>
<ul>
<li><a href="https://medium.com/@sachagreif/the-state-of-javascript-front-end-frameworks-1a2d8a61510#.gtkvhlw1g"><strong>The State Of JavaScript: Front-End Frameworks</strong></a>: Resultado de pesquisa sobre a utilização e percepção sobre os frameworks JavaScript mais utilizados. Retratam tendências da nossa área e dão indicativos de onde vale mais a pena focar seus estudos.</li>
<li><a href="https://github.com/bradfrost/frontend-guidelines-questionnaire/"><strong>Frontend Guidelines Questionnaire</strong></a>: Excelente referência de Brad Frost, guiando a padronização e metodologias de trabalho front-end em equipe.</li>
<li><a href="https://css-tricks.com/using-webp-images/?utm_source=dlvr.it&amp;utm_medium=facebook"><strong>Using WebP Images</strong></a>: Explanação sobre motivos para utilizarmos o formato WebP de imagens otimizadas para web, suporte a navegadores e formas de implementação.</li>
<li><a href="http://reactfordesigners.com/labs/reactjs-introduction-for-people-who-know-just-enough-jquery-to-get-by/"><strong>React.js Introduction For People Who Know Just Enough jQuery To Get By</strong></a>: Artigo que faz uma introdução ao <a href="https://facebook.github.io/react/">React.js</a> de forma didática para quem não tem conhecimento tão profundo de JavaScript e programação.</li>
<li><a href="https://css-tricks.com/average-web-page-data-analyzing-8-million-websites/?utm_source=Responsive+Design+Weekly&amp;utm_campaign=dbc98f86d4-Responsive_Design_Weekly_222&amp;utm_medium=email&amp;utm_term=0_df65b6d7c8-dbc98f86d4-59023621&amp;goal=0_df65b6d7c8-dbc98f86d4-59023621&amp;mc_cid=dbc98f86d4&amp;mc_eid=9a8f75f9cd"><strong>The Average Web Page (Data from Analyzing 8 Million Websites)</strong></a>: Análise contemplando 8 milhões de sites, mostrando as tags mais utilizadas para estruturar as páginas e seu conteúdo.</li>
<li><a href="https://medium.com/dev-channel/offline-storage-for-progressive-web-apps-70d52695513c?goal=0_df65b6d7c8-7d70053390-59023621&amp;mc_cid=7d70053390&amp;mc_eid=9a8f75f9cd#.pu76vovlz"><strong>Offline Storage for Progressive Web Apps</strong></a>: Devido as diversas condições de conexão disponíveis atualmente (seja móvel ou banda larga), principalmente em questão de estabilidade, as estratégias para acesso a informação com <em>Offline Storage</em> permitem o uso das aplicações na web mesmo sem acesso a internet, evitando frustrações e queda no número de usuários.</li>
<li><a href="http://speedperception.meteorapp.com/?utm_source=Responsive+Design+Weekly&amp;utm_campaign=7d70053390-Responsive_Design_Weekly_223&amp;utm_medium=email&amp;utm_term=0_df65b6d7c8-7d70053390-59023621&amp;goal=0_df65b6d7c8-7d70053390-59023621&amp;mc_cid=7d70053390&amp;mc_eid=9a8f75f9cd"><strong>SpeedPerception</strong></a>: Estudo em larga escala que visa medir o impacto da velocidade de carregamento de sites na percepção dos usuários. Com este estudo podemos ter uma forma mais analítica de saber em qual escala a velocidade de carregamento impacta ou não nas visitas e fidelidade ao nosso conteúdo. Você pode ajudar o projeto participando deste <a href="http://speedperception.meteorapp.com/challenge">desafio.</a></li>
</ul>
<h3>Interface</h3>
<ul>
<li><a href="http://www.creativebloq.com/how-to/improve-your-ux-with-google-analytics?utm_source=Responsive+Design+Weekly&amp;utm_campaign=7d70053390-Responsive_Design_Weekly_223&amp;utm_medium=email&amp;utm_term=0_df65b6d7c8-7d70053390-59023621&amp;goal=0_df65b6d7c8-7d70053390-59023621&amp;mc_cid=7d70053390&amp;mc_eid=9a8f75f9cd"><strong>Improve your UX with Google Analytics</strong></a>: O Google Analytics é uma poderosa ferramenta de análise de visitas, além do comportamento dos usuários ao navegador pelos nossos sites. Este artigo comenta como os dados coletados pelo Analytics pode contribuir para a melhoria de nossas Interfaces.</li>
</ul>
<h3>Geral</h3>
<ul>
<li><a href="http://blog.chromium.org/2016/08/from-chrome-apps-to-web.html?utm_source=Responsive+Design+Weekly&amp;utm_campaign=7d70053390-Responsive_Design_Weekly_223&amp;utm_medium=email&amp;utm_term=0_df65b6d7c8-7d70053390-59023621&amp;goal=0_df65b6d7c8-7d70053390-59023621&amp;mc_cid=7d70053390&amp;mc_eid=9a8f75f9cd&amp;m=1"><strong>From Chrome Apps to the Web</strong></a>: Finalmente o pessoal do Google mudou de idéia e abrirá mão dos Chrome Apps, abrindo espaço para versões Web destas aplicações, algo que a W3C vem pregando desde sempre!</li>
</ul>
<p>The post <a rel="nofollow" href="http://frontenddevelopment.com.br/links-semanais-6/">Links Semanais #6</a> appeared first on <a rel="nofollow" href="http://frontenddevelopment.com.br">Front-End Development</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://frontenddevelopment.com.br/links-semanais-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Links Semanais #5</title>
		<link>http://frontenddevelopment.com.br/links-semanais-5/</link>
		<comments>http://frontenddevelopment.com.br/links-semanais-5/#respond</comments>
		<pubDate>Thu, 18 Aug 2016 23:45:24 +0000</pubDate>
		<dc:creator><![CDATA[Carlos Souza]]></dc:creator>
				<category><![CDATA[Front-End Development]]></category>
		<category><![CDATA[animações]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[geradores estáticos]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://frontenddevelopment.com.br/?p=202</guid>
		<description><![CDATA[<p>Não temos muitos links nesta semana, mas há bastante informação relevante sobre performance, escalabilidade e geradores estáticos: Front-End Staggering Animations: Interessante artigo que fala sobre performance de animações na Web e as diferentes formas de controlá-las. Quick Tip: How to Throttle Scroll Events: Utilizar eventos durante o scroll da página pode prejudicar muito a performance do seu [&#8230;]</p>
<p>The post <a rel="nofollow" href="http://frontenddevelopment.com.br/links-semanais-5/">Links Semanais #5</a> appeared first on <a rel="nofollow" href="http://frontenddevelopment.com.br">Front-End Development</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://frontenddevelopment.com.br/wp-content/uploads/2016/08/destaque-links-5.jpg"><img class="alignnone size-full wp-image-203" src="http://frontenddevelopment.com.br/wp-content/uploads/2016/08/destaque-links-5.jpg" alt="destaque-links-5" width="1000" height="600" srcset="http://frontenddevelopment.com.br/wp-content/uploads/2016/08/destaque-links-5.jpg 1000w, http://frontenddevelopment.com.br/wp-content/uploads/2016/08/destaque-links-5-300x180.jpg 300w, http://frontenddevelopment.com.br/wp-content/uploads/2016/08/destaque-links-5-768x461.jpg 768w" sizes="(max-width: 1000px) 100vw, 1000px" /></a></p>
<p>Não temos muitos links nesta semana, mas há bastante informação relevante sobre performance, escalabilidade e geradores estáticos:</p>
<h3>Front-End</h3>
<ul>
<li><a href="https://css-tricks.com/staggering-animations/"><strong>Staggering Animations</strong></a>: Interessante artigo que fala sobre performance de animações na Web e as diferentes formas de controlá-las.</li>
<li><a href="https://www.sitepoint.com/throttle-scroll-events/"><strong>Quick Tip: How to Throttle Scroll Events</strong></a>: Utilizar eventos durante o <em>scroll</em> da página pode prejudicar muito a performance do seu site, por isso este artigo compara duas técnicas e em quais tipos de caso elas podem ser utilizadas, a fim de deixar a experiência do usuário mais agradável.</li>
<li><a href="https://github.com/aFarkas/lazysizes/"><strong>lazysizes</strong></a>: Script que tem como intuito otimizar o carregamento do site, carregando imagens, iframes e outros scripts de acordo com níveis de prioridade.</li>
<li><a href="https://www.lullabot.com/articles/scaling-css-components-with-bem-rems-ems"><strong>Scaling CSS Components with BEM, REMs, &amp; EMs</strong></a>: Breve introdução a modularização de código e outras práticas que facilitam a escalabilidade de projetos front-end.</li>
<li><a href="https://www.smashingmagazine.com/2016/08/using-a-static-site-generator-at-scale-lessons-learned"><strong>Using a Static Site Generator at Scale: Lessons Learned</strong></a>: Excelente análise do cenário atual de geradores de sites estáticos, comentando os pontos positivos e diferentes formas de trabalho.</li>
<li><a href="https://css-tricks.com/weird-design-languages-with-attributes/"><strong>You can kinda invent your own weird design language with attributes and attribute selectors</strong></a>: Confesso que nunca havia pensado nisso, uma forma meio maluca de desenvolver layouts utilizando atributos e valores totalmente customizados nos elementos HTML, utilizando seletores CSS para estilização.</li>
</ul>
<p>The post <a rel="nofollow" href="http://frontenddevelopment.com.br/links-semanais-5/">Links Semanais #5</a> appeared first on <a rel="nofollow" href="http://frontenddevelopment.com.br">Front-End Development</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://frontenddevelopment.com.br/links-semanais-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
