售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
Mastering Cross-Platform Development with Xamarin
Table of Contents
Mastering Cross-Platform Development with Xamarin
Credits
About the Authors
About the Reviewers
www.PacktPub.com
eBooks, discount offers, and more
Why subscribe?
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Developing with Xamarin
Cross-platform projects with Xamarin
Xamarin as a platform
Xamarin as a product
Target platforms
Xamarin on Android
Xamarin on iOS
Windows Runtime apps
Setting up the development environment
Choosing the right development OS
Xamarin Studio setup and configuration
Visual Studio setup and configuration
Emulator options
Emulators for Android
iOS emulation
A typical Xamarin solution structure
Portable class libraries
Shared projects
Xamarin.Forms
NuGet packages
Components
Quality in cross-development
Reusability
Abstraction
Loose-coupling
Nativity
Summary
2. Memory Management
Application Component lifecycle
Activity lifecycle (Android)
Active/Running
Paused
Backgrounded
Stopped
Restarted
Application lifecycle (iOS)
Garbage collection
GC on Xamarin projects
SGen garbage collector
Boehm garbage collector (iOS only)
Platform-specific concepts
Object reference types
Automatic Reference Counting (ARC)
Troubleshooting and diagnosis
Xamarin Profiler
Allocations instrument
Time Profiler
Device Monitor (Android only)
Instruments (iOS only)
Monotouch Profiler (iOS only)
Patterns and best practices
Disposable objects
The lapsed listener problem
Weak references
Cross-domain objects
Cyclic references (cycles)
Summary
3. Asynchronous Programming
Multithreading on Xamarin
Single thread model
Task-based Asynchronous Pattern
Concurrency model on iOS
Asynchronous methods
Continuation
Cancellation
Progress
Task batches
Parallel execution
Patterns and best practices
Async pattern conversions
Multi-threading with tasks
Exception handling
Initialization pattern
Semaphores
Background tasks
Background tasks on iOS
Services (Android only)
Summary
4. Local Data Management
Data in mobile applications
State
App data
Local files
External data
Application data
Installation directory
Android
iOS
Local storage
Android
iOS
Temporary storage
Local filesystem
SQLite
Patterns and best practices
Application preferences
File picker
Backup/Roaming
Android and Backup API
iOS and ubiquitous storage
Summary
5. Networking
Connected apps
Web services
Transport
Messaging
SOAP/XML services
RESTful services
OData and OAuth
OData
OAuth
SignalR
Patterns and best practices
Async conversions
Data model abstraction
Service cache
Platform-specific concepts
Permissions
NSUrlConnection/NSUrlSession (iOS Only)
Background downloads
Push notifications
Cloud integration
Azure Mobile Services
Azure offline data
Azure authentication
Summary
6. Platform Extras
Content sharing
File pickers and contracts (Windows Store apps)
Document Provider extensions (iOS)
ContentProvider and ContentResolver (Android)
Peripherals
Bluetooth
Wi-Fi Direct
Near Field Communication
Location data
Android location and Google Play services
Location services on iOS
Location data on Windows Runtime
Geofencing
Native libraries
Managed callable wrappers (Android)
Linking versus binding (iOS)
Summary
7. View Elements
Design philosophy
User expectations
Platform imperatives
Hardware dependency
Design metrics on Android
Design metrics on iOS
Design metrics on Windows Runtime
Design elements
The basic layout
Navigation
Horizontal navigation
Vertical navigation
Jump navigation
Content elements
Collection views
UITableView (iOS)
UICollectionView (iOS)
ListView (Android)
GridView (Android)
CardView (Android)
ListView and ListBox (Windows Phone)
GridView (Windows Phone)
Virtualizing panels (Windows Phone)
Modal views
Popover and alerts (iOS)
Flyout, popups, and menus (Windows Phone)
Dialogs (Android)
Text views
Web views
Feedback
Indeterminate progress
Determinate progress
User interaction
Interactive controls
Text input
Dropdown selection
Option selection
Gestures
Summary
8. Xamarin.Forms
Under the hood
Anatomy of Xamarin.Forms
Project structure
Components
Pages
Tabbed page
The MasterDetail page
NavigationPage
CarouselPage
ContentPage
Layouts
Views
Extending forms
Styles
Triggers and behaviors
Custom renderers
Patterns and best practices
Messaging infrastructure
Dependency injection
Shared project versus portable project
Platform-specific fine-tuning
Summary
9. Reusable UI Patterns
Visual assets
Text resources
Xamarin.Android
Xamarin.iOS
Windows Phone
Image resources
Adaptive visual assets
Reusable assets
Localization
Locale and culture
Windows Phone
Xamarin.iOS
Xamarin.Android
Xamarin.Forms
Architectural patterns
MVC
iOS app architecture
MVVM
Windows Runtime
MVVM on Xamarin.iOS and Xamarin.Android
MVVM with Xamarin.Forms
Summary
10. ALM – Developers and QA
Development pipeline
Troubleshooting and diagnostics
Unit testing
Platform-agnostic unit tests
Platform-specific unit tests
UI testing
Xamarin.UITests and Xamarin Test Cloud
Xamarin Test Recorder
Coded UI tests (Windows Phone)
Calabash
Summary
11. ALM – Project and Release Management
Source control
TFVC
Git
TFS/Git scenarios
Git bridge
NuGet packages
Subversion (SVN)
Continuous integration
Visual Studio Team Services
TeamCity
Other
Automated testing
Beta deployment
HockeyApp
Crashlytics
TestFlight
Package distribution
Live telemetry
Xamarin Insights
Application Insights
Summary
12. ALM – App Stores and Publishing
Release packages
Xamarin.Android app package (.apk)
Disabling debugging
Linking
Packing options
Packaging
Xamarin.iOS app bundle (.ipa)
Build options
Linking
Provisioning profile
Windows Phone app package (.appx)
Distribution options
App store(s)
Ad-hoc
Line of Business apps
Private channel distribution (Android)
Apple Developer Enterprise Program
Windows Phone private distribution
Summary
Index
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜