Tuesday, October 30, 2012

Building Windows 8 Apps with C# and XAML is Here!

“Jeremy builds real apps for real customers. That’s why I can heartily recommend this book. Go out and write some great apps … and keep this book handy.” – from the forward by Jeff Prosise.

WP_000097When my wife stuck her head in the office and said, “Honey, there’s a UPS truck in front of the house” I knew exactly what it was. I ran downstairs and practically kicked down the door to grab my box that contained the initial copies of my latest book, Building Windows Apps with C# and XAML.This is my third full-length book and it is still amazing to see the final result. I pitched the project back in October of 2011 on the heels of the first //BUILD conference. I started with the idea of pushing out a comprehensive reference manual but quickly realized that project would take way too long to deliver in time for the official release of Windows 8. Therefore, I decided instead to focus on the core story necessary to go from an idea to a complete app successfully accepted in the Windows Store. I’m happy I did because I was able to cover all of the key areas in what I believe is an easy to read narrative that gives you everything you need to get started, while connecting to other resources and references to “go deeper” when and where needed.

 

If you’re curious about just what is covered, here is the detailed table of contents:

  1. The New Windows Runtime
    1. Looking Back: Win32 and .NET
    2. Looking Forward: Rise of the NUI
    3. Introducing the Windows Store Application
      1. Windows 8 Design
      2. Fast and Fluid
      3. Snap and Scale
      4. Use of Right Contracts
      5. Great Tiles
      6. Connected and Alive
      7. Embrace Windows 8 Design Principles
    4. Windows 8 Tools of the Trade
      1. Blend for Visual Studio
      2. HTML5 and JavaScript
      3. C++ and XAML
      4. VB/C# and XAML
      5. Behind the Scenes of WinRT
      6. WPF, Silverlight, and the Blue Stack
    5. Summary
  2. Getting Started
    1. Setting Up Your Environment
      1. Windows 8
      2. Visual Studio 2012
      3. Blend
    2. Hello, Windows 8
      1. Creating Your First Windows 8 Application
      2. Templates
    3. The ImageHelper Application
      1. Under the Covers
    4. Summary
  3. Extensible Application Markup Language (XAML)
    1. Declaring the UI
      1. The Visual Tree
      2. Dependency Properties
      3. Attached Properties
      4. Data-Binding
      5. Value Converters
    2. Storyboards
    3. Styles and Resources
    4. Layout
      1. Canvas
      2. Grid
      3. StackPanel
      4. VirtualizingPanel and VirtualizingStackPanel
      5. WrapGrid
      6. VariableSizedWrapGrid
      7. ContentControl
      8. ItemsControl
      9. ScrollViewer
      10. ViewBox
      11. GridView
      12. ListView
      13. FlipView
      14. ListBox
    5. Common Controls
    6. Summary
  4. Windows 8 Applications
    1. Layouts and Views
      1. The Simulator
      2. The Visual State Manager
      3. Semantic Zoom
    2. Handling User Input
      1. Pointer Events
      2. Manipulation Events
      3. Mouse Support
      4. Keyboard Support
      5. Visual Feedback
      6. Targeting
      7. Context Menus
    3. The Application Bar
    4. Icons and Splash Screens
    5. About Page
    6. Sensors
      1. Accelerometer
      2. Compass
      3. Geolocation
      4. Gyrometer
      5. Inclinometer
      6. Light Sensor
      7. Orientation Sensor
    7. Summary
  5. Application Lifecycle
    1. Process Lifetime Management (PLM)
      1. Activation
      2. Suspension
      3. Termination
      4. Resume
      5. Navigation
      6. Application Data API
    2. Connected and Alive
    3. Custom Splash Screen
    4. Summary
  6. Data
    1. Application Settings
    2. Accessing and Saving Data
      1. The Need for Speed and Threading
      2. Understanding async and await
      3. Lambda Expressions
      4. IO Helpers
      5. Embedded Resources
    3. Collections
      1. Language Integrated Query (LINQ)
    4. Web Content
    5. Syndicated Content
    6. Streams, Buffers, and Byte Arrays
    7. Compressing Data
    8. Encrypting and Signing Data
    9. Web Services
      1. OData Support
    10. Summary
  7. Tiles and Toasts
    1. Basic Tiles
    2. Live Tiles
    3. Badges
    4. Secondary Tiles
    5. Toast Notifications
    6. Windows Notification Service
    7. Summary
  8. Giving Your Application Charm
    1. Searching
    2. Sharing
      1. Sourcing Content for Sharing
      2. Receiving Content as a Share Target
    3. Settings
    4. Summary
  9. MVVM and Testing
    1. UI Design Patterns
      1. The Model
      2. The View
      3. The View Model
    2. The Portable Class Library
    3. Why Test?
      1. Testing Eliminates Assumptions
      2. Testing Kills Bugs at the Source
      3. Testing Helps Document Code
      4. Testing Makes Extending and Maintaining Applications Easier
      5. Testing Improves Architecture and Design
      6. Testing Makes Better Developers
      7. Conclusion: Write Those Unit Tests!
    4. Unit Tests
      1. Windows Store Unit Testing Framework
      2. Mocks and Stubs
    5. Summary
  10. Packing and Deploying
    1. The Windows Store
      1. Discovery
      2. Reach
      3. Business Models
      4. Advertising
      5. Preparing Your App for the Store
      6. The Process
      7. The Windows App Certification Kit (WACK)
      8. What to Expect
    2. Side-Loading
    3. Summary

Of course, you can also download and check out the source code from all chapters - it's available free as an open source project at http://Windows8Applications.CodePlex.com.

My publisher did a great job pulling together the content, including the dozens of figures and screenshots I included to illustrate every step of the process. Besides your local book store (and if they don’t have it, be sure to let them know they need to fill a shelf with copies), where can you pick this up? There are several options available and various sites will be running different specials and discounts, so check them out:

Thanks again for all of your support!