近来我应邀为朋侪写一个 Web App,前期在斟酌手艺栈的时刻挑选了 Rails API+Ember.js。斟酌到这个运用的范围,挑选 Ember.js 也许有点重,然则做公司的项目一直都在用 Angular,着实有点玩腻了(Angular 很好),而其他的前端框架要么不好玩,要么还不够成熟(我真好想用 Meteor,好想好想……)。纠结重复,终究照样决议玩一下 Ember.js。
最先着手写了一天以后,我以为 Ember.js 真的很棒!去年前曾试过水,但当时还没有刊行第一个正式版,文档杂乱无章不说,Ember-data 更是让人抓狂不已。然则如今好多了,真是好太多了。而且我发明像我这类有架构洁癖加代码洁癖的强迫症患者,Ember.js 比 Angular 更相符我的审美观。
眼下第一目的是把这个运用写完,在此过程当中本着打破砂锅问到底的精力,我在网上找到一些很不错的 Ember.js 的资本。其中有好些没来得及细细看完,也有一些值得多看几遍,往后指不定还用得着呢。因而纪录于此——
本列表正延续更新中。假如你喜好,请珍藏,更新以后你会第一时间收到;假如对你有效,请不吝赞扬。(Last updated at: Apr 14, 2014 10:00pm)
道理
- Ember Run Loop and TDD(Ember 运转回圈和测试驱动开辟) 2014-01-24
- This is how I understand run loop finally
- Router Request Lifecycle(路由要求的生命周期) 2013-02-08
- PostgreSQL Basics by Example 2013-08-19
- 这跟 Ember.js 半毛钱关联都没有,纯属跃跃欲动……
- Ember Run Loop Visual(可视化的运转回圈演示)
- 来源于这篇出色的问答
- Ember Components Transclude My Directives(报告 Angular 和 Ember)
- 我屡次愿望像他人明白 Angular 和 Ember 的区分(一个是东西集,一个是框架),以及它们各自的优缺点(证实 Ember 一点都不弱于 Angular),然则我人微言轻,没啥公信力,多半前端工程师又太甚迷信和狭窄,所以我老是白费的一个。
不过这个演讲异常棒,异常准确清楚的说出了我想说的大部分东西(从最具争议的 Directive 和 Component 的对照入手)所以,我强烈推荐阅读一下,特别是熟习 Angular 的你们,由于该演讲者刚在本年的 NgConf 上宣布了雷同主题的别的一次演讲。 - 演讲视频:http://confreaks.com/videos/3303-emberconf2014-ember-components-transclude-my-directives
- 我屡次愿望像他人明白 Angular 和 Ember 的区分(一个是东西集,一个是框架),以及它们各自的优缺点(证实 Ember 一点都不弱于 Angular),然则我人微言轻,没啥公信力,多半前端工程师又太甚迷信和狭窄,所以我老是白费的一个。
技能
- An easy and clean way to set the page title(一个简约的转变
<title>
的要领) - Ember Animation and Transition 异常好的动画类型鸠合
- 在线 Demo: http://ef4.github.io/ember-animation-demo
- 配套演讲(at Ember Conf 2014) http://confreaks.com/videos/3302-emberconf2014-animations-and-transitions-in-an-ember-app
- Alert messages in Ember Apps 全局关照栏的一种完成要领
测试
- Ember.js Testing 2014-01-16
- 入门级测试环境搭配指南,胜在比较新
- Ember.js testing with Jasmine
- 没用 Jasmine,重点是测试中的异步掌握
- Testing Ember with Jasmine 2.0
- 这一篇相称新,但为啥都喜好 Jasmine?
- Integration testing your ember.js app with QUnit and Karma
- 我喜好 Karma
- Ember Integration Testing With Konacha
- Great Post!
- The Unofficial – Official Ember Testing guide
- 一个很好的测试指南
协同
- How to execute jQuery logic correctly after your View has been rendered?(在 View 衬着完以后怎样准确的实行 jQuery 代码?) 2013-08-01
- Reusable D3 charts with Ember.js Components
- 一名韩国女 JS 工程师写的 DS 与 Ember 的整合
综合
- Balint Erdi 干货许多的一家
- Ember Conf 2014
- Ember 社区的官方手艺集会,干货超多,有悉数视频放出
- Atomic Spin
- Highly recommended!
- Ember Doc
- 和官网谁人 API 内容一样,然则接见速度快,界面也有改良,查询阅读更轻易——然则我有 Dash ^^
- Pixel Handler’s Blog
- This Guy is Awesome!
- The Software Simpleton
- So does him!
- Yanted
- Only 3 useful posts
- Ember Addons
- 这里有种种干货,拿来用或参考都不错
- Ember Sherpa
- It actually doesn’t have too many informations right now, but it has the potential to be a great resource.
- Code Berry
- ZOMG!这么多好东西!!I LOVE THIS BLOG!!!
实例
App.PostRoute = Ember.Route.extend
beforeModel: ->
Ember.$('body').addClass 'loading'
model: (params) ->
@store.find 'post', params.post_id
# we can't use `afterModel` here to cancel the loading animation
# because the comments request has not been resolved yet
# following is an idea to use Ember.RSVP to make a dedicated promise
# for unfulfilled comments request:
setupController: (post, controller) ->
comments = Ember.RSVP.makePromise(post.get 'comments')
comments.then ->
Ember.run.scheduleOnce 'afterRender', @, ->
Ember.$('body').removeClass 'loading'
Ember.View.reopen({
didInsertElement : function(){
this._super();
Ember.run.scheduleOnce('afterRender', this, this.afterRenderEvent);
},
afterRenderEvent : function(){
// implement this hook in your own subclasses and run your jQuery logic there
}
});