
Enterprise Web Development
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions

Content
- Cover
- Copyright
- Table of Contents
- Preface
- What's an Enterprise Application?
- Why the Authors Wrote This Book
- Who This Book Is For
- What This Book Is and Why It's Important
- Introducing the Save The Child Application
- Is This Even an Enterprise App?
- How We Are Going to Build This App
- The Goals of the Book
- Technologies Used in This Book
- How the Book Is Organized
- Conventions Used in This Book
- The Source Code for the Examples
- Safari® Books Online
- How to Contact Us
- Acknowledgments
- Introduction
- Moving from DHTML to HTML5
- Developing in HTML5
- Challenges of the Enterprise Developer
- Summary
- Part I. Building Your Application
- Chapter 1. Mocking Up the Save The Child Application
- Considering Mobile First
- Introducing Balsamiq Mockups
- The Project Owner Talks to a Web Designer
- Creating First Mockups
- Turning Mockups into a Prototype
- Single-Page Applications
- Running Code Examples from WebStorm
- Our First Prototype
- Our Main Page JavaScript
- The Footer Section
- The Donate Section
- Adding Video
- Adding the HTML5 Video Element
- Embedding YouTube Videos
- Adding Geolocation Support
- Geolocation Basics
- Integration with Google Maps
- Browser Feature Detection with Modernizr
- Search and Multimarkers with Google Maps
- Summary
- Chapter 2. Using Ajax and JSON
- Understanding Ajax
- Understanding JSON
- Working with Ajax
- Retrieving Data from the Server
- Ajax: Good and Bad
- Populating States and Countries from HTML Files
- Using JSON
- Populating States and Countries from JSON Files
- Using Arrays in JSON
- Loading Charity Events by Using Ajax and JSON
- Using JSON in CMS
- Handling JSON in Java
- Compressing JSON
- Adding Charts to Save The Child
- Adding a Chart with the Canvas Element
- Adding a Chart by Using SVG
- Loading Data from Other Servers by Using JSONP
- Beer and JSONP
- Summary
- Chapter 3. Introducing the jQuery Library
- Getting Started with jQuery
- Hello World
- Using Selectors and Filters
- Testing jQuery Code with JSFiddle
- Filtering Elements
- Handling Events
- Attaching Event Handlers and Elements by Using the Method on()
- Delegating Events
- Using Ajax with jQuery
- Handy Shorthand Methods
- Programming Save The Child by Using jQuery
- Login and Donate
- Loading HTML States and Countries by Using jQuery Ajax
- Loading JSON States and Countries by Using jQuery Ajax
- Submitting the Donate Form
- Using jQuery Plug-ins
- Validating the Donate Form by Using a Plug-in
- Adding an Image Slider
- Summary
- Part II. Enterprise Considerations
- Chapter 4. Developing Web Applications in the Ext JS Framework
- Exploring JavaScript Frameworks
- Choosing to Use Ext JS
- Downloading and Installing Ext JS
- Becoming Familiar with Ext JS and Tooling
- Creating the First Version of Hello World
- Generating Applications with the Sencha CMD Tool
- Choosing Which Ext JS Distribution to Use
- Declaring, Loading, and Instantiating Classes
- Best Practice: MVC
- Exploring a Component's Life Cycle
- Working with Events
- Specifying Layouts
- Developing Save The Child with Ext JS
- Setting Up the Eclipse IDE and Apache Tomcat
- Running the Top Portion of the Save The Child UI
- Completing Save The Child
- Summary
- Chapter 5. Selected Productivity Tools for Enterprise Developers
- Using Node.js, V8, and npm
- Automating Everything with Grunt
- Exploring the Simplest Gruntfile
- Using Grunt to Run JSHint Checks
- Watching for the File Changes
- Using Bower
- Using Yeoman
- Using Ext JS and CDB for Productive Enterprise Web Development
- Ext JS MVC Application Scaffolding
- Generating a CRUD Application
- Data Pagination
- Summary
- Chapter 6. Modularizing Large-Scale JavaScript Projects
- Understanding Modularization Basics
- Exploring Roads to Modularization
- The Module Pattern
- CommonJS
- Asynchronous Module Definition
- Universal Module Definition
- ECMAScript 6 Modules
- Dicing the Save The Child Application into Modules
- Inside the RequireJS Configuration: config.js
- Writing AMD Modules
- Loading Modules On Demand
- Using RequireJS Plug-ins
- Using RequireJS Optimizer
- Loosely Coupled InterModule Communications with Mediator
- Summary
- Chapter 7. Test-Driven Development with JavaScript
- Why Test?
- Testing Basics
- Unit Testing
- Integration Testing
- Functional Testing
- Load Testing
- Test-Driven Development
- Implementing TDD by Using QUnit
- Behavior-Driven Development with Jasmine
- Multibrowser Testing
- Testing the DOM
- Building Save The Child with TDD
- Harnessing the ExtJS Application
- Testing the Models
- Testing the Controllers
- Testing the Views
- Setting Up the IDE for TDD
- Summary
- Chapter 8. Upgrading HTTP to WebSocket
- Using HTTP for Near Real-Time Applications
- Polling
- Long Polling
- HTTP Streaming
- Implementing Server-Sent Events
- Introducing the WebSocket API
- The WebSocket Interface
- The Client-Side API
- Using WebSocket Frameworks
- The Portal
- Atmosphere
- Choosing the Format for Application-Level Messages
- CSV
- XML
- JSON
- Google Protocol Buffers
- Using WebSocket with Proxies
- Adding an Auction to Save The Child
- Monitoring WebSocket Traffic by Using Chrome Developer Tools
- Sniffing WebSocket Frames by Using Wireshark
- Creating the Save The Child Auction Protocol
- Summary
- Chapter 9. Introduction to Web Application Security
- HTTP versus HTTPS
- Authentication and Passwords
- Basic and Digest Authentication
- Single Sign-on
- Handling Passwords
- Authorization
- OAuth-Based Authentication and Authorization
- Federated Identity with OpenID Connect and JSON Web Tokens
- OAuth 2.0 Main Actors
- Save The Child and OAuth
- Top Security Risks
- Injection
- Cross-Site Scripting
- Regulatory Compliance and Enterprise Security
- Summary
- Part III. Responsive Web Design and Mobile Devices
- Chapter 10. Responsive Design: One Site Fits All
- One or Two Versions of Code?
- How Many User Agents Are There
- Back to Mockups
- CSS Media Queries
- How Many Breakpoints?
- Fluid Grids
- Moving Away from Absolute Sizing
- Window as a Grid
- Responsive CSS: The Good News
- Making Save The Child Responsive
- Fluid Media
- Summary
- Chapter 11. jQuery Mobile
- Obtaining jQuery Mobile
- Organizing the Code
- Seeing How It Looks on Mobile Devices
- Styling in jQuery Mobile
- Adding Page Navigation
- Adding Persistent Toolbars
- Using jQuery Mobile for Save The Child
- Prototyping the Mobile Version
- Project Structure and Navigation
- Selected Code Fragments
- Summary
- Chapter 12. Sencha Touch
- Introducing Sencha Touch
- Performing Code Generation and Distribution
- Constructing the UI
- Using Sencha Touch for Save The Child
- Building the Application
- The Application Object
- The Main View
- Controller
- Other Views in Save The Child
- Stores and Models
- Working with Landscape Mode
- Comparing jQuery Mobile and Sencha Touch
- Chapter 13. Hybrid Mobile Applications
- Native Applications
- Native versus Web Applications
- Hybrid Applications
- Cordova and PhoneGap
- Titanium
- The Bottom Line
- Introduction to the PhoneGap Workflows
- Creating One More Hello World
- Testing Applications on iOS Devices
- Installing More Local SDKs
- Using the Adobe PhoneGap Build Service
- Distributing Mobile Applications
- Save The Child with PhoneGap
- Using PhoneGap to Package Any HTML5 Application
- Adding Camera Access to Save The Child
- Providing Sever-Side Support for Photo Images
- Summary
- Chapter 14. Epilogue
- HTML5 Is Not a Rosy Place
- Dart: A Promising Language
- HTML5 Is in Demand Today
- Appendix A. Advanced Introduction to JavaScript
- JavaScript: A Brief History
- JavaScript Variables
- Adding JavaScript to HTML
- Debugging JavaScript in Web Browsers
- JavaScript Functions: A Gentle Introduction
- JavaScript Objects: A Gentle Introduction
- Object Literals
- Constructor Functions
- Debugging JavaScript in Firebug
- Prototypal Inheritance
- Avoiding Declaration Redundancy
- Method Overriding
- Scope, or Who's This?
- Call and Apply
- Callbacks
- Hoisting
- Function Properties
- Closures
- Why Do We Need Closures?
- Closures by Example
- Closures as Callbacks
- Mixins
- JavaScript in the Web Browser
- The Document Object Model (DOM)
- Working with the DOM
- DOM Events
- Summary
- Appendix B. Selected HTML5 APIs
- Does Your Browser Support HTML5?
- Handling Differences in Browsers
- HTML5 Web Messaging API
- Sending and Receiving Messages
- Communicating with an iFrame
- Applying the Mediator Design Pattern
- Web Workers API
- Creating and Communicating with Workers
- Dedicated and Shared Workers
- The WebSocket API
- Offline Web Applications
- Prerequisites for Developing Offline Web Applications
- Application Cache API
- Is Your Application Offline?
- Options for Storing Data Locally
- Web Storage Specification APIs
- Introduction to IndexedDB
- The History API
- Modifying the Browser's History by Using pushState()
- Processing the popstate Event
- Summary
- Appendix C. Running Code Samples and IDE
- Choosing an IDE
- Running Code Samples in WebStorm
- Using Two IDEs: WebStorm and Eclipse
- Index
- About the Authors
System requirements
File format: PDF
Copy-Protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our eBook Help page.