Index
A
- abstractions
- Ajax
- Amazon.com, importance of page load speed for, Introduction and Key Concepts
- Angular, Full Stack Angular-Postscript
- Angular 1
- Angular 2
- Angular Universal, Angular Universal-Angular Universal
- API
- application class, Creating the Application Class-Creating the Application Class
- application core, size of, Managing Change
- application project
- architecting, Architecting Our Application-Summary
- compiling from ES6 to ES5, Compiling from ES6 to ES5-Compiling from ES6 to ES5
- defining problem to be solved by, Understanding the Problem
- directory information, Initializing the Project
- initializing, Initializing the Project-Initializing the Project
- name of, Initializing the Project
- responding to user requests, Responding to User Requests-Improving the Response Flow
- restarting the server on distribution changes, Restarting the server on distribution changes
- setting up, Setting Up the Application Project-Restarting the server on distribution changes
- setting up development workflow, Setting Up a Development Workflow-Restarting the server on distribution changes
- sever installation, Installing the Application Server
- transporting to client, Transporting the Application to the Client-Summary
- (see also porting of application to client)
- watching for source code changes, Watching for source code changes
- writing next-generation JavaScript (ES6), Writing Next-Generation JavaScript (ES6)-Writing Next-Generation JavaScript (ES6)
- Asana, Client Simulation on the Server
- Ashkenas, Jeremy, Client Architecture to the Rescue
- ASP.NET MVC, The Problem
- asynchronous module definition (AMD), Selecting a Bundling Library
B
- Babel.js
- Babelify, Creating Our Bundle Task
- Backbone.js, Client Architecture to the Rescue
- Berners-Lee, Tim, A Climate for Change
- bidirectional data synchronization, Bidirectional Data Synchronization
- Bjørnvig, Gertrud, Architecting Our Application
- Bloomberg LP, Brisket
- Bloomberg.com, Brisket, Making It Real, What’s Next for Brisket?
- BloombergPolitics.com, Making It Real
- BloombergView.com, Brisket, Best of Both Worlds, ClientApp and ServerApp
- Bosch, Tobias, Isomorphic Angular 1
- Brehm, Spike, Different Categories of Isomorphic JavaScript, Isomorphic JavaScript: The Future of Web Apps, Best of Both Worlds
- Brisket, Brisket-Postscript
- Backbone model/collection implementation, Model/Collection
- child view management, Child View Management
- ClientApp and ServerApp classes, ClientApp and ServerApp
- code freedom, Code Freedom-Use Any Templating Language
- consistent API across environments, Consistent API Across Environments-Tools That Do What You Expect in All Environments
- consistent tool behavior across environments, Tools That Do What You Expect in All Environments
- early version, Early Brisket
- future of, What’s Next for Brisket?
- goals for, Best of Both Worlds
- integration of third-party code, Stay Out of the Way of Progress
- key tools extracted from, Making It Real
- layout template, Layout Template
- lessons learned while developing, Other Lessons Learned
- reasons for creating, The Problem-The Problem
- Rendr vs., Best of Both Worlds
- route handling, Code Freedom-Code Freedom
- templating engine switching, Use Any Templating Language
- view lifecycle, View Lifecycle
- browser support, server rendering and, Angular 2 Server Rendering
- Browserify, Environment Agnostic, Selecting a Bundling Library
- browsers, headless, Full Stack Angular
- bundling
- bundling libraries
- business object/entity, Sharing Models
C
- change
- child view management, Child View Management
- classic web applications
- client
- attaching DOM event handlers to, Attaching DOM Event Handlers
- controller instance creation on, Creating a Controller Instance
- degree of code shared with server (see spectrum, isomorphic JavaScript as)
- deserializing of data on, Deserializing Data
- getting/setting cookies on, Getting and setting cookies on the client
- implementing interface for getting/setting cookies, Implementing the interface for the client
- implementing redirect interface for, Implementing the interface for the client
- including redirect implementation in request lifecycle, Including the client implementation
- redirection on, Redirecting on the client
- rehydration (see rehydration of client)
- routing on the, Routing on the Client-Rendering a controller response
- SPA architecture and, Single-page web application
- transporting application to, Transporting the Application to the Client-Summary
- (see also porting of application to client)
- client simulation, Client Simulation on the Server
- client-side rendering, performance impact of, Why Isomorphic JavaScript?
- client/server transition, Sharing Templates
- ClientApp class, ClientApp and ServerApp
- Colony (case study), “Colony” Case Study: Isomorphic Apps Without Node-Next Steps
- compiling, ES6 to ES5, Compiling from ES6 to ES5-Compiling from ES6 to ES5
- controller
- cookies
- defined, Getting and Setting Cookies
- defining API for, Defining the API-Cookie example
- encoding, Implementing the interface for the client
- example of setting/getting on client/server, Cookie example
- getting and setting, Getting and Setting Cookies-Cookie example
- getting and setting on client, Getting and setting cookies on the client
- getting/setting on server, Getting and setting cookies on the server
- implementing interface for client, Implementing the interface for the client
- implementing interface for server, Implementing the interface for the server
- including implementations in request lifecycle, Including the cookie implementations
- standard interface for getting/setting, Creating an interface
- Coplien, James, Architecting Our Application, Responding to and Calling the History API
- Crockford, Douglas, The Perfect Storm: An All-Too-Common Story
D
- data synchronization, bidirectional, Bidirectional Data Synchronization
- Debergalis, Matt, Going Beyond Server-Side Rendering
- dehydration, Sharing Templates
- deserializing, Deserializing Data
- design patterns, Families of Design Patterns, Flux, and Isomorphic JavaScript
- distribution file, restarting server on changes in, Restarting the server on distribution changes
- DOM (document object model)
- domain object/entity, Sharing Models
I
- idempotence, Creating a Controller Instance
- isomorphic (term), On Nomenclature and Understanding
- isomorphic abstractions (see abstractions)
- isomorphic APIs, Isomorphic APIs
- isomorphic JavaScript (generally)
- as spectrum, Isomorphic JavaScript as a Spectrum-Summary
- as union of classic web applications and SPA, Isomorphic JavaScript applications
- categories of, Different Categories of Isomorphic JavaScript-Summary
- characteristics of, Isomorphic JavaScript applications
- climate for development of, Evaluating Other Web Application Architecture Solutions-Isomorphic JavaScript applications
- defining, Defining Isomorphic JavaScript, On Nomenclature and Understanding
- environment-agnostic node modules, Environment Agnostic
- environment-specific, shimmed, Shimmed for Each Environment
- nomenclature, On Nomenclature and Understanding
- nomenclature and classifications, Different Categories of Isomorphic JavaScript
- origin of term, Different Categories of Isomorphic JavaScript
- reasons for using, Why Isomorphic JavaScript, Why Isomorphic JavaScript?-Summary
- shimmed for each environment, Shimmed for Each Environment, On Nomenclature and Understanding
- SPA architecture and, Single-page web application-Single-page web application
- universal JavaScript vs., On Nomenclature and Understanding
- when to avoid, Caveat: When Not to Go Isomorphic
- isomorphic React.js (see React.js)
- isomorphism, Different Categories of Isomorphic JavaScript
M
- mapping, Different Categories of Isomorphic JavaScript
- memory leaks, Child View Management, Other Lessons Learned
- Meteor.js, Bidirectional Data Synchronization
- Minar, Igor, Isomorphic Angular 1
- models, sharing, Sharing Models
- MVC (Model-View-Controller) design pattern, Families of Design Patterns, Flux, and Isomorphic JavaScript
N
- Newton, Isaac, Final Thoughts
- node modules, environment-agnostic, Environment Agnostic
- Node.js
- nomenclature, isomorphic JavaScript, Different Categories of Isomorphic JavaScript
- npm, managing projects with, Managing Projects with npm
- Nunjucks, Serving an HTML Template, Rendering a controller response
P
- package management, Managing Projects with npm
- package.json file, Initializing the Project-Initializing the Project
- page load (see load time)
- Page Maker class, Page Maker
- path parameters, Working with Path and Query Parameters-Working with Path and Query Parameters
- perceived load time, Angular 2 Server Rendering
- perceived rendering speed, Classic web application
- PHP, Node.js and, Caveat: When Not to Go Isomorphic
- POJO (plain old JavaScript object), Serializing Data
- porting of application to client, Transporting the Application to the Client-Summary
- adding client implementation, Adding Our Client Implementation
- bundle task creation, Creating Our Bundle Task-Creating Our Bundle Task
- bundling library selection for, Selecting a Bundling Library
- bundling of application, Bundling Our Application for the Client-Adding Our Client Implementation
- code organization, Organizing Our Code-Organizing Our Code
- executing the controller response flow, Executing the Controller Response Flow-Rendering a controller response
- leveraging the History API, Leveraging the History API
- responding to user requests, Responding to User Requests-Responding to and Calling the History API
- responding to/calling the History API, Responding to and Calling the History API-Responding to and Calling the History API
- routing on the client, Routing on the Client-Rendering a controller response
- Preboot library, Angular 2 Server Rendering
- pure components, Component memoization
- Python, Node.js and, Caveat: When Not to Go Isomorphic
R
- React.js, Isomorphic React.js at WalmartLabs-Postscript
- real-time web applications, Going Beyond Server-Side Rendering-Client Simulation on the Server
- redirects, Redirecting a Request-Redirection example
- rehydration of client
- rendering speed, perceived, Classic web application
- Rendr
- REPL (read-eval-print loop), Interacting with the Node REPL
- request referrer, Brisket, Tools That Do What You Expect in All Environments
- requests, responding to
- RequireJS Optimizer, Selecting a Bundling Library
- Robbins, Charlie, Different Categories of Isomorphic JavaScript
- route handling, Brisket, Code Freedom-Code Freedom
- routes, sharing, Sharing Routes
- routing, on client, Routing on the Client-Rendering a controller response
- Ruby, Node.js and, Caveat: When Not to Go Isomorphic
- Russell, Alex, Always Bet on JavaScript
S
- search engine optimization (SEO)
- server
- classic web application and, Classic web application
- client simulation on, Client Simulation on the Server
- degree of code shared with client (see spectrum, isomorphic JavaScript as)
- getting/setting cookies on, Getting and setting cookies on the server
- implementing interface for getting/setting cookies, Implementing the interface for the server
- installation for application project, Installing the Application Server
- redirection on, Redirecting on the server
- restarting on distribution changes, Restarting the server on distribution changes
- serializing of data on, Serializing Data
- SPA architecture and, Single-page web application
- server rendering
- ServerApp class, ClientApp and ServerApp
- service workers, Angular 2 Server Rendering
- serving an HTML document, Serving Our First HTML Document-Summary
- shim, defined, Different Categories of Isomorphic JavaScript
- shimmed semantics, Different Categories of Isomorphic JavaScript, On Nomenclature and Understanding
- shimmed-for-each-environment isomorphic JavaScript, Shimmed for Each Environment, On Nomenclature and Understanding
- single-page application (SPA) architecture, Single-page web application-Single-page web application
- source code, gulp.watch and, Watching for source code changes
- spectrum, isomorphic JavaScript as, Isomorphic JavaScript as a Spectrum-Summary
- Stapleton, Patrick, Isomorphic Angular 1
- streams, Node.js and, Creating Our Bundle Task
- structure, determining extent of, Knowing How Much Structure Is Needed-Managing Change
T
- technical debt, Ajax and, Ajax: Accumulation of Technical Debt
- templates, Sharing Templates, Serving an HTML Template-Serving an HTML Template
- templating engines, Brisket, Use Any Templating Language
- templatization, component, Component templatization-Component templatization
- Time to First Byte (TTFB), Time to First Byte
- tools, choosing, Angular Universal
- Traceur, Always Bet on JavaScript
- transpiler/transpiling, Transpiled View Models-Transpiled View Models, Always Bet on JavaScript
- Twitter, Why Isomorphic JavaScript?