You are previewing Hands-On Sencha Touch 2.
O'Reilly logo
Hands-On Sencha Touch 2

Book Description

Get hands-on experience building speedy mobile web apps with Sencha Touch 2.3, the user interface JavaScript framework built specifically for the mobile Web. With this book, you’ll learn how to build a complete touch application, called Find a Cab, that has the look and feel of a native app on Android, iOS, Windows, and BlackBerry devices.

Table of Contents

  1. Dedication
  2. Preface
    1. Why Sencha Touch?
    2. Sencha Touch vs jQuery Mobile
    3. Sencha Touch vs Appcelerator Titanium
    4. Sencha Touch vs Kendo UI Mobile
    5. About Sencha the company
    6. Audience and Approach
    7. Sencha Touch Releases
    8.  
    9. Using Code Examples
    10. How This Book is Organized
      1. Part I. Sencha Touch Essentials
        1. Chapter 1. About Sencha Touch
        2. Chapter 2. The fundamentals
        3. Chapter 3. The class system
        4. Chapter 4. The Layout system
      2.  
        1. Chapter 5. Structured code
        2. Chapter 6. Data Models
        3. Chapter 7. Remote Connections (Server Proxies)
        4. Chapter 8. Data Stores
        5. Chapter 9. Offline Storage (Client Proxies)
        6. Chapter 10. View Components
        7. Chapter 11. Forms
        8. Chapter 12. Themes and Styles
        9. Chapter 13. Builds
      3. Appendix
    11. Conventions Used in This Book
    12. Safari® Books Online
    13. How to Contact Us
    14. Acknowledgents
    15. About the author
  3. I. Sencha Touch Essentials
    1. 1. Introduction to Sencha Touch
      1. Licenses
      2. Bundles
      3. Touch Charts
      4. Sencha Cmd
      5. Sencha Network
        1. Sencha Try
        2. Sencha Market
        3. Sencha Devs
        4. Sencha.io Src
      6. Where to find Help?
        1. Learning Center
        2. Sencha Forums
        3. Sencha Trainings
        4. Buy support
      7. API Documentation
        1. Kitchen Sink
      8. Required software
      9. Supported Browsers
    2. 2. Installation
      1. Install The Required Software
        1. IDE or Editor
        2. Modern Browser
        3. Ruby
        4. Java
        5. Sencha Cmd
          1. Sencha Cmd not installed?
          2. Wrong version of Sencha Cmd?
          3. Manually adding Sencha Cmd to your system variables
        6. Web server
          1. Use a different web server
        7. Sencha Touch
      2. Install The Optional Software
        1. Sass and Compass
        2. Install NodeJS
        3. Install PhoneGap & Cordova
          1. Create a PhoneGap account
        4. Development SDK
      3. Summary
    3. 3. The fundamentals
      1. Instantiating a basic component
      2. Implementing templates
        1. Changing the data at runtime
        2. Organizing template snippets
        3. Implementing advanced templates
      3. Making references to components
      4. Learning how component traversing works
      5. Making references to DOM nodes
        1. Ext.get()
        2. Ext.select()
        3. Ext.getDom()
      6. Handling events
        1. Firing events
        2. Removing events
        3. Firing custom events.
      7. Summary
    4. 4. The class system
      1. Defining your own custom class
      2. Defining getters and setters
      3. Defining singletons and static members
      4. Inherit from a single class
      5. Inherit from multiple classes
      6. Summary
    5. 5. The Layout System
      1. Implementing a horizontal layout
      2. Implementing a vertical layout
      3. Implementing a full screen (fit) layout
      4. Implementing a card layout
      5. Implementing the default layout
      6. Docking components
      7. Summary
  4. II.  
    1. 6. Structured code
      1. Design patterns
        1. The MVC pattern
        2. Sencha MVC
        3. What is Sencha Cmd?
      2. Generating an application with Sencha Cmd.
      3. Generating a Model with Sencha Cmd.
      4. Implementing a data Store.
      5. Implementing a View.
      6. Generating a Controller with Sencha Cmd.
      7. Referencing a component from a Controller.
      8. Listening to events from a Controller.
      9. Implementing the MVC entry point.
      10. Loading external classes.
      11. Summary
    2. 7. Data Models
      1. Validating a Model
      2. Saving a Model to the server
        1. Cross Domain restrictions
      3. Implementing a Model association
        1. Remote associations
      4. Summary
    3. 8. Remote Connections (Server Proxies)
      1. Saving or retrieving data from the same domain with AJAX
        1. Implementing AJAX proxies
        2. Implementing an AJAX request
      2. Retrieving data from an external domain with JSONP
        1. Implementing JSONP proxies
        2.  
        3. Implementing a JSONP request
      3. Saving or retrieving data from an external domain with AJAX
        1. Implementing CORS
      4. Summary
    4. 9. Data Stores
      1. Loading data in a Store
      2. Sorting a data Store locally
      3. Sorting data on a server
      4. Grouping a data Store
      5. Filtering a data Store locally
        1. Custom filter functions
        2. Stacking filters
      6. Filtering data on a server
      7. Syncing data in a Store
      8. Summary
    5. 10. Offline storage (Client Proxies)
      1. Saving data into LocalStorage
      2. Saving data into SessionStorage
      3. Saving data into a Web SQL database
        1.  
      4. Saving assets locally by using the Application Cache
      5. Summary
    6. 11. View Components
      1. Implementing a messagebox
      2. Implementing toolbars and titlebars
      3. Implementing buttons
      4. Implementing lists
        1.  
      5. Implementing a Google Map
      6. Implementing overlays
      7. Implementing charts
      8. Summary
    7. 12. Forms
      1. Implementing a form
        1.  
          1. Implementing a fieldset
      2. Validating a form
        1.  
      3. Submitting a form
      4. Implementing form handling
      5. Summary
    8. 13. Themes and Styles
      1. Sencha Touch Style Sheets
      2. Using Sass (Syntactically Awesome Style Sheets)
      3. Using platform specific out-of-the-box themes
      4. Creating your own custom theme
        1.  
      5. Incorporating custom fonts
        1. Base64 fonts
      6. Incorporating custom icons
      7. Optimizing your Style Sheet for best performance
        1. Minifying your Style Sheet
        2. Importing only the required mixins in your Style Sheet
        3. Excluding experimental support for non common browsers
        4. Excluding default fonts and icons
      8. Summary
    9. 14. Builds
      1. Going native
      2. Build resources
      3. Adding non-MVC folders to your build package
      4. Adding extra resources to your build package
      5. Creating a test build with Sencha Cmd
      6. Creating a production build with Sencha Cmd
      7. Creating a native build with Sencha Cmd & Adobe PhoneGap
        1. Sencha Mobile Packager
        2. Apache Cordova
        3. Adobe PhoneGap
        4. Initialize a PhoneGap project
        5. The phonegap folder structure
        6. The phonegap.local.properties
        7. The config.xml settings
        8. Building the native build package
        9. Testing a native build
      8. Summary
  5. III. Appendices
    1. A. Help with iOS certificates & provisioning
      1. Certificates
      2. Identifiers
      3. Devices
      4. Provisioning Profile
      5. iOS Provisioning & PhoneGap
    2. B.  
  6. About the Author
  7. Colophon
  8. Copyright