Background Image
Table of Contents Table of Contents
Previous Page  28 / 84 Next Page
Information
Show Menu
Previous Page 28 / 84 Next Page
Page Background

POST DO

KEMEL

TECNOLOGIA

28

Cargo:

Evangelista de Tecnologia

Twitter:

@kemelzaidan

Facebook:

facebook.com/

kemelzaidan

KEMEL ZAIDAN

á um ano eu estava

pesquisando frameworks web

em Node.js e deparei com o

Meteor.js. Desde então, tenho

gasto algum tempo estudando

e testando a plataforma.

A primeira coisa que me deixou curioso

foi o fato de o Meteor não ser MVC. Boa parte

dos frameworks web que temos em atividade

hoje em dia são reimplementações do Rails

(para os “full stacks”) ou do Sinatra (no caso dos

microframeworks) só que em outras linguagens.

Contudo, o Rails completou dez anos e esta me

pareceu ser uma boa hora para encontrar um

paradigma que seja melhor do que o já batido

“Model, View, Controller”.

Um conceito fundamental na arquitetura do

Meteor é a reatividade. Todo aplicativo feito com

ele é, desde o início, um “single page application”.

$íQDO ID] SRXFR VHQWLGR QRV GLDV GH KRMH íFDU

renderizando HTML no lado do servidor e servindo

estaticamente para o navegador.

Em vez disso, o framework cria uma “espécie

de API”, cujo cliente monitora qualquer mudança,

sendo que apenas dados trafegam de um lado ao

RXWUR 4XDQGR DOJXP GDGR « PRGLíFDGR QR ODGR GR

FOLHQWH HVVD PXGDQ©D VH UHîHWH DXWRPDWLFDPHQWH

no servidor e vice-versa. Além da enorme facilidade

que isso traz ao trabalho do desenvolvedor, a

DSOLFD©¥R íFD EDVWDQWH UHVSRQVLYD SRLV Q¥R « PDLV

necessário baixar a página inteira novamente e

renderizar todo o conteúdo, simplesmente porque

uma pequena parte precisa ser atualizada. Nunca

foi tão simples fazer AJAX.

3RU FRQWD GLVVR VHU ÛPRELOH íUVWÜ íFD I£FLO

uma vez que a API encontra-se pronta. O Meteor

possui integração nativa com o Apache Cordova,

ao ponto de tornar a criação de uma aplicação

$QGURLG RX L26 DSHQDV XPD HVSHFLíFLGDGH GHQWUR

GR PHVPR îX[R GH GHVHQYROYLPHQWR R TXH H[LJH

literalmente, algumas poucas linhas de código

a mais. Boa parte dele é compartilhada com o

servidor e o cliente, de forma que você só precisa

VH SUHRFXSDU HP FULDU DTXLOR TXH « HVSHF¯íFR GRV

dispositivos móveis.

Qualquer linguagem de programação

moderna conta com gerenciamento de pacotes e

dependências: o Ruby tem as Gems, o Python tem

o Pip, o Perl faz uso do CPAN, o PHP do Composer,

e mesmo o Node.js possui o NPM. Apesar de ser

tranquilamente possível fazer uso de módulos

NPM no Meteor, ele possui seu próprio repositório

de pacotes: o Atmosphere. A diferença é que os

pacotes no Atmosphere são adaptados para fazer

uso da reatividade presente no framework e podem

também conter “partials” (segmentos de código

HTML dinâmico) que podem ser usados facilmente

para acelerar a criação dos templates.

Aliás, o Meteor possui o Blaze, seu próprio

engine de templates baseado no Handlebars que

se mostra extremamente simples e poderoso de

usar. Contudo, por transferir apenas dados entre

servidor e cliente, o Blaze pode ser facilmente

substituído pelo Angular ou React.js, bem ao gosto

do freguês.

Há muito mais para ser dito sobre o Meteor.

Caso você tenha se interessado por ele, veja o site

do projeto:

www.meteor.com .

H

[

O METEOR

POSSUI O BLAZE,

SEU PRÓPRIO

ENGINE DE

TEMPLATES

BASEADO NO

HANDLEBARS E

QUE SE MOSTRA

EXTREMAMENTE

SIMPLES E

PODEROSO DE

USAR

]

METEOR.JS:

LW

ALÉMDOMVC

REVISTA LOCAWEB