Developing Backbone.js Applications. Building Better JavaScript Applications
- Autor:
- Addy Osmani
- Ocena:
- Bądź pierwszym, który oceni tę książkę
- Stron:
- 374
- Dostępne formaty:
-
ePubMobi
Opis ebooka: Developing Backbone.js Applications. Building Better JavaScript Applications
If you want to build your site’s frontend with the single-page application (SPA) model, this hands-on book shows you how to get the job done with Backbone.js. You’ll learn how to create structured JavaScript applications, using Backbone’s own flavor of model-view-controller (MVC) architecture.
Start with the basics of MVC, SPA, and Backbone, then get your hands dirty building sample applications—a simple Todo list app, a RESTful book library app, and a modular app with Backbone and RequireJS. Author Addy Osmani, an engineer for Google’s Chrome team, also demonstrates advanced uses of the framework.
- Learn how Backbone.js brings MVC benefits to the client-side
- Write code that can be easily read, structured, and extended
- Work with the Backbone.Marionette and Thorax extension frameworks
- Solve common problems you’ll encounter when using Backbone.js
- Organize your code into modules with AMD and RequireJS
- Paginate data for your Collections with the Backbone.Paginator plugin
- Bootstrap a new Backbone.js application with boilerplate code
- Use Backbone with jQuery Mobile and resolve routing problems between the two
- Unit-test your Backbone apps with Jasmine, QUnit, and SinonJS
Wybrane bestsellery
-
W tej książce omówiono ponad 20 najprzydatniejszych wzorców projektowych, dzięki którym tworzone aplikacje internetowe będą łatwe w późniejszej obsłudze technicznej i w trakcie skalowania. Poza wzorcami projektowymi przedstawiono wzorce generowania i wydajności działania, których znaczenie dla uż...
Wzorce projektowe w JavaScripcie. Przewodnik dla programistów JavaScriptu i Reacta. Wydanie II Wzorce projektowe w JavaScripcie. Przewodnik dla programistów JavaScriptu i Reacta. Wydanie II
(41.40 zł najniższa cena z 30 dni)48.30 zł
69.00 zł(-30%) -
Do you want to write beautiful, structured, and maintainable JavaScript by applying modern design patterns to the language? Do you want clean, efficient, manageable code? Want to stay up-to-date with the latest best practices? If so, the updated second edition of Learning JavaScript Design Patter...(203.15 zł najniższa cena z 30 dni)
211.65 zł
249.00 zł(-15%) -
Ta książka szczególnie przyda się osobom, które rozpoczynają pracę z Angularem. Dzięki niej szybko zaczniesz tworzyć aplikacje z wykorzystaniem wiersza poleceń (CLI), pisać testy jednostkowe i używać stylów zgodnych ze standardem Material Design. Dowiesz się również, jak wdrażać aplikacje w środo...
Poznaj Angular. Rzeczowy przewodnik po tworzeniu aplikacji webowych z użyciem frameworku Angular 15. Wydanie IV Poznaj Angular. Rzeczowy przewodnik po tworzeniu aplikacji webowych z użyciem frameworku Angular 15. Wydanie IV
(53.40 zł najniższa cena z 30 dni)62.30 zł
89.00 zł(-30%) -
Mimo intensywnego rozwoju mediów społecznościowych, a co za tym idzie – nowego modelu kontaktu z klientami i „followersami”, zapotrzebowanie na profesjonalne, nowoczesne strony WWW nie maleje. Firmy i osoby prywatne wciąż poszukują twórców witryn w pełni responsywnych i maksymal...
Bootstrap. Kurs video. Tworzenie interaktywnych i responsywnych stron internetowych Bootstrap. Kurs video. Tworzenie interaktywnych i responsywnych stron internetowych
(39.90 zł najniższa cena z 30 dni)67.60 zł
169.00 zł(-60%) -
Dzięki temu przyjaznemu przewodnikowi poznasz kluczowe koncepcje programistyczne i operacje obiektowego modelu dokumentu. Nauczysz się też pisać kod działający asynchronicznie i współbieżnie. Poszczególne zagadnienia zostały zilustrowane przykładowymi fragmentami kodu i prostymi projektami ―...
JavaScript od pierwszej linii kodu. Błyskawiczna nauka pisania gier, stron WWW i aplikacji internetowych JavaScript od pierwszej linii kodu. Błyskawiczna nauka pisania gier, stron WWW i aplikacji internetowych
(59.40 zł najniższa cena z 30 dni)69.30 zł
99.00 zł(-30%) -
Dzięki tej książce błyskawicznie uzyskasz odpowiedzi na nurtujące programistów pytania o walidację danych w formularzach, testowanie kodu czy powiązanie kodu aplikacji z kodem serwerowym. Dowiesz się również, jak zapewnić sobie możliwość wielokrotnego wykorzystywania kodu i implementacji złożonyc...(59.40 zł najniższa cena z 30 dni)
69.30 zł
99.00 zł(-30%)
O autorze ebooka
Addy Osmani od lat pracuje jako programista JavaScriptu, jest autorem kilku popularnych książek na temat tego języka. Często występuje na konferencjach i innych wydarzeniach branżowych. Chętnie angażuje się w pomaganie innym programistom w rozwoju ich umiejętności.
Ebooka "Developing Backbone.js Applications. Building Better JavaScript Applications" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Developing Backbone.js Applications. Building Better JavaScript Applications" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Developing Backbone.js Applications. Building Better JavaScript Applications" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- ISBN Ebooka:
- 978-14-493-2855-9, 9781449328559
- Data wydania ebooka:
- 2013-05-10 Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Język publikacji:
- angielski
- Rozmiar pliku ePub:
- 6.0MB
- Rozmiar pliku Mobi:
- 14.4MB
Spis treści ebooka
- Developing Backbone.js Applications
- Preface
- Target Audience
- Credits
- Reading
- Conventions Used in This Book
- Using Code Examples
- Safari Books Online
- How to Contact Us
- Acknowledgments
- 1. Introduction
- What Is MVC?
- What Is Backbone.js?
- When Do I Need a JavaScript MVC Framework?
- Why Consider Backbone.js?
- Setting Expectations
- 2. Fundamentals
- MVC
- Smalltalk-80 MVC
- MVC Applied to the Web
- Client-Side MVC and Single-Page Apps
- Client-Side MVC: Backbone Style
- Implementation Specifics
- Models
- Views
- Templating
- Handlebars.js
- Underscore.js microtemplates
- Controllers
- MVC
- What Does MVC Give Us?
- Delving Deeper into MVC
- Summary
- Further Reading
- Fast Facts
- Backbone.js
- Used by
- 3. Backbone Basics
- Getting Set Up
- Models
- Initialization
- Default values
- Initialization
- Getters and Setters
- Model.get()
- Model.set()
- Direct access
- Listening for Changes to Your Model
- Validation
- Views
- Creating New Views
- What Is el?
- $el and $()
- setElement
- Understanding render()
- The events hash
- Collections
- Adding and Removing Models
- Retrieving Models
- Listening for Events
- Resetting/Refreshing Collections
- Underscore Utility Functions
- forEach: Iterate over collections
- sortBy(): Sort a collection on a specific attribute
- map(): Create a new collection by mapping each value in a list through a transformation function
- min()/max(): Retrieve item with the min or max value of an attribute
- pluck(): Extract a specific attribute
- filter(): Filter a collection
- indexOf(): Return the item at a particular index within a collection
- any() : Confirm if any of the values in a collection pass an iterator truth test
- size(): Return the size of a collection
- isEmpty(): Determine whether a collection is empty
- groupBy(): Group a collection into groups like items
- pick(): Extract a set of attributes from a model
- omit(): Extract all attributes from a model except those listed
- keys() and values(): Get lists of attribute names and values
- pairs(): Get list of attributes as [key, value] pairs
- invert(): Create object in which the values are keys and the attributes are values
- Chainable API
- RESTful Persistence
- Fetching Models from the Server
- Saving Models to the Server
- Deleting Models from the Server
- Options
- Events
- on(), off(), and trigger()
- listenTo() and stopListening()
- Events and Views
- Routers
- Backbone.history
- Backbones Sync API
- Overriding Backbone.sync
- Dependencies
- Summary
- 4. Exercise 1: TodosYour First Backbone.js App
- Static HTML
- Header and Scripts
- Application HTML
- Templates
- Static HTML
- Todo Model
- Todo Collection
- Application View
- Individual TodoView
- Startup
- In Action
- Completing and Deleting Todos
- Todo Routing
- Summary
- 5. Exercise 2: Book LibraryYour First RESTful Backbone.js App
- Setting Up
- Creating the Model, Collection, Views, and App
- Setting Up
- Wiring in the Interface
- Adding Models
- Removing Models
- Creating the Backend
- Install Node.js, npm, and MongoDB
- Install Node Modules
- Create a Simple Web Server
- Connect to the Database
- Talking to the Server
- Summary
- 6. Backbone Extensions
- MarionetteJS (Backbone.Marionette)
- Boilerplate Rendering Code
- Reducing Boilerplate with Marionette.ItemView
- Memory Management
- Region Management
- Marionette Todo App
- TodoMVC.js
- TodoMVC.Layout.js
- TodoMVC.TodoList.js
- Controllers
- CompositeView
- TodoMVC.TodoList.Views.js
- Todos.js
- Is the Marionette Implementation of the Todo App More Maintainable?
- Marionette and Flexibility
- And So Much More
- MarionetteJS (Backbone.Marionette)
- Thorax
- Hello World
- Embedding Child Views
- View Helpers
- collection Helper
- Custom HTML Data Attributes
- Thorax Resources
- Summary
- 7. Common Problems and Solutions
- Working with Nested Views
- Problem
- Solution 1
- Solution 2
- Solution 3
- Solution 4
- Working with Nested Views
- Managing Models in Nested Views
- Problem
- Solution
- Rendering a Parent View from a Child View
- Problem
- Solution
- Disposing View Hierarchies
- Problem
- Solution
- Rendering View Hierarchies
- Problem
- Solution
- Working with Nested Models or Collections
- Problem
- Solution
- Better Model Property Validation
- Problem
- Solution
- Backbone.validateAll
- Backbone.Validation
- Form-Specific Validation Classes
- Avoiding Conflicts with Multiple Backbone Versions
- Problem
- Solution
- Building Model and View Hierarchies
- Problem
- Solution
- Calling Overridden Methods
- Backbone-Super
- Event Aggregators and Mediators
- Problem
- Solution
- Event Aggregator
- Backbones event aggregator
- jQuerys event aggregator
- Mediator
- A mediator for Backbone
- Similarities and Differences
- Events
- Third-party objects
- Relationships: When to Use Which
- Event aggregator use
- Mediator use
- Event Aggregator and Mediator Together
- Pattern Language: Semantics
- 8. Modular Development
- Organizing Modules with RequireJS and AMD
- Maintainability Problems with Multiple Script Files
- Need for Better Dependency Management
- Asynchronous Module Definition (AMD)
- Writing AMD Modules with RequireJS
- Alternate syntax
- Getting Started with RequireJS
- RequireJS configuration
- RequireJS Shims
- RequireJS configuration
- Custom paths
- Organizing Modules with RequireJS and AMD
- Require.js and Backbone Examples
- Wrapping models, views, and other components with AMD
- Keeping Your Templates External Using RequireJS and the Text Plug-in
- Optimizing Backbone Apps for Production with the RequireJS Optimizer
- Summary
- 9. Exercise 3: Your First Modular Backbone and RequireJS App
- Overview
- Markup
- Configuration Options
- Modularizing Our Models, Views, and Collections
- Route-Based Module Loading
- JSON-Based Module Configuration
- Module Loader Router
- Using NodeJS to Handle pushState
- An Asset Package Alternative for Dependency Management
- 10. Paginating Backbone.js Requests and Collections
- Backbone.Paginator
- Live Examples
- Backbone.Paginator
- Paginator.requestPager
- Convenience Methods
- Paginator.clientPager
- Convenience Methods
- Implementation Notes
- Plug-ins
- Bootstrapping
- Styling
- Summary
- 11. Backbone Boilerplate and Grunt-BBB
- Getting Started
- Creating a New Project
- index.html
- config.js
- main.js
- app.js
- Creating Backbone Boilerplate Modules
- router.js
- Other Useful Tools and Projects
- Yeoman
- Backbone DevTools
- Summary
- 12. Backbone and jQuery Mobile
- Mobile App Development with jQuery Mobile
- The Principle of Progressive Widget Enhancement by jQMobile
- Understanding jQuery Mobile Navigation
- Mobile App Development with jQuery Mobile
- Basic Backbone App Setup for jQuery Mobile
- Workflow with Backbone and jQueryMobile
- Routing to a Concrete View Page, Inheriting from BasicView
- Management of Mobile Page Templates
- DOM Management and $.mobile.changePage
- Applying Advanced jQM Techniques to Backbone
- Dynamic DOM Scripting
- Intercepting jQuery Mobile Events
- Performance
- Clever Multiplatform Support Management
- 13. Jasmine
- Behavior-Driven Development
- Suites, Specs, and Spies
- beforeEach() and afterEach()
- Shared Scope
- Getting Set Up
- TDD with Backbone
- Models
- Collections
- Views
- View Testing
- Initial setup
- View rendering
- Rendering with a templating system
- View Testing
- Exercise
- Further Reading
- Summary
- 14. QUnit
- Getting Set Up
- Sample HTML with QUnit-Compatible Markup
- Getting Set Up
- Assertions
- Basic Test Case Using test( name, callback )
- Comparing the Actual Output of a Function Against the Expected Output
- Adding Structure to Assertions
- Basic QUnit Modules
- Using setup() and teardown()
- Using setup() and teardown() for Instantiation and Clean Up
- Assertion Examples
- Fixtures
- Fixtures Example
- Asynchronous Code
- 15. SinonJS
- What Is SinonJS?
- Basic Spies
- Spying on Existing Functions
- Inspection Interface
- Matching arguments: Test that a spy was called with a specific set of arguments
- Stricter argument matching: Test that a spy was called at least once with specific arguments and no others
- Testing call order: Test that a spy was called before or after another spy
- Match execution counts: Test that a spy was called a specific number of times
- What Is SinonJS?
- Stubs and Mocks
- Stubs
- Mocks
- Exercise
- Models
- Collections
- Views
- App
- Further Reading and Resources
- 16. Conclusions
- A. Further Learning
- A Simple JavaScript MVC Implementation
- Event System
- Models
- Views
- Controllers
- Practical Usage
- A Simple JavaScript MVC Implementation
- MVP
- Models, Views, and Presenters
- MVP or MVC?
- MVC, MVP, and Backbone.js
- Namespacing
- What Is Namespacing?
- Single global variables
- Object literals
- Nested namespacing
- What Is Namespacing?
- What Does DocumentCloud Use?
- Recommendation
- Backbone Dependency Details
- DOM Manipulation
- Utilities
- RESTful Persistence
- Routing
- Backbone Versus Other Libraries and Frameworks
- B. Resources
- Books and Courses
- Extensions/Libraries
- Index
- About the Author
- Colophon
- Copyright
O'Reilly Media - inne książki
-
Software as a service (SaaS) is on the path to becoming the de facto model for building, delivering, and operating software solutions. Adopting a multi-tenant SaaS model requires builders to take on a broad range of new architecture, implementation, and operational challenges. How data is partiti...(237.15 zł najniższa cena z 30 dni)
245.65 zł
289.00 zł(-15%) -
Great engineers don't necessarily make great leaders—at least, not without a lot of work. Finding your path to becoming a strong leader is often fraught with challenges. It's not easy to figure out how to be strategic, successful, and considerate while also being firm. Whether you're on the...(118.15 zł najniższa cena z 30 dni)
126.65 zł
149.00 zł(-15%) -
Data science happens in code. The ability to write reproducible, robust, scaleable code is key to a data science project's success—and is absolutely essential for those working with production code. This practical book bridges the gap between data science and software engineering,and clearl...(211.65 zł najniższa cena z 30 dni)
220.15 zł
259.00 zł(-15%) -
With the massive adoption of microservices, operators and developers face far more complexity in their applications today. Service meshes can help you manage this problem by providing a unified control plane to secure, manage, and monitor your entire network. This practical guide shows you how th...(194.65 zł najniższa cena z 30 dni)
211.65 zł
249.00 zł(-15%) -
Get practical advice on how to leverage AI development tools for all stages of code creation, including requirements, planning, design, coding, debugging, testing, and documentation. With this book, beginners and experienced developers alike will learn how to use a wide range of tools, from gener...(164.25 zł najniższa cena z 30 dni)
186.15 zł
219.00 zł(-15%) -
Rust's popularity is growing, due in part to features like memory safety, type safety, and thread safety. But these same elements can also make learning Rust a challenge, even for experienced programmers. This practical guide helps you make the transition to writing idiomatic Rust—while als...(164.25 zł najniższa cena z 30 dni)
186.15 zł
219.00 zł(-15%) -
Advance your Power BI skills by adding AI to your repertoire at a practice level. With this practical book, business-oriented software engineers and developers will learn the terminologies, practices, and strategy necessary to successfully incorporate AI into your business intelligence estate. Je...(211.65 zł najniższa cena z 30 dni)
220.15 zł
259.00 zł(-15%) -
Microservices can be a very effective approach for delivering value to your organization and to your customers. If you get them right, microservices help you to move fast by making changes to small parts of your system hundreds of times a day. But if you get them wrong, microservices will just ma...(203.15 zł najniższa cena z 30 dni)
211.65 zł
249.00 zł(-15%) -
JavaScript gives web developers great power to create rich interactive browser experiences, and much of that power is provided by the browser itself. Modern web APIs enable web-based applications to come to life like never before, supporting actions that once required browser plug-ins. Some are s...(186.15 zł najniższa cena z 30 dni)
186.15 zł
219.00 zł(-15%) -
How will software development and operations have to change to meet the sustainability and green needs of the planet? And what does that imply for development organizations? In this eye-opening book, sustainable software advocates Anne Currie, Sarah Hsu, and Sara Bergman provide a unique overview...(169.14 zł najniższa cena z 30 dni)
177.65 zł
209.00 zł(-15%)
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka drukowana
Oceny i opinie klientów: Developing Backbone.js Applications. Building Better JavaScript Applications Addy Osmani (0) Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.