Provider, Service, Factory – Qual a diferença?

Esse post nasceu de um pedido de um amigo que me ensinou muita coisa sobre Javascript.

Tudo farinha do mesmo saco

Pra já começar na polemica, eu vou te dizer que é tudo Provider. Se você dúvida, eu te mostro a documentação:

The injector creates two types of objects, services and specialized objects.

Services are objects whose API is defined by the developer writing the service.

Specialized objects conform to a specific Angular framework API. These objects are one of controllers, directives, filters or animations.

The injector needs to know how to create these objects. You tell it by registering a “recipe” for creating your object with the injector. There are five recipe types.

The most verbose, but also the most comprehensive one is a Provider recipe. The remaining four recipe types — Value, Factory, Service and Constant — are just syntactic sugar on top of a provider recipe.

O que isso diz é que basicamente, Value, Factory, Service e Constant são Providers, mas com um atalho sintático para facilitar a nossa vida, ou seja, eles são providers encapsulados de uma maneira que seja mais fácil criar eles. Claro que na pratica isso cria diferenças entre eles, que é o que importa pra gente vamos ver aqui hoje.

Continuar lendo “Provider, Service, Factory – Qual a diferença?”

Anúncios

Angular Directive – Entendendo a magia

Como as diretivas funcionam? Agora você vai saber qual é a magia por trás delas!

Um framework que contém muitas ferramentas é o AngularJs. Esse post exige um conhecimento mínimo de angular, se você quiser um post mais básico deixa um comentário que eu tento escrever sobre.

Pra que serve uma diretiva?

A primeira coisa  que é interessante sabermos é qual é o propósito de uma diretiva. Quando estamos construindo uma aplicação existem certos pedaços dela que se repetem muito. Imagine que você está construindo uma aplicação para uma rede de sapatos,  em várias telas existe um combo que permite você escolher uma loja. Hora você usa esse combo num cadastro, outra hora em uma pesquisa. Dali a pouco você precisa dele num filtro de relatório. Imagine que esse combo é parecido com isso:

<select class="select" name="loja">
<option value="1">Loja 1</option>
<option value="2">Loja 2</option>
<option value="3">Loja 3</option>
</select>

Esse código é simples, mas serve de exemplo. Você colocou esse combo em vinte lugares diferentes. Uma semana depois, teve uma loja nova, você precisou mudar em todos os lugares. Depois de um mês, a Loja 1 foi desativada por estar em obras, mais uma modificação… Percebe como é custoso ficar mudando isso?

Ai que entram as diretivas!

“Angeliski, eu ainda não entendi pra que servem essas diretivas”

Continuar lendo “Angular Directive – Entendendo a magia”