Ember JSがアプローチ(および到達!)バージョン1.0.0になったときの進化に対応するのは困難でした。チュートリアルとドキュメントが行き交い、最高のことについて多くの混乱を招きました。元の開発者の実践と意図。
私の質問は正確に:Ember JSのベストプラクティスは何ですか?Ember JSの使用方法を示す更新されたチュートリアルまたは作業サンプルはありますか?コードサンプルは素晴らしいでしょう!
みんな、特にEmber JS devs!
このクイックスタートガイドでは、数分でzeroからわずかに多いになります。完了したら、ember.jsが実際に機能することをある程度確信し、さらに多くのことを学ぶのに十分な興味があることを願うはずです。
警告:このガイドを試してから、ember-sucksが「jQueryまたはFortranでより良いクイックスタートガイドを書くことができる」などと考えているだけではありません。 emberまたは何でも、このガイドはハローワールドに過ぎません。
this jsFiddle には、この回答のすべてのコードが含まれています
Ember.jsにはjQueryとHandlebarの両方が必要です。これらのライブラリがember.jsの前にロードされていることを確認してください。
_<script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.js'></script>
<script type='text/javascript' src="http://cdnjs.cloudflare.com/ajax/libs/handlebars.js/1.0.0-rc.3/handlebars.js"></script>
<script type='text/javascript' src="http://cdnjs.cloudflare.com/ajax/libs/ember.js/1.0.0-rc.1/ember.js"></script>
_
デフォルトではemberは1つ以上のhandlbarsテンプレートのコンテンツを使用してhtmlページの本文を置き換えます。これらのテンプレートはいつかスプロケットまたは多分grunt.jsによってアセンブルされた別個の.hbsファイルになります。すべてを1つのファイルに保持し、スクリプトタグを使用します。
最初に、単一のapplication
テンプレートを追加しましょう:
_<script type="text/x-handlebars" data-template-name="application">
<div class="container">
<h1>Ember.js is easy?<small> Minimum Viable Ember.js QuickStart Guide</small></h1>
<p>{{message}}</p>
</div>
</script>
_
App = Ember.Application.create({});
で別のスクリプトブロックを追加して、ember.jsをロードし、アプリケーションを初期化します。
_<script type='text/javascript'>
App = Ember.Application.create({});
</script>
_
基本的なemberアプリケーションを作成するために必要なのはそれだけですが、あまり面白くありません。
Emberは、コントローラーのコンテキストで各ハンドルバーテンプレートを評価します。したがって、application
テンプレートには、一致するApplicationController
があります。 Ember createsは、定義しない場合は自動的に作成されますが、ここではメッセージプロパティを追加するようにカスタマイズしてみましょう。
_<script type='text/javascript'>
App.ApplicationController = Ember.Controller.extend({
message: 'This is the application template'
});
</script>
_
Emberルーターを使用すると、テンプレート/コントローラーをアプリケーションに簡単に組み合わせることができます。
_<script type='text/javascript'>
App.Router.map(function() {
this.route("index", { path: "/" });
this.route("list", { path: "/list" });
});
App.IndexController = Ember.Controller.extend({
message: 'Hello! See how index.hbs is evaluated in the context of IndexController'
});
App.ListRoute = Ember.Route.extend({
setupController: function(controller) {
controller.set('content', ['angular.js', 'backbone.js', 'ember.js']);
}
});
</script>
_
これを機能させるために、_{{outlet}}
_ヘルパーを追加してアプリケーションテンプレートを変更します。 Ember routerはユーザーのルートに応じて適切なテンプレートをアウトレットにレンダリングします。また、_{{linkTo}}
_ヘルパーを使用してナビゲーションリンクを追加します。
_ <script type="text/x-handlebars" data-template-name="application">
<div class="container">
<h1>Ember.js is easy?<small> Minimum Viable Ember.js QuickStart Guide</small></h1>
<p>{{message}}</p>
<div class="row">
{{#linkTo index class="span3 btn btn-large btn-block"}}Home{{/linkTo}}
{{#linkTo list class="span3 btn btn-large btn-block"}}List{{/linkTo}}
</div>
{{outlet}}
</div>
</script>
<script type="text/x-handlebars" data-template-name="list">
<h3 class="demo-panel-title">This is the list template</h3>
<ul>
{{#each item in content}}
<li>{{item}}</li>
{{/each}}
</ul>
</script>
<script type="text/x-handlebars" data-template-name="index">
<h3 class="demo-panel-title">This is the index template</h3>
<p>{{message}}</p>
</script>
_
このアプリケーションの実例が利用可能です here 。
this jsFiddle を、独自のemberアプリの開始点として使用できます
参考のため、私の元の答え:
私の質問は、Ember.jsの専門家、そして確かにそれぞれのチュートリアル作成者に対するものです。あるチュートリアルのデザインパターンをいつ使用し、他のチュートリアルのデザインパターンを使用するのですか
これらの2つのチュートリアルは、作成時のベストプラクティスを表しています。確かに、それぞれから学ぶことができるものがありますが、ember.jsは非常に高速に動いているため、どちらも時代遅れになる運命にあります。 2つのうち、トレックの方がはるかに最新です。
それぞれのどのコンポーネントが個人的な好みであり、アプリが成熟するにつれてどのコンポーネントが不可欠であると証明されますか?新しいemberアプリケーションを開発している場合、Code Labのアプローチに従うことはお勧めしません。それは古すぎて役に立たないでしょう。
Code Labの設計では、EmberはカスタムJSの100%であっても)アプリケーション内に存在しているように見えますが、TrekのアプリケーションはEmber内により多く存在するようです。
あなたのコメントはバングオンです。 CodeLabはコアemberコンポーネントを利用し、グローバルスコープからそれらにアクセスします。これが書かれたとき(9か月前)これはかなり一般的でしたが、今日はemberアプリケーションは、トレックがやっていることにずっと近いです。
とはいえ、トレックのチュートリアルでさえ古くなっています。必要なコンポーネントApplicationView
およびApplicationController
は、フレームワーク自体によって生成されるようになりました。
最新のリソースは、 http://emberjs.com/guides/ で公開されている一連のガイドです。これらは過去数週間にわたってゼロから書かれており、最新の(pre -release)emberのバージョン。
また、ここでtrekのwipプロジェクトをチェックアウトします。 https://github.com/trek/ember-todos-with-build-tools-tests-and-other-modern-conveniences
[〜#〜] edit [〜#〜]:
@ sly7_7:ember-data https://github.com/dgeb/ember_data_example を使用して、他の例も示します
@tomdaleによる30分間の新鮮なスクリーンキャストがあります: https://www.youtube.com/watch?v=Ga99hMi7wfY
The Fire Up Ember-Peepcode スクリーンキャストは一見の価値があります。
また、Tuts + Premiumの Let’s Learn Ember というタイトルの無料のチュートリアルをご覧ください。そのfree courses
シリーズ。このコースは、ツッツの人々が言うように、14の簡単な章に分かれています。
これがお役に立てば幸いです。
よろしく、
古い Ember.jsのフレーム は、emberを初めて見た人にとってはまだ良いチュートリアルです。
最新のEmberJSをEmber-Dataで、Emblemテンプレートエンジンで使用する場合は、スターターキットを作成しました。すべてMiddlemanでラップされているため、CoffeeScriptで開発できます。 GitHubのすべて: http://goo.gl/a7kz6y
前から始まる一連のビデオの作成を開始しましたEmberそして、実際の世界の事柄の深刻なユースケースで怒りのEmber.
これが日の目を見ることに興味があるなら(興味があれば最終的に公開するのはうれしいです)私が作った投稿に行き、「いいね」を押してください(またはここにコメントしてください)私は推測する):
コミュニティの繁栄に役立つだけでなく、人々が標準的なWebサイトを簡単な方法で構築する方法を学ぶのに役立つことを非常に熱望しています。
木炭ヨーマンのアプローチが好きです。すぐに使えるものがたくさんあります:
もっと。
セットアップが非常に簡単で、yo charcoal
アプリを作成してからyo charcoal:module myModule
新しいモジュールを追加します。