Ember JS가 버전 1.0.0에 접근 (및 도달!)함에 따라 진화하는 Ember JS를 따라 잡기가 어려웠습니다. 튜토리얼과 문서가 왔다가 사라져 모범 사례와 원래 개발자의 의도에 대해 많은 혼란을 겪었습니다.
내 질문은 정확히 다음과 같습니다. Ember JS의 모범 사례는 무엇입니까? Ember JS가 어떻게 사용되는지 보여주는 업데이트 된 튜토리얼이나 작업 샘플이 있습니까? 코드 샘플이 좋을 것입니다!
모든 분들, 특히 Ember JS 개발자에게 감사드립니다!
답변
신규 Ember.js 개발자와 베테랑 Ember.js 개발자가 모두 활용해야하는 중요한 프로젝트가 있습니다.
명령 줄에 약간의 편안함이 필요하지만 커뮤니티 권장 모범 사례를 사용하여 몇 초 안에 최신 Ember 프로젝트를 생성 할 수 있습니다.
Mike Grassotti의 답변 에서처럼 Ember.js 프로젝트를 어려운 방식으로 설정하는 것이 유익하지만 프로덕션 코드에는 그렇게해서는 안됩니다. 특히 Ember-CLI
예후 다가 승인 한 행복한 길 을 보여줄 수있는 강력하고 사용하기 쉬운 프로젝트가있을 때 특히 그렇습니다 .
답변
Mike Grassotti의 최소 실행 가능한 Ember.js 빠른 시작 가이드
이 빠른 시작 가이드는 몇 분 안에 0 에서 0보다 약간 높은 수준으로 안내합니다 . 완료되면 ember.js가 실제로 작동하고 더 많은 것을 배울 수있을만큼 충분히 관심을 가질 것이라는 확신을 갖게 될 것입니다.
경고 :이 가이드를 시도하지 말고 불씨가 “이 빠른 시작 가이드를 jQuery 또는 Fortran에서 더 잘 작성할 수 있습니다.”라고 생각하지 마십시오. 나는 당신을 불씨 나 다른 것에 팔려고하는 것이 아닙니다.이 가이드는 단지 hello-world에 불과합니다.
0 단계-jsFiddle 확인
이 jsFiddle 에는이 답변의 모든 코드가 있습니다.
1 단계-ember.js 및 기타 필수 라이브러리 포함
Ember.js에는 jQuery와 핸들 바가 모두 필요합니다. 해당 라이브러리가 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>
2 단계-하나 이상의 핸들 바 템플릿을 사용하여 애플리케이션의 사용자 인터페이스 설명
기본적으로 ember는 하나 이상의 handlbars 템플릿의 콘텐츠를 사용하여 HTML 페이지의 본문을 대체합니다. 언젠가 이러한 템플릿은 스프로킷 또는 grunt.js로 조립 된 별도의 .hbs 파일에있을 것입니다. 지금은 모든 것을 하나의 파일에 보관하고 스크립트 태그를 사용합니다.
먼저 단일 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>
3 단계-엠버 애플리케이션 초기화
App = Ember.Application.create({});
ember.js를로드하고 애플리케이션을 초기화하려면 다른 스크립트 블록을 추가 하기 만하면됩니다.
<script type='text/javascript'>
App = Ember.Application.create({});
</script>
이것이 기본적인 불씨 응용 프로그램을 만드는 데 필요한 전부이지만 그다지 흥미롭지는 않습니다.
4 단계 : 컨트롤러 추가
Ember는 컨트롤러의 컨텍스트에서 각 핸들 바 템플릿을 평가합니다. 따라서 application
템플릿에는 일치하는 ApplicationController
. Ember 생성은 사용자가 정의하지 않으면 자동으로 생성되지만 여기에서는 메시지 속성을 추가하도록 사용자 정의 해 보겠습니다.
<script type='text/javascript'>
App.ApplicationController = Ember.Controller.extend({
message: 'This is the application template'
});
</script>
5 단계 : 경로 및 추가 컨트롤러 및 템플릿 정의
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 라우터는 사용자의 경로에 따라 적절한 템플릿을 콘센트에 렌더링합니다. 또한 {{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>
끝난!
이 응용 프로그램의 작동 예는 여기에서 볼 수 있습니다 .
이 jsFiddle 을 자신의 엠버 앱의 시작점으로 사용할 수 있습니다.
다음 단계…
참고로 내 원래 답변 :
내 질문은 Ember.js 전문가, 그리고 확실히 각 튜토리얼 작성자를위한 것입니다. 언제 한 튜토리얼의 디자인 패턴을 사용해야하고 다른 튜토리얼의 디자인 패턴을 언제 사용해야합니까?
이 두 자습서는 작성 당시의 모범 사례를 나타냅니다. 확실히 각각에서 배울 수있는 것이 있지만, 둘 다 ember.js가 매우 빠르게 움직이고 있기 때문에 슬프게도 구식이 될 운명입니다. 두 가지 중에서 Trek ‘s는 훨씬 더 최신입니다.
각각의 구성 요소는 개인 취향이며 내 앱이 성숙함에 따라 필수적인 구성 요소는 무엇입니까? 새로운 엠버 애플리케이션을 개발하는 경우 Code Lab 접근 방식을 따르지 않는 것이 좋습니다. 유용하기에는 너무 오래되었습니다.
Code Lab의 디자인에서 Ember는 (그의 사용자 정의 JS의 100 % 임에도 불구하고) 응용 프로그램 내에서 기존에 더 가까운 것처럼 보이지만 Trek의 응용 프로그램은 Ember 내에서 더 많이 살고있는 것 같습니다.
귀하의 의견은 뱅온입니다. CodeLab은 핵심 ember 구성 요소를 활용하고 전역 범위에서 액세스합니다. 그것이 작성되었을 때 (9 개월 전) 이것은 매우 일반적 이었지만 오늘날에는 불씨 응용 프로그램을 작성하는 모범 사례가 Trek이하는 일에 훨씬 더 가깝습니다.
즉, Trek의 튜토리얼도 구식이되고 있습니다. 필요 ApplicationView
했고 ApplicationController
이제 프레임 워크 자체에서 생성 된 구성 요소입니다 .
지금까지 가장 최근의 리소스는 http://emberjs.com/guides/에 게시 된 가이드 세트입니다.이 가이드
는 지난 몇 주 동안 처음부터 작성되었으며 ember의 최신 (출시 전) 버전을 반영합니다.
https://github.com/trek/ember-todos-with-build-tools-tests-and-other-modern-conveniences 에서 trek의 wip 프로젝트도 확인합니다.
수정 :
@ sly7_7 : ember-data https://github.com/dgeb/ember_data_example을 사용하여 다른 예도 제공합니다.
답변
@tomdale이 만든 30 분의 새로운 스크린 캐스트가 있습니다. https://www.youtube.com/watch?v=Ga99hMi7wfY
답변
Yeoman 과 그에 수반되는 불씨 생성기를 사용하는 것이 좋습니다 . 즉시 앱을 개발, 테스트 및 준비하는 데 필요한 모든 도구를 사용할 수 있습니다. 추가 보너스로, 뷰 템플릿을 여러 파일로 분할하고 유지 관리 가능한 코드베이스를 쉽게 만들 수있는 지능형 디렉토리 구조로 시작할 수 있습니다.
약 5 분 만에 시작하고 실행하는 방법에 대한 자습서를 작성했습니다. node.js를 설치하고 여기를 따르십시오 .
답변
Fire Up Ember-Peepcode 스크린 캐스트는 볼만한 가치가 있습니다.
답변
또한 Tuts + Premium에서 Let ‘s Learn Ember 라는 제목의이 무료 튜토리얼을 살펴보십시오 . 그것의 free courses
시리즈 에서 그것의 무료 입니다. Tuts 사람들이 부르는이 과정은 이해하기 쉬운 14 개의 장으로 나뉩니다.
이게 도움이 되길 바란다.
문안 인사,
답변
나는 숯 여만 접근을 선호한다. 다음을 포함하여 즉시 사용할 수있는 다양한 기능을 제공합니다.
- ‘모듈’접근 방식을 사용하는 멋진 폴더 아키텍처.
- 중성
- 라이브 재 장전
- 작게 하다
- 추하게 하다
- jshint
그리고 더.
설정이 매우 쉽습니다. 실행 yo charcoal
하여 앱을 만든 다음 yo charcoal:module myModule
새 모듈을 추가하면됩니다.