Maybe you will be intimated by the variety of tools that you can use to develop Backbone.js web applications. The Backbone.js ecosystem is quite large so not all choices of tools will work for you. However, I hope this book will help you to decide which tools will work best for the particular app you are working on.
In summary, we’ll cover:
This book is written for readers coming from one of these backgrounds:
Hopefully, this book can show paths to structure web applications in a new way, towards friendlier and more scalable web applications. Especially, this book might be interesting to developers who want to learn approaches for using a user interfaces as a service, where frontend and backend services can be maintained and deployed independently.
Other frameworks to build interactive documents such as Angular.js or Ember provide more abstractions and a high amount of “sugar” to build interfaces. However, the philosophy of this book is to pull in abstractions and dependencies when needed, and not start with those in the first place. This book should provide Backbone’s viewpoint on when and why certain abstractions are useful.
Although the ideas from Backbone.js have quickly diffused into very interesting realms, such as highly interactive maps, system applications, browser extension and hybrid applications for mobile phones, it is not possible to discuss all of these.
If you are on a Windows machine that does not support a Unix command line, you might want to install Cygwin or a VM running Unix to be able to better follow the examples.
The first goal of this book is to help you understand the different use cases of Backbone.js. Over the last years, Backbone.js has built up a good reputation for improving the development of client-side web applications. There are a number of interesting projects and companies that use Backbone.js. For example, Walmart uses Backbone.js as core library of their mobile shopping cart. Airbnb uses Backbone.js to let users and search engines browse available travel accomodations. Documentcloud has built a document screening service with Backbone.js. There are many more examples, and you can find an interesting overview online.
As Backbone.js has its roots in open-source software development, feedback and discussion about the presented material is highly appreciated.
The book website will collect all libraries that are mentioned in this book. Also, there will be references to interesting blog posts about the topics from the book.
The following typographical conventions are used in this book:
Constant width bold
Constant width italic
This element signifies a tip or suggestion.
This element signifies a general note.
This element indicates a warning or caution.
Supplemental material (code examples, exercises, etc.) is available for download at https://github.com/oreillymedia/title_title.
This book is here to help you get your job done. In general, if example code is offered with this book, you may use it in your programs and documentation. You do not need to contact us for permission unless you’re reproducing a significant portion of the code. For example, writing a program that uses several chunks of code from this book does not require permission. Selling or distributing a CD-ROM of examples from O’Reilly books does require permission. Answering a question by citing this book and quoting example code does not require permission. Incorporating a significant amount of example code from this book into your product’s documentation does require permission.
We appreciate, but do not require, attribution. An attribution usually includes the title, author, publisher, and ISBN. For example: “Developing Web Applications with Backbone.js by Patrick Mulder (O’Reilly). Copyright 2014 Patrick Mulder, 978-1-449-37098-5.”
If you feel your use of code examples falls outside fair use or the permission given above, feel free to contact us at firstname.lastname@example.org.
Technology professionals, software developers, web designers, and business and creative professionals use Safari Books Online as their primary resource for research, problem solving, learning, and certification training.
Safari Books Online offers a range of product mixes and pricing programs for organizations, government agencies, and individuals. Subscribers have access to thousands of books, training videos, and prepublication manuscripts in one fully searchable database from publishers like O’Reilly Media, Prentice Hall Professional, Addison-Wesley Professional, Microsoft Press, Sams, Que, Peachpit Press, Focal Press, Cisco Press, John Wiley & Sons, Syngress, Morgan Kaufmann, IBM Redbooks, Packt, Adobe Press, FT Press, Apress, Manning, New Riders, McGraw-Hill, Jones & Bartlett, Course Technology, and dozens more. For more information about Safari Books Online, please visit us online.
Please address comments and questions concerning this book to the publisher:
|O’Reilly Media, Inc.|
|1005 Gravenstein Highway North|
|Sebastopol, CA 95472|
|800-998-9938 (in the United States or Canada)|
|707-829-0515 (international or local)|
We have a web page for this book, where we list errata, examples, and any additional information. You can access this page at http://oreil.ly/dwa-backbone.
To comment or ask technical questions about this book, send email to email@example.com.
For more information about our books, courses, conferences, and news, see our website at http://www.oreilly.com.
Find us on Facebook: http://facebook.com/oreilly
Follow us on Twitter: http://twitter.com/oreillymedia
Watch us on YouTube: http://www.youtube.com/oreillymedia
I want to thank Andrea Notari, Daniele Bertella and Aurélie Mercier for investing time in a side-project that led to experimenting with Backbone.js in the first place. We are trying to make digital work better accessible and more transparent.
Thanks for valuable feedback and discussion from: Lucas Dohmen, Michael Hackstein, Mathias Lafeldt, Radoslav Stankov, Colin Megill, Eric Trom, Ryan Eastridge, Mike Dvorkin, Martin Gausby, Jeremy Morrell, Jean Carlos Menino, Axel Rauschmayr, Philip Fehre, Roman Sladeczek, Laust Rud Jacobson, Yi Cao, Dave Cadwallader, Nikhilesh Katakam, Patrick Dubroy, Ted Han, Jeremy Ashkenas, Jason Crawford, Peter de Croos, Adam Krebs, Tim Griesser, Sara Robinson, Kevin Sweeney, Petka Antonov, Gorgi Kosev.
Thanks to Dominik Oslizlo for sharing helpful feedback on interface design.
I want to thank my colleagues at Fidor and the people I met at meetups and user groups for supporting me during the project, asking questions or providing helpful directions.
If the essence of writing is re-writing, I want to thank my reviewers and editors to keep me re-writing the manuscript. A special thanks to my technical reviewers Manuela Mitterdorfer, Garrett Allen, Josh Habdas, Will Mruzek, Sam Saccone and Jake Buob of Mojotech. Your feedback raised many interesting questions, and I hope that you like the final book outcome.
Special thanks to my editor Brian MacDonald at O’Reilly. It was great to see your patience and have your feedback during the writing process.
Also, I want to thank Simon St. Laurent and Meg Blanchette for the initial supporting work for this book at O’Reilly.
Last, I want to thank Béatrice for her love and sense for aesthetics outside of the digital world.