Email the Author

You can use this page to email David Sulc about Backbone.Marionette.js: A Serious Progression.

Please include an email address so the author can respond to your query

This message will be sent to David Sulc

This site is protected by reCAPTCHA and the Google  Privacy Policy and  Terms of Service apply.

About the Book

The book is up to date for Marionette 2.3. In addition, you also receive the book covering Marionette 1.7.4.

Now that you've read the Gentle Introduction book and have a good grasp on Marionette fundamentals, take the next step in your journey: learn to develop advanced functionality with the framework!

This book takes up where the Marionette introduction book left off. It will use an actual API back-end developed for this book, that will be easily adaptable to your framework. Dowload the sample to see how the ContactManager application is configured to connect to the remote API.

If you'd rather use your own API, each chatper details the relevant specifications your API must conform to.

Written in the same easy to follow style as its predecessor, you should have no trouble following along as you enhance the ContactManager application. Here are some of the topics we'll cover:

  • using Marionette's new Behavior functionality
  • using remote APIs
    • dealing with legacy APIs
    • converting data received from the API using parse
    • massaging data with toJSON before sending it to the API
  • handling server-side responses
    • properly reacting to server-side error codes (e.g. 404 Not Found)
    • processing server-side validation errors
    • usign deferreds or success/error callbacks
  • handling validation with Backbone.Validator
    • model-only validation
    • form & model validation (error display)
  • pagination using Backbone.Paginator
    • explore pagination through client- and server-side pagination
    • developing a general-purpose view to display paginated data (with automatic pagination controls maangement)
    • managing the pagination controls
    • managing the URL and routes
  • data relationships
    • manage nested collections "by hand"
    • using Backbone.associations to handle associations
  • i18n
    • using polyglot
  • authentication
    • strategies to consider
    • handling session timeouts
    • handling authorization
  • wrapping third-party APIs: see how we wrap GitHub's API so we can interact with Git repositories using only Backbone models and collections
    • implementing a custom Backbone.sync function from start to end
  • refreshing client-side data: how to manage cases where the data on the server has changed before a user sends data updates
  • improving memory management
    • defining methods on prototypes
    • using listenTo
    • starting/stopping sub-applications

Previous Praise

This book doesn't really have reviews yet, so I'll do the next best thing to convince you to pick up a copy: quote readers from my previous books.

Best tutorial book I've ever read on *any* programming subject, never mind one as complicated as this. Thanks for an amazing book. -- Mike Brady

I think it was worth the money, as I was really struggling to get a grip on Marionette's philosophy [...]. This book cleared things up nicely and I applaud David for keeping things simple. -- karl

I am very pleased with this book and will have all my front end guys read it before starting to hack on our app. It's a must read if you're building a complex app with Backbone and Marionette. -- John Paul Narowski

Super happy with the way this book is written and I feel that I've made leaps into understanding [...] Marionette. I really recommend everyone to read this book. -- Jo-Pierre Lerm

This was a great supplement to take my app development several notches up. -- Mark Coleman

I wish many books were written in a similar style. I would highly recommend this book. -- Mohideen Noordeen

I just want to say that both your books have been tremendously useful. I had little to no knowledge of requirejs or marionette and your books got me up to speed in just a few days.Can't wait for your upcoming 'advanced' book. -- Ronny

This book is a gem. I would not hesitate recommend this book to anyone who wants to dive deep into Backbone.js and Marionette. -- Branden

I never finished a book so fast! -- Chris Ballenger

I'm only 1/2 way through the book right now, but... wow. Very well written and concise. I like the approach of refactoring the app as you work. -- Bastidias

Every javascript developer should have a copy of this book. It allows you to write structured and documented javascript code. After reading this book my chances of sticking with javascript has increased -- Lukman Adekunle

This book was fantastic in teaching me a solid approach. -- Adam

David's writing style makes it seem like you have a super-calm coach in the room with you. Highly recommended. -- Adrian Goins

The time i invested was very good. The examples works fine and they are exactly what i was looking for. I encourage everybody who wants to go ahead with SPA and this framework to start with David's book. -- Christian Neißl

I really enjoyed this book. The book is well written and is easy to understand and follow along with. -- Bryan

I followed along with the example, progressively building up the application. It was a very enjoyable experience. -- Matthieu

The best book on marionettejs around! A must have to start, I suggest also other one book about requirejs & marionette! --  Gaetano Padalino

Just finished this earlier, as always great book! spent the whole night refactoring the app I'm writing. -- marconijr

As I continue to work on my code I find myself flicking back through the book regularly to see how he has approached similar problems and I am eagerly looking forward to his next book on Marionette. -- Christo Fogelberg

I haven't had this much fun writing code in my life. Well done David! -- Chet Harrison

Loved this book as well! -- Jeff Sheffield


About the Author

David Sulc’s avatar David Sulc

@davidsulc

I spend most of my time applying technologies to business problems and like many, I acquire new technology skills in a self-taught manner. What I really enjoy is understanding subjects well enough to be able to teach others about them in a straightforward "this makes complete sense" style.

Logo white 96 67 2x

Publish Early, Publish Often

  • Path
  • There are many paths, but the one you're on right now on Leanpub is:
  • Marionette-serious-progression › Email Author › New
    • READERS
    • Newsletters
    • Weekly Sale
    • Monthly Sale
    • Store
    • Home
    • Redeem a Token
    • Search
    • Support
    • Leanpub FAQ
    • Leanpub Author FAQ
    • Search our Help Center
    • How to Contact Us
    • FRONTMATTER PODCAST
    • Featured Episode
    • Episode List
    • MEMBERSHIPS
    • Reader Memberships
    • Department Reader Memberships
    • Author Memberships
    • Your Membership
    • COMPANY
    • About
    • About Leanpub
    • Blog
    • Contact
    • Press
    • Essays
    • AI Services
    • Imagine a world...
    • Manifesto
    • More
    • Partner Program
    • Causes
    • Accessibility
    • AUTHORS
    • Write and Publish on Leanpub
    • Create a Book
    • Create a Bundle
    • Create a Course
    • Create a Track
    • Testimonials
    • Why Leanpub
    • Services
    • TranslateAI
    • TranslateWord
    • TranslateEPUB
    • PublishWord
    • Publish on Amazon
    • CourseAI
    • GlobalAuthor
    • Marketing Packages
    • IndexAI
    • Author Newsletter
    • The Leanpub Author Update
    • Author Support
    • Author Help Center
    • Leanpub Authors Forum
    • The Leanpub Manual
    • Supported Languages
    • The LFM Manual
    • Markua Manual
    • API Docs
    • Organizations
    • Learn More
    • Sign Up
    • LEGAL
    • Terms of Service
    • Copyright Policy
    • Privacy Policy
    • Refund Policy

*   *   *

Leanpub is copyright © 2010-2025 Ruboss Technology Corp.
All rights reserved.

This site is protected by reCAPTCHA
and the Google  Privacy Policy and  Terms of Service apply.

Leanpub requires cookies in order to provide you the best experience. Dismiss