Saltar para o conteúdo

Usuário:Sumosacerdote/Ember.js

Origem: Wikipédia, a enciclopédia livre.

Nota: Depois de publicar, poderá ter de contornar a cache do seu navegador para ver as alterações.

  • Firefox / Safari: Pressione Shift enquanto clica Recarregar, ou pressione Ctrl-F5 ou Ctrl-R (⌘-R no Mac)
  • Google Chrome: Pressione Ctrl-Shift-R (⌘-Shift-R no Mac)
  • Edge: Pressione Ctrl enquanto clica Recarregar, ou pressione Ctrl-F5.
{{Info/Software|nome=Ember.js|logotipo=Ember.js_Logo_and_Mascot.png|autor=Yehuda Katz|desenvolvedor=[http://emberjs.com/team/ Ember Core Team]|data_do_lançamento=8&nbsp;&#x64;&#x65;&#x20;&#x44;&#x65;&#x7A;&#x65;&#x6D;&#x62;&#x72;&#x6F;&#x20;&#x64;&#x65; 2011|linguagem=[[JavaScript]]|sistema_operacional=[[Cross-platform|Multiplataforma]]|gênero=<br ></span>|licença=[[MIT License|Licença MIT]]|estado=Corrente}}'''Ember.js''' é um[[ framework web]] [[JavaScript]] de [[código aberto]], baseado na arquitetura Model–view–viewmodel (MVVM). Ele permite aos desenvolvedores [[Aplicativo de página única|aplicativos web de página única]] escaláveis<ref>{{cite web|url=https://techcrunch.com/2012/11/30/why-enterprise-apps-are-moving-to-single-page-design/|title=Enterprise Apps Are Moving To Single-Page Design|last1=Aghassipour|first1=Alexander|last2=Chacko|first2=Shajith|publisher=[[TechCrunch]]|date=30 Nov 2012}}</ref>, ao incorporar expressões idiomáticas comuns e boas práticas de desenvolvimento em seu núcleo.

Ember é usado em muitos sites populares, incluindo [[Discourse]],<ref>{{cite web|url=https://github.com/discourse/discourse#built-with|title=Discourse-Built with Ember.js|website=GitHub|accessdate=15 Jul 2015}}</ref> [[Groupon]],<ref>{{cite web|url=http://www.talentbuddy.co/blog/building-with-ember-js-at-groupon/|title=Building With Ember.js at Groupon|website=TalentBuddy|accessdate=15 Oct 2015}}</ref> [[LinkedIn]], [[Vine (serviço)|V]]<nowiki/>ine, [[Twitch.tv]] e [[Chipotle Mexican Grill|Chipotle]].<ref>http://libscore.com/?#Ember</ref> Embora inicialmente considerado um framework somente para a web, também é possível criar aplicações para dispositivos móveis e para [[desktop]] com o uso de Ember.<ref>{{cite web|url=https://github.com/truenorth/MWDCON-example#write-once-run-everywhere|title=Ember-Write Once, Run Everywhere|website=GitHub|date=5 Jul 2015}}</ref><ref>{{cite web|url=https://speakerdeck.com/brzpegasus/build-better-desktop-apps-with-ember|title=Build better desktop apps with Ember|website=SpeakerDeck|date=5 Jul 2015}}</ref><ref>{{cite web|url=http://confreaks.tv/videos/wickedgoodember2015-build-better-desktop-apps-with-ember|title=Wicked Good Ember 2015 talk - Build better desktop apps with Ember, video|date=5 Jul 2015}}</ref> O exemplo mais notável de um aplicativo Ember para desktop é [[Apple Music|a Apple Music]],<ref>{{cite web|url=http://builtwithember.io/featured/2015/07/04/apple-music/|title=Built with ember - Apple Music|website=BuiltWithEmber|accessdate=21 Jul 2016}}</ref> uma funcionalidade do [[iTunes]] para desktop.

== Conceitos básicos ==
Ember é composto por cinco conceitos-chave:<ref />

; Rotas (Routes)
: No Ember, o estado de uma aplicação é representada por uma URL. Cada URL tem um objeto de rota correspondente que controla o que é visível para o usuário.

; Modelos (Models)
: Cada rota tem um modelo associado, contendo os dados associados ao estado atual do aplicativo.<ref>{{cite web|url=http://emberjs.com/guides/models/|title=Ember.js - Models: Introduction|website=Emberjs|accessdate=21 Jan 2014}}</ref> Embora seja possível usar [[jQuery]] para carregar objetos [[JSON]] de um servidor e usar esses objetos como modelos, a maioria dos aplicativos usa uma biblioteca de modelos, como Ember Data, para lidar com isso.

; Padrões (Templates)
: Templates são usados para criar o HTML do aplicativo e são escritos com a linguagem de templates HTMLBars. (HTMLBars é uma variação do [[Handlebars]] que cria elementos DOM em vez de uma String.)<ref>{{cite web|last1=Jackson|first1=Robert|title=HTMLBars|url=https://github.com/tildeio/htmlbars|website=GitHub|accessdate=18 February 2015}}</ref>

; Componentes
: Um componente é uma tag HTML personalizada. O comportamento é implementado usando JavaScript e sua aparência é definida usando modelos HTMLBars. Componentes "são donos" de seus dados. Eles também podem ser aninhados e podem se comunicar com seus componentes pai por meio de ações (eventos). Outras bibliotecas de componentes, tais como [https://www.polymer-project.org/1.0/ Polymer] também podem ser usadas com Ember.<ref>{{cite web|url=http://www.programwitherik.com/how-to-add-polymer-to-your-ember-project/|title=How To Add Polymer To Your Ember Project|website=ProgramWithErik|accessdate=11 Aug 2015}}</ref>

; Serviços
: Serviços são apenas objetos singleton para armazenar dados de longa duração, como sessões de usuários.<ref>{{cite web|url=http://www.programwitherik.com/ember-services-tutorial/|title=Ember Services Tutorial|website=ProgramWithErik|accessdate=27 July 2015}}</ref>

Ember também fornece [[injeção de dependência]], [[Ligação de dados|vinculação de dados]] bidirecional declarativa, propriedades computadas e templates auto-atualizáveis.<ref>{{cite web|url=http://net.tutsplus.com/tutorials/javascript-ajax/getting-into-ember-js/|title=Getting Into Ember.js|last=Bango|first=Rey|publisher=Nettuts+|date=14 Mar 2013}}</ref>


== Referências ==
{{Reflist|30em}}
<nowiki>
[[Categoria:Ajax (programação)]]
[[Categoria:Bibliotecas JavaScript]]
[[Categoria:Software usando a licença MIT]]
[[Categoria:Frameworks de aplicações web]]</nowiki>