Categories: Desenvolvimento

Tenha suporte de novos recursos de CSS e JavaScript com Polyfill

5/5 - (2 votes)

Nem sempre a evolução das linguagens é seguida à risca pelos os navegadores. E quando isso ocorre, temos que tomar a decisão: se usaremos um novo recurso (sem suporte a determinados navegadores) ou se não usamos esse recurso nativo. O Polyfill é um trecho de código em JavaScript que irá dar suporte a determinado recurso em navegadores sem suporte a esses recursos.

Com isso, você pode utilizar as novas API’s, mesmo em navegadores mais antigos. Isso irá se aplicar tanto para recurso de JavaScript, quanto de CSS.

Infelizmente existirão projetos que você precisará dar suporte e talvez essa seja a maneira mais fácil de manter compatibilidade, sem a necessidade de fazer if’s para verificar se dá suporte ou não.

Um exemplo é API Fetch que você trabalhar com Ajax. Antes era feita pelo XMLHttpRequest, mas agora você tem algo mais enxuto para fazer essa trabalho.

Exemplo Prático com Polyfill

Vamos supor que você deseja fazer uma requisição assíncrona (Ajax) para um arquivo qualquer. Então, vamos utilizar o método fetch para executar essa ação:

<script type="text/javascript">
	var url = 'resposta.html';
	var config = {method : 'get'};
	fetch(url, config).then(function(resposta) { 
			        return resposta.text(); 
			}).then(function(conteudo) { 
				console.log(conteudo);
			});	 
					
</script>

Nesse exemplo, ele faz uma requisição a um arquivo chamado resposta.html e mostra no console do navegador o valor desse arquivo.

Apesar de não ser o foco do artigo, é interessante entender um pouco sobre esse processo criado agora com fetch.

O método fetch retorna uma Promisse, que é um um objeto que representa um valor que pode está disponível em algum momento ou não. É usado em um processo assíncrono.

Quando retornado corretamente (resolvida), é usado o método da Promisse chamado then, para acessar o conteúdo associado a essa Promisse, que neste caso é objeto Response, que por sua vez representa uma resposta de uma requisição, que contém um conjunto de métodos. E um desses métodos é o text(), que retorna também uma Promisse, usando novamente o then para acessar o conteúdo dela. Assim, é mostrado no console do navegador com console.log.

No código, é definido a url da requisição, o método utilizado (que é get) e de acordo com a resposta, ele mostra o valor no console.

O método fetch está disponível para ser utilizado a partir do firefox 39, e no Google Chrome 42, mas ainda não está disponível para o IE (conte uma novidade :D).

Mas existe um Polyfill para resolver essa questão que pode ser acessado aqui: https://github.github.io/fetch

Basta incluir e utilizar o método fetch para trabalhar com Ajax de forma “nativa”.

Considerações

Os Polyfill’s são alternativas, mas claro que o ideal seria que os navegadores dessem suportes a essas opções, permitindo que fôssemos menos dependentes de Frameworks ou bibliotecas. Enquanto isso não ocorre, podemos utilizar esses recursos para nos permitir trabalhar com as novas API’s.

Não há problema em utilizar frameworks, já que eles existem pra otimizar nosso trabalho, mas ter a possibilidade de ter recursos nativos é ainda melhor.

Quem sabe um dia essas novidades e navegadores andarão juntos e poderemos utilizar esse recursos sem precisar dessas alternativas?

Abraços e até a próxima!

David CHC

Trabalha com desenvolvimento web há 10 anos, atuou como programador líder do MX Cursos por mais de 8 anos e hoje dedica-se exclusivamente à criação de cursos para a plataforma. Possui vasto conhecimento em PHP, Javascript, HTML5, CSS3, Gulp.js, GIT, MySQL

Posts recentes

O Futuro da Criação de Sites: Integração de IA e Design Gráfico

Nos últimos anos, testemunhamos uma revolução na forma como os sites são criados, impulsionada pelo…

1 mês atrás

Como a IA Está Revolucionando a Animação 3D

A animação 3D tem sido uma forma poderosa de contar histórias e criar experiências visuais…

1 mês atrás

Lista das 20 Melhores Inteligências Artificiais em 2024 para Criação de Imagens (Todas Gratuitas)

Nos últimos anos, a inteligência artificial (IA) tem revolucionado a forma como criamos e editamos…

1 mês atrás

O Papel da Inteligência Artificial na Criação de Sites com WordPress

Nos últimos anos, a integração da inteligência artificial (IA) na criação de sites tem revolucionado…

1 mês atrás

5 Tendências em Edição de Vídeo Impulsionadas pela Inteligência Artificial

Nos últimos anos, a edição de vídeo evoluiu rapidamente com o avanço da tecnologia, e…

1 mês atrás

O Papel Revolucionário da Inteligência Artificial na Dublagem de Filmes

A dublagem de filmes desempenha um papel fundamental na indústria cinematográfica, permitindo que obras de…

1 mês atrás

This website uses cookies.