Your SlideShare is downloading. ×
0
Ember Data Introduction and Basic Concepts
Ember Data Introduction and Basic Concepts
Ember Data Introduction and Basic Concepts
Ember Data Introduction and Basic Concepts
Ember Data Introduction and Basic Concepts
Ember Data Introduction and Basic Concepts
Ember Data Introduction and Basic Concepts
Ember Data Introduction and Basic Concepts
Ember Data Introduction and Basic Concepts
Ember Data Introduction and Basic Concepts
Ember Data Introduction and Basic Concepts
Ember Data Introduction and Basic Concepts
Ember Data Introduction and Basic Concepts
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Ember Data Introduction and Basic Concepts

404

Published on

Slides for talk given on November PragueJS meetup (http://www.praguejs.cz/talks/#november-2013)

Slides for talk given on November PragueJS meetup (http://www.praguejs.cz/talks/#november-2013)

Published in: Technology, Art & Photos
1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total Views
404
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
1
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Ember Data Adam Kloboučník, GoodData @akloboucnik GoodData Confidential. 2013 GoodData Corporation. All rights reserved.
  • 2. Ember Data ▶ client data-persistence library ▶ ▶ ▶ for Ember.js still beta-quality strongly opinionated (naming, url + model schema) ▶ “trivial choices are enemy” ~ @wycats GoodData Confidential. 2013 GoodData Corporation. All rights reserved.
  • 3. Complications Data merge problems Web Applications GoodData Confidential. 2013 GoodData Corporation. All rights reserved.
  • 4. Complications User Post dirty checking Comment changes GoodData Confidential. 2013 GoodData Corporation. All rights reserved.
  • 5. Complications ▶ ▶ ▶ merge problems dirty checking async GoodData Confidential. 2013 GoodData Corporation. All rights reserved.
  • 6. Ember Data architecture TA ES Lo c alS PI tor ag e R Data “Talks” protocol Persists models Adapter Store Serializer Models Google Spreadsheet Extracts raw data to Models GoodData Confidential. 2013 GoodData Corporation. All rights reserved.
  • 7. Models App.Post = DS.Model.extend({ title: DS.attr('string'), body: DS.attr('string'), comments: DS.hasMany('comment', {async: true}) }); App.Comment = DS.Model.extend({ content: DS.attr('string'), post: DS.belongsTo('post') }); GoodData Confidential. 2013 GoodData Corporation. All rights reserved.
  • 8. Adapter ▶ ▶ ▶ provides protocol abstraction RESTAdapter, FixtureAdapter provided LocalStorageAdapter, many others... GoodData Confidential. 2013 GoodData Corporation. All rights reserved.
  • 9. Intermezzo - promises ▶ “eventual value returned from completion of operation” function callApi(id) { var promise = longRunningOperation(id); return promise; } //.... callApi(2).then(function(result) { // do sth with resolved result }, function(err) { // do sth with rejection }); GoodData Confidential. 2013 GoodData Corporation. All rights reserved.
  • 10. Store ▶ ▶ ▶ ▶ querying and saving store.find[All,Query](‘model-name’[, id]); model_object.save(); both finders and save return promises for developer sanity (formerly a state chart with actions on edges) ▶ Em.RSVP.all([promise1, promise2]).then ... GoodData Confidential. 2013 GoodData Corporation. All rights reserved.
  • 11. Notes ▶ ▶ ▶ identity map sideloading optimize you API for easier life (jsonapi.org) ▶ ▶ ▶ alternatives ▶ ▶ ▶ ▶ active_model_serializers in Rails :-( elsewhere Ember.Resource Ember.Model EPF sources - emberjs.com/guides, source GoodData Confidential. 2013 GoodData Corporation. All rights reserved.
  • 12. Conclusion ▶ ▶ really young now, but provides clean separation of concerns ▶ ▶ ▶ ▶ ▶ developing client app without backend testing adapter code without rest of the app … “best practices” for api modelling integrates greatly with Ember if you use it GoodData Confidential. 2013 GoodData Corporation. All rights reserved.
  • 13. Thank you! @akloboucnik GoodData Confidential. 2013 GoodData Corporation. All rights reserved.

×