Programming JavaScript Applications. Robust Web Architecture with Node, HTML5, and Modern JS Libraries - Helion
ISBN: 978-14-919-5025-8
stron: 254, Format: ebook
Data wydania: 2014-06-26
Księgarnia: Helion
Cena książki: 118,15 zł (poprzednio: 137,38 zł)
Oszczędzasz: 14% (-19,23 zł)
Take advantage of JavaScript’s power to build robust web-scale or enterprise applications that are easy to extend and maintain. By applying the design patterns outlined in this practical book, experienced JavaScript developers will learn how to write flexible and resilient code that’s easier—yes, easier—to work with as your code base grows.
JavaScript may be the most essential web programming language, but in the real world, JavaScript applications often break when you make changes. With this book, author Eric Elliott shows you how to add client- and server-side features to a large JavaScript application without negatively affecting the rest of your code.
- Examine the anatomy of a large-scale JavaScript application
- Build modern web apps with the capabilities of desktop applications
- Learn best practices for code organization, modularity, and reuse
- Separate your application into different layers of responsibility
- Build efficient, self-describing hypermedia APIs with Node.js
- Test, integrate, and deploy software updates in rapid cycles
- Control resource access with user authentication and authorization
- Expand your application’s reach through internationalization
Osoby które kupowały "Programming JavaScript Applications. Robust Web Architecture with Node, HTML5, and Modern JS Libraries", wybierały także:
- The HTML and CSS Workshop 106,79 zł, (29,90 zł -72%)
- HTML5. Kurs video. Poziom pierwszy. Programowanie dla początkujących webmasterów 89,00 zł, (26,70 zł -70%)
- Tworzenie gier w języku HTML5 dla profesjonalistów. Wydanie II 67,42 zł, (20,90 zł -69%)
- HTML 5. Kurs video. Poziom drugi. Tworzenie profesjonalnych stron WWW 89,00 zł, (35,60 zł -60%)
- Sass od podstaw. Kurs video. Budowa kompleksowej strony w oparciu o metodologię BEM 47,93 zł, (22,05 zł -54%)
Spis treści
Programming JavaScript Applications. Robust Web Architecture with Node, HTML5, and Modern JS Libraries eBook -- spis treści
- Programming JavaScript Applications
- Preface
- Introduction
- Who This Book Is For
- Who This Book Is Not For
- Unit Testing
- Conventions Used in This Book
- Safari Books Online
- How to Contact Us
- Thanks
- 1. The JavaScript Revolution
- Advantages of JavaScript
- Performance
- Objects
- Syntax
- First-Class Functions
- Events
- Reusability
- The Net Result
- Anatomy of a Typical Modern JavaScript App
- Infrastructure
- JSON: Data Storage and Communication
- NoSQL Data Stores
- RESTful JSON Web Services
- Advantages of JavaScript
- 2. Functions
- Minimize Side Effects
- Function Definition
- Named Function Expressions
- Lambdas
- Immediately Invoked Function Expressions
- Method Context
- Function.prototype.bind()
- Function Scope
- Hoisting
- Closures
- Method Design
- Named Parameters
- Function Polymorphism
- Method dispatch
- Generics and Collection Polymorphism
- Method Chaining and Fluent APIs
- Functional Programming
- Stateless Functions (aka Pure Functions)
- Partial Application and Currying
- Asynchronous Operations
- Callbacks
- Promises and Deferreds
- Conclusion
- 3. Objects
- Classical Inheritance Is Obsolete
- Fluent-Style JavaScript
- Prototypes
- Delegate Prototypes
- Prototype Cloning
- The Flyweight Pattern
- Object Creation
- Factories
- Prototypal Inheritance with Stamps
- Conclusion
- 4. Modules
- Principles of Modularity
- Interfaces
- The Module Pattern
- Asynchronous Module Definition
- Plug-Ins
- Node-Style Modules
- npm
- ES6 Modules
- Building Client-Side Code with CommonJS, npm, Grunt, and Browserify
- Defining the App
- Feature Implementation
- Bundling and Deployment
- Conclusion
- 5. Separation of Concerns
- Client-Side Concerns
- Module Management
- Getting started
- Registration, loading, and rendering
- Events
- Event emitters
- Event aggregators
- Queues and stacks
- Choosing the right event model
- Events by example
- Model View Controller/MV*
- Presentation and DOM Manipulation
- View events
- Event delegation
- Templates
- Web Components
- View events
- Module Management
- Server-Side Concerns
- Getting Started with Node and Express
- Installing Node and Express
- Organizing files in Node
- Node libraries
- Configuration
- Express
- Create your app
- Routing
- Middleware
- Let it crash
- Templates
- Next steps
- Getting Started with Node and Express
- Conclusion
- Client-Side Concerns
- 6. Access Control
- Authentication
- Passwords
- Rainbow tables
- Password salts
- Brute force
- Variable time equality
- Stolen passwords
- Rainbow tables
- Credential
- Multifactor Authentication
- Knowledge factor
- Possession factor
- Inherence factor
- Federated and Delegated Authentication
- Mozilla Persona
- WebID
- Delegated authentication
- Passwords
- Authorization
- Authorizing Applications
- OAuth 2.0
- Conclusion
- Authentication
- 7. Logging
- Debugging
- Server Operations
- Security
- Auditing
- Business Analytics
- Viral Factor
- Logging Checklist
- Logging Requests
- Logging Errors
- Sample Log Output
- Logging Service Alerts
- Logging Goals
- Profiling and Instrumentation
- Logging Client-Side Events
- Deciphering Data
- Conclusion
- 8. Building RESTful APIs
- Usable
- Focus
- Consistency
- Use common conventions
- Resourceful routing
- Self-Describing: Hypermedia
- Affordances
- HATEOAS
- HTML as an API Media Type
- Jade
- Jiron
- Responsive APIs
- Optimizing for Speed
- Conclusion
- Usable
- 9. Feature Toggle
- Organizing Features
- Scale of a Feature
- Feature Groups
- Lifespan of a Feature
- Development
- Staging
- Production Testing
- Feature Rollout
- Default Activation
- Full Integration
- Implementation
- Conclusion
- Organizing Features
- 10. Internationalization
- Conclusion
- A. JavaScript Style Guide
- Example Tests
- QUnit Primer
- Code Quality
- Best Practices Quick Reference
- Indentation: Be Consistent
- Use Semicolons
- Bracket Placement: Right Side
- Avoid Name Collisions
- Always Use var
- Use One var Statement per Function
- Avoid Constant Abuse
- Use Functional Iterators When Possible
- Be Careful with if Statements
- Avoid Side Effects
- Dont Use switch
- Dont Use eval()
- Index
- About the Author
- Colophon
- Copyright