Index
A
- acceptance test-driven development (ATDD)
- about / Test-driven development
- Android
- setting up, for application / The Android setup
- JDK, installation / JDK Installation
- SDK, installation / Android SDK installation
- Studio, installation / Android Studio installation
- project, opening in Android Studio / Opening the project in Android Studio
- emulator, adding / Adding an Android emulator
- URL, for Android designs / Selecting a UI framework
- Android debugging setup, GapDebug
- about / Android debugging setup
- computer configuration / Computer configuration
- Android device configuration / Android device configuration
- Android Studio
- Apache
- URL / Use a web server
- Apache Cordova
- about / Understanding PhoneGap
- app directory
- model / Generating the application
- view / Generating the application
- controller / Generating the application
- store / Generating the application
- profile / Generating the application
- Appium
- used, for performance testing / Performance testing with Appium and browser-perf
- URL / Performance testing with Appium and browser-perf
- application
- creating / Creating an application
- iOS, setting up / The iOS setup
- running, in iOS emulator / Running the application in the iOS emulator
- generating / Generating the application
- releasing, to App Store / Release to the App Store
- releasing, to Google Play / Release to Google Play
- uploading, in Google Play / Upload the application to the Google Play market
- application, running on iOS device
- performing / Running the application on an iOS device
- iOS developer certificate, generating / Generating the iOS developer certificate
- application identifier, adding / Adding the application identifier
- device, registering / Registering the device
- Provisioning Profile, generating / Generating a provisioning profile
- Application Loader
- iOS application, uploading to iTunes Connect / Upload to iTunes Connect with Application Loader
- application structure
- about / Understanding the basic application structure
- view / Getting familiar with the Sencha Touch view
- controller, creating / Creating the Sencha Touch controller
- store, using / Using store
- model / The Sencha Touch model
- store, creating / The Sencha Touch store
- proxy / The Sencha Touch proxy
- environment detection / Environment detection
- device profiles, creating / Creating device profiles
- launch process / Following the launch process
- UI / The UI and theming
- theming / The UI and theming
- App Store
- application, releasing / Release to the App Store
B
- Base64 / Camera plugin usage
- behavior-driven development (BDD)
- about / Behavior-driven development
- beta release, of iOS application
- performing / Beta release of the iOS application
- distribution provisioning profile, generating / Generate a distribution provisioning profile
- uploading, to iTunes Connect with Xcode / Upload to iTunes Connect with Xcode
- uploading, to iTunes Connect with Application Loader / Upload to iTunes Connect with Application Loader
- internal testers, inviting / Invite internal and external testers
- external testers, inviting / Invite internal and external testers
- browser-perf
- used, for performance testing / Performance testing with Appium and browser-perf
- browser storage support
- URL / Using store
- bubble, Gem Match game
- releasing / Releasing a bubble
- matching / Check for matches
- matched bubbles, removing / Remove matched bubbles
- drop down bubbles, using / Drop down bubbles above the removed bubbles
- board, refilling / Refill the board
C
- camera
- used, for capturing pictures / Using a camera to capture pictures
- plugin, installing / Camera plugin installation
- plugin, using / Camera plugin usage
- new picture popup, creating / Creating a new picture popup
- Certificate Signing Request (CSR)
- Cloud9 IDE
- URL / Use a web server
- Codenvy
- URL / Use a web server
- config.xml file
- about / The config.xml structure
- structure / The config.xml structure
- continuous integration (CI)
- about / Sauce Labs
- controller
- creating / Creating the Sencha Touch controller
- Jasmine tests, writing / Writing Jasmine tests for a controller
- Cordova
- installation / Cordova installation
- URL / Using the Cordova StatusBar plugin to fix overlap
- Cordova/Sencha Touch application
- authentication, implementing on application side / Implementing authentication on the application side
- Cordova application
- generating / Generate a Cordova application
- Crosswalk, adding / Adding Crosswalk support to the Cordova application
- Cordova plugin
- Cordova StatusBar plugin
- used, for fixing overlap / Using the Cordova StatusBar plugin to fix overlap
- Crashlytics
- using / Using Fabric and Crashlytics
- Crazy Bubbles
- game over screen, implementing / Implementing the game over screen
- game restart, implementing / Implementing game restart
- sharing, to Twitter / Sharing on Twitter, Facebook, and other social media
- sharing, to Facebook / Sharing on Twitter, Facebook, and other social media
- sharing, to other social media / Sharing on Twitter, Facebook, and other social media
- sharing, to Instagram / Sharing on Instagram
- cross-platform workflow
- about / Development methods
- Crosswalk
- about / What is Crosswalk and why we need it?
- benefits / What is Crosswalk and why we need it?
- adding, to Cordova application / Adding Crosswalk support to the Cordova application
- current geolocation
- detecting / Detecting the current geolocation
- custom plugin
- building / Building a custom plugin to save the picture in the iOS library
- setting up / The plugin setup
- JavaScript interface, adding / The JavaScript interface
- native implementation / Native iOS code
- publishing / Publishing and using the plugin
- using / Publishing and using the plugin
D
- DalekJS
- used, for testing / Testing with DalekJS in a real browser
- URL / Testing with DalekJS in a real browser
- data
- saving, in local storage / Saving data in local storage
- displaying, with Google maps / Displaying data with Google Maps
- picture details, displaying in popup / Displaying picture details in a popup
- development aspects, PhoneGap
- single-page application approach, using / Use a single-page application approach
- UI generation, avoiding on server / Don't generate the UI on the server
- network access, limiting / Limit network access
- perceived speed, increasing / Increase perceived speed
- hardware acceleration, using / Use hardware acceleration
- images, optimizing / Optimize images
- payload, optimizing / Optimize payload
- browser reflows, minimizing / Minimize browser reflows
- testing / Test
- development methods, PhoneGap
- cross-platform workflow / Development methods
- platform-centered workflow / Development methods
- device profiles
- creating / Creating device profiles
- Document Object Model (DOM)
- about / What game framework to choose
- dressed photo
- saving, to applications folder / Saving the dressed photo into the application's folder
- picture model, defining / Defining the picture model and store
- picture store, defining / Defining the picture model and store
- picture, saving to filesystem / Saving the picture to the filesystem
E
- effects
- applying, to thumbnails / Applying effects to thumbnails
- applying, to photo / Applying effects to the photo
- effects list
- rendering / Rendering an effects list
- Pixastic library, including / Including Pixastic
- photo popup, displaying / showPhotoPopup
- effects model, defining / Defining the effects model and store
- effects store, defining / Defining the effects model and store
- Express application, REST API
- exploring / Exploring the basic Express application
- Ext JS
F
- Fabric
- using / Using Fabric and Crashlytics
- URL / Using Fabric and Crashlytics
- Facebook
- Crazy Bubbles, sharing / Sharing on Twitter, Facebook, and other social media
- Famo.us
- about / Famo.us
- File API
- on W3C, URL / Filesystem plugin installation and usage
- filesystem plugin
- installation / Filesystem plugin installation and usage
- usage / Filesystem plugin installation and usage
- persistent file location, using / Using a persistent file location
- file upload
- implementing, on service side / Implementing file upload on the service side
- implementing, on application side / Implementing file upload on the application side
- Flatly theme
- Flixel
- FontAwesome
- URL / Optimize payload
- Framework7
- about / Framework7
- functional testing
- about / Functional testing
G
- game framework
- selecting / What game framework to choose
- game over screen, Crazy Bubbles
- implementing / Implementing the game over screen
- vertical scenario / The vertical scenario
- horizontal scenario / The horizontal scenario
- logic, coding / Coding the logic
- GapDebug
- installation / Installing and using GapDebug
- usage / Installing and using GapDebug
- URL / Installing and using GapDebug
- OS and configuration requirements / Installing and using GapDebug
- iOS debugging setup / iOS debugging setup
- Android debugging setup / Android debugging setup
- Genymotion Android emulator / The Genymotion Android emulator for faster debugging
- Gem Match game
- planning / Planning the game
- creating / Prepare and create the game
- preparing / Prepare and create the game
- sprite, preloading / Preloading sprite
- sprite, displaying / Displaying sprite
- pointer, moving / Handling the pointer move event
- bubble position, detecting / Detect the bubble position under the pointer
- selected bubble, moving / Check whether a selected bubble can be moved to a new position
- bubbles, swapping / Swap bubbles
- bubble, releasing / Releasing a bubble
- score, calculating / Calculate score
- executing, on mobile / Running the application on the mobile
- Genymotion Android emulator
- Geolocation API
- Git client
- about / Cordova installation
- URL / Cordova installation
- Google maps
- data, displaying / Displaying data with Google Maps
- map parameter / Displaying data with Google Maps
- position parameter / Displaying data with Google Maps
- title parameter / Displaying data with Google Maps
- icon parameter / Displaying data with Google Maps
- picture parameter / Displaying data with Google Maps
- picture details, displaying in popup / Displaying picture details in a popup
- Google Play
- application, releasing / Release to Google Play
- keystore file, creating / Create a keystore file
- application, building in release mode / Build and sign an application in the release mode
- application, signing in release mode / Build and sign an application in the release mode
- application, uploading / Upload the application to the Google Play market
- URL / Upload the application to the Google Play market
H
- HAX installation and configuration
- headless browser PhantomJS
- Homebrew
- about / Installing Node.js with Homebrew
- URL / Installing Node.js with Homebrew
- installing / Installing Node.js with Homebrew
- Node.js, installing / Installing Node.js with Homebrew
- HTML5 canvas
- about / What is HTML5 Canvas?
- example / What is HTML5 Canvas?
- http-server, Node.js
- URL / Use a web server
- HTTP methods
- GET / Discovering the REST API
- PUT / Discovering the REST API
- DELETE / Discovering the REST API
- PATCH / Discovering the REST API
I
- Imaginary application
- Jasmine tests, writing / Writing Jasmine tests for Sencha Touch's Imaginary application
- IndexedDB
- about / Using store
- initial application MVC structure
- about / The initial application's MVC structure
- views, organizing / Views
- Pictos icons, adding / Adding Pictos icons to the application
- controllers, organizing / Controllers
- model / Model and store
- store / Model and store
- Instagram
- Crazy Bubbles, sharing / Sharing on Instagram
- Instagram plugin
- URL / Sharing on Instagram
- integration testing
- about / Integration testing
- with Jasmine / Writing an integration test with Jasmine
- Ionic
- about / Ionic
- iOS
- setting up, for application / The iOS setup
- application, running in iOS emulator / Running the application in the iOS emulator
- developer certificate, generating / Generating the iOS developer certificate
- URL, for Human Interface Guidelines / Selecting a UI framework
- iOS debugging setup, GapDebug
- about / iOS debugging setup
- computer configuration / Computer configuration
- iOS device configuration / iOS device configuration
- iOS library
- custom plugin, building / Building a custom plugin to save the picture in the iOS library
- items property / Views
- iTunes Connect
- URL / Beta release of the iOS application
- iOS application, uploading with Xcode / Upload to iTunes Connect with Xcode
- iOS application, uploading with Application Loader / Upload to iTunes Connect with Application Loader
J
- Jasmine
- used, for testing / Testing with Jasmine and headless browser PhantomJS
- about / Introduction to the Jasmine
- used, for unit testing / Writing unit tests with Jasmine
- used, for integration testing / Writing an integration test with Jasmine
- URL / Writing Jasmine tests for Sencha Touch's Imaginary application
- Jasmine tests
- writing, for Imaginary application / Writing Jasmine tests for Sencha Touch's Imaginary application
- writing, for controller / Writing Jasmine tests for a controller
- writing, for Sencha model / Writing Jasmine tests for a model
- Java Runtime Environment
- JavaScript Object Notation (JSON) / Introducing MongoDB
- JavaScript testing frameworks
- JDK
- URL / JDK Installation
- jQuery Mobile
- about / jQuery Mobile
- JWT
K
- Kendo UI
- about / The Kendo UI
- Koding
- URL / Use a web server
L
- launch process
- defining / Following the launch process
- Linux
- Node.js, installing / Installing Node.js on Linux
- LocalStorage
- about / Using store
- local storage
- data, saving / Saving data in local storage
- lorem Ipsum text
- about / Writing unit tests with Jasmine
M
- Mac
- Node.js, installing from official website / Installing Node.js from the official website
- Node.js, installing with Homebrew / Installing Node.js with Homebrew
- MAMP
- URL / Use a web server
- Microsoft IIS
- URL / Use a web server
- mobile
- Gem Match game, executing / Running the application on the mobile
- model
- defining / The Sencha Touch model
- MongoDB
- about / Introducing MongoDB
- installing, with Homebrew / Installing MongoDB with Homebrew
- and Express, connecting / Connecting Express and MongoDB
N
- navigator.camera.getPicture function
- about / Camera plugin usage
- quality parameter / Camera plugin usage
- destinationType parameter / Camera plugin usage
- DATA_URL parameter / Camera plugin usage
- Node.js
- about / Downloading and installing, Understanding Node.js
- installing, on Mac / Installing Node.js on Mac
- URL / Installing Node.js from the official website
- installing, on Windows / Installing Node.js on Windows
- installing, on Linux / Installing Node.js on Linux
- advantages / Understanding Node.js
- NPM
- about / Installing Node.js from the official website
- PhoneGap, installing / Installing PhoneGap with NPM
O
- Onsen UI
- about / The Onsen UI
- OpenTok
P
- PeerJS
- used, for building real-time communication application / Building a real-time communication application with PeerJS
- URL / Client side
- performance testing
- about / Performance or stress testing
- with Appium / Performance testing with Appium and browser-perf
- with browser-perf / Performance testing with Appium and browser-perf
- PhantomJS
- Phaser
- about / An introduction to Phaser, Getting started with Phaser
- references / An introduction to Phaser
- downloading / Download Phaser
- URL / Download Phaser
- text editor, using / Get tools
- web server, using / Use a web server
- pointer events, handling / Handling pointer events with Phaser
- PhoneGap
- installing, with NPM / Installing PhoneGap with NPM
- about / Understanding PhoneGap
- basic components / Basic components
- development methods / Development methods
- Cordova, installation / Cordova installation
- PhoneGap Build
- using / Using PhoneGap Build
- URL / Using PhoneGap Build
- config.xml file / PhoneGap config.xml
- plugins, adding / PhoneGap plugins
- uploading / Initial upload and build
- build, creating / Initial upload and build
- PhoneGap Developer App
- about / Running with PhoneGap
- setting up / PhoneGap Developer App setup
- URL / PhoneGap Developer App setup
- code, modifying / Handling code changes on the fly
- core plugins, including / Including core plugins
- PhoneGap Social Sharing plugin
- PhoneRTC
- photos
- capturing / Capturing photos
- photo popup, displaying / showPhotoPopup
- effects, applying / Applying effects to the photo
- listing / Displaying the list of photos
- Pictos font
- Pixastic library
- overview / An overview of the Pixastic library
- URL / An overview of the Pixastic library
- including, for effects / Including Pixastic
- Pixi.js
- platform-centered workflow
- about / Development methods
- plugin registry
- URL / Camera plugin usage
- plugins repository
- URL / Basic components
- Postman Chrome plugin
- URL / Creating a picture model
- proxy
- client proxies / The Sencha Touch proxy
- about / The Sencha Touch proxy
- server proxies / The Sencha Touch proxy
R
- Ratchet
- about / Ratchet
- React
- about / React
- real-time communication application
- building / Building our first real-time communication application
- server side components, adding / Server side
- client side components, adding / Client side
- Cordova application, tweaking / Cordova application tweaks
- executing / Running the application
- building, with PeerJS / Building a real-time communication application with PeerJS
- real-time communication application, with PeerJS
- server side components, adding / Server side
- client side components, adding / Client side
- executing / Running the application
- REST API
- discovering / Discovering the REST API
- HTTP methods / Discovering the REST API
- Base URI / Discovering the REST API
- URL path / Discovering the REST API
- building, technologies / Exploring technologies to build a REST API
- developing / Developing a REST API
- Express, using / Using Express
- Express application, generating / Generating an Express application
- basic Express application, exploring / Exploring the basic Express application
- URLs, handling with routes / Handling URLs with routes
- response, returning / Returning a response
- MongoDB, accessing / Connecting Express and MongoDB
- Express and MongoDB, connecting / Connecting Express and MongoDB
- Picture model, creating / Creating a picture model
- picture record, creating / Creating a new picture record
- picture record, editing / Editing a picture record
- record, deleting / Deleting a record
- service authentication, implementing / Implementing service authentication
- RTCPeerConnection API
- about / The RTCPeerConnection API
- Ruby
- downloading / The installation of Sencha Cmd
- URL / The installation of Sencha Cmd
S
- SASS
- Sauce Labs
- about / Sauce Labs
- Sencha Cmd
- URL / The installation of Sencha Touch
- installing / The installation of Sencha Cmd
- features / Sencha Cmd features
- categories / Sencha Cmd features
- commands / Sencha Cmd features
- Sencha Touch
- about / Sencha Touch, An introduction to Sencha Touch
- URL / An introduction to Sencha Touch
- installing / The installation of Sencha Touch
- SDK, installing / The installation of the Sencha Touch SDK
- Sencha Cmd, installing / The installation of Sencha Cmd
- Sencha Touch application
- bootstrapping / Bootstrapping the Sencha Touch application
- service authentication
- implementing / Implementing service authentication
- login form, implementing / Implementing a login form
- endpoint request, handling / Handling the authentication endpoint request
- verifying / Verifying authentication
- implementing, on application side / Implementing authentication on the application side
- single-page application (SPA)
- SIP.js
- about / PhoneRTC
- Socket.io client library
- URL / Client side
- sprites
- references / Optimize images
- store
- using / Using store
- creating / The Sencha Touch store
- Sublime Text
- URL / Get tools
- system testing
- about / System testing
T
- tabBarPosition property / Views
- technology requisites, REST API
- exploring / Exploring technologies to build a REST API
- Node.js / Understanding Node.js
- MongoDB / Introducing MongoDB
- MongoDB, installing with Homebrew / Installing MongoDB with Homebrew
- Telerik Test Studio
- about / Telerik Test Studio
- setting up / Telerik Test Studio
- URL / Telerik Test Studio
- test-driven development (TDD)
- about / Test-driven development
- testers
- about / Invite internal and external testers
- internal testers / Invite internal and external testers
- external testers / Invite internal and external testers
- testing
- benefits / Why we need tests
- test-driven development (TDD) / Test-driven development
- behavior-driven development (BDD) / Behavior-driven development
- with headless browser PhantomJS / Testing with Jasmine and headless browser PhantomJS, Running tests with the headless browser PhantomJS
- with Jasmine / Testing with Jasmine and headless browser PhantomJS
- with DalekJS / Testing with DalekJS in a real browser
- testing, classification
- unit testing / Unit testing
- integration testing / Integration testing
- functional testing / Functional testing
- system testing / System testing
- performance testing / Performance or stress testing
- testing tools
- about / Other testing tools
- Telerik Test Studio / Telerik Test Studio
- Sauce Labs / Sauce Labs
- test runners
- thumbnails
- effects, applying / Applying effects to thumbnails
- tools
- for WebRTC mobile applications / Exploring other tools to build WebRTC mobile applications
- OpenTok / OpenTok
- PhoneRTC / PhoneRTC
- Topcoat
- about / Topcoat
- Twitter
- Crazy Bubbles, sharing / Sharing on Twitter, Facebook, and other social media
- Twitter Bootstrap
U
- UI framework
- selecting / Selecting a UI framework
- Sencha Touch / Sencha Touch
- jQuery Mobile / jQuery Mobile
- Ionic / Ionic
- Ratchet / Ratchet
- Kendo UI / The Kendo UI
- Topcoat / Topcoat
- React / React
- Framework7 / Framework7
- Famo.us / Famo.us
- Onsen UI / The Onsen UI
- unique device identifier (UDID)
- about / Registering the device
- unit testing
- about / Unit testing
- testing frameworks / Unit testing frameworks and test runners
- with Jasmine / Writing unit tests with Jasmine
- user experience (UX)
- about / Selecting a UI framework
- user interface (UI)
- about / Selecting a UI framework
V
- versioning
- about / Versioning of the application
- view
- defining / Getting familiar with the Sencha Touch view
W
- WAMP
- URL / Use a web server
- Webkit
- WebRTC
- about / WebRTC fundamentals
- audio engine / WebRTC audio and video engines
- video engine / WebRTC audio and video engines
- protocol stack / The WebRTC protocol stack
- RTCPeerConnection API / The RTCPeerConnection API
- browser support / The WebRTC browser support scorecard
- reference link / PhoneRTC
- WebRTC, components
- MediaStream / WebRTC fundamentals
- RTCPeerConnection / WebRTC fundamentals
- RTCDataChannel / WebRTC fundamentals
- web server
- using / Use a web server
- Web SQL Database
- about / Using store
- Windows
- Node.js, installing / Installing Node.js on Windows
X
- XAMPP
- URL / Use a web server
- Xcode
- URL / The iOS setup
- iOS application, uploading to iTunes Connect / Upload to iTunes Connect with Xcode