Native Mobile Development. A Cross-Reference for iOS and Android - Helion
ISBN: 978-14-920-5282-1
stron: 394, Format: ebook
Data wydania: 2019-11-12
Księgarnia: Helion
Cena książki: 160,65 zł (poprzednio: 186,80 zł)
Oszczędzasz: 14% (-26,15 zł)
Learn how to make mobile native app development easier. If your team frequently works with both iOS and Android—or plans to transition from one to the other—this hands-on guide shows you how to perform the most common development tasks in each platform. Want to learn how to make network connections in iOS? Or how to work with a database in Android? This book has you covered.
In the book’s first part, authors Shaun Lewis and Mike Dunn from O’Reilly’s mobile engineering group provide a list of common, platform-agnostic tasks. The second part helps you create a bare-bones app in each platform, using the techniques from part one.
- Common file and database operations
- Network communication with remote APIs
- Application lifecycle
- Custom views and components
- Threading and asynchronous work
- Unit and integration tests
- Configuring, building, and running an app on a device
Osoby które kupowały "Native Mobile Development. A Cross-Reference for iOS and Android", wybierały także:
- Hello! Flex 4 39,90 zł, (19,95 zł -50%)
- Android na tablecie. Receptury 99,00 zł, (74,25 zł -25%)
- Android Poradnik programisty. 93 przepisy tworzenia dobrych aplikacji 47,70 zł, (38,64 zł -19%)
- Android w praktyce. Projektowanie aplikacji 58,27 zł, (47,20 zł -19%)
- Building Cross-Platform Apps with Flutter and Dart 84,60 zł, (71,91 zł -15%)
Spis treści
Native Mobile Development. A Cross-Reference for iOS and Android eBook -- spis treści
- Preface
- Why We Wrote This Book
- Who This Book Is For
- How This Book Is Organized
- Conventions Used in This Book
- Using Code Examples
- OReilly Online Learning
- How to Contact Us
- Acknowledgments
- I. Tasks and Operations
- A Note About the State of Mobile Development
- 1. UI Controllers
- Tasks
- Android
- How to Create Your Apps Starting UI Controller
- How to Change the Active UI Controller
- Fragments
- Understanding the UI Controller Life Cycle
- iOS
- How to Create Your Apps Starting UI Controller
- Views and UI Controllers
- The hunt begins
- Code versus storyboard
- How to Change the Active UI Controller
- Its showtime!
- Segues
- Understanding the Controller Life Cycle
- Creating UI controllers from storyboards
- viewDidLoad
- viewWillAppear and viewDidAppear
- viewWillDisappear and viewDidDisappear
- didReceiveMemoryWarning
- Navigation controllers, tab bars, and split view controllers
- showDetail(_:sender:)
- How to Create Your Apps Starting UI Controller
- What Weve Learned
- 2. Views
- Tasks
- Android
- Create a New View
- Nesting Views
- Update a Views State
- iOS
- Create a New View
- Frames versus bounds
- Storyboards and XIBs
- Nesting Views
- Constraints
- Interface Builder to the Rescue
- Auto Layout
- Update a Views State
- Alpha
- Hiding views
- Background color
- Modifying Position
- Other properties
- Core Animation
- SwiftUI
- Create a New View
- What Weve Learned
- 3. Custom Components
- Tasks
- Android
- How to Create a Custom View
- How to Use a Custom View
- iOS
- How to Create a Custom View
- How to Use a Custom View
- What Weve Learned
- 4. User Input
- Tasks
- Android
- Receive and React to a Tap
- Receive and React to Keyboard Input
- Handle Compound Gestures
- iOS
- Receive and React to a Tap
- Receive and React to Keyboard Input
- Handle Compound Gestures
- Touch Events API
- What Weve Learned
- 5. Message Passing
- Tasks
- Android
- Use a Callback to React to an Operation
- Dispatch a Message to Any Interested Subscribers
- Listen for, and React to, Messages Dispatched Within a System
- iOS
- Use a Callback to React to an Operation
- Closures
- Escaping and nonescaping closures
- Delegates
- Dispatch a Message to Any Interested Subscribers
- Listen for, and React to, Messages Dispatched Within a System
- Closures Instead of Selectors
- Stop Listening for Notifications
- Targeting specific objects with notifications
- Threading
- Key-value observation
- Use a Callback to React to an Operation
- What Weve Learned
- 6. Files
- Tasks
- Android
- Get Properties from the File Like Size or Last Modified Date
- Read and Write Data to and from a File
- Copy Data from One File to Another
- iOS
- Get Properties from the File Like Size or Last Modified Date
- App bundles
- Data (and documents)
- Documents
- Library
- tmp
- Accessing directories
- File attributes
- Reading and Writing Data to and from a File
- All roads lead to FileManager
- Copy Data from One File to Another
- URLs versus strings
- iCloud and iTunes backups
- Get Properties from the File Like Size or Last Modified Date
- What Weve Learned
- 7. Persistence
- Tasks
- Android
- Establish a Database Connection
- Create a Database Table or Persistent Object
- Write Data to That Table or Persistent Object
- Read Data from That Table or Persistent Object
- Why SQLite? Why not room? Why not realm? Why not <insert my favorite ORM here>?
- iOS
- Set Up and Connect to a Persistence Layer
- Set up Core Data stack
- Define and Create a Database Table or Persistent Object
- Write and Persist Data to SQLite
- Read Data from SQLite
- Set Up and Connect to a Persistence Layer
- What Weve Learned
- 8. Concurrency (Multi-Threading)
- Tasks
- Android
- Perform a Task in a Background Thread
- Act on the Results of Work Performed in the Background Thread on the Main Thread
- Terminating a Thread
- iOS
- Perform a Task in a Background Thread
- Act on the Results of Work Performed in the Background Thread on the Main Thread
- What Weve Learned
- 9. Networking
- Tasks
- Android
- Read and Print a Text File on a Remote Server
- Make an HTTP POST Request
- Download a Binary File
- iOS
- Read and Print a Text File on a Remote Server
- Make an HTTP POST Request
- Download a Binary File
- URLSessionDownloadDelegate
- Pause and resume
- Delegates
- Background threads and updating the UI
- App transport security
- What Weve Learned
- 10. User Feedback
- Tasks
- Android
- Use Framework-Provided Tools to Show the User Feedback
- Toast
- Snackbar
- Dialogs
- Update the Status Bar
- Use Framework-Provided Tools to Show the User Feedback
- iOS
- Use Framework-Provided Tools to Show the User Feedback
- Update the Status Bar
- Text fields in alert views
- Haptic feedback
- What Weve Learned
- 11. User Preferences
- Tasks
- Android
- Write User Preferences
- Read User Preferences
- Work with User Preferences in a Multiple User Application
- iOS
- Write User Preferences
- Whats happening under the hood
- Data types
- NSCoding conformance
- Use Codable instead of NSCoding
- Deleting keys
- Read User Preferences
- Work with User Preferences in a Multiple User Application
- Write User Preferences
- What Weve Learned
- 12. Serialization and Transports
- Tasks
- Android
- Serialize and Deserialize an Object Instance
- org.json
- org.xmlpull
- Java serialization
- Serialize and Deserialize an Object Instance
- iOS
- Serialize and Deserialize an Object Instance
- JSON
- XML
- Property lists
- iOS Notes
- Serialize and Deserialize an Object Instance
- What Weve Learned
- 13. Extensions
- Tasks
- Android
- Add Functionality to Existing APIs
- iOS
- Add Functionality to Existing APIs
- Extensions for code organization
- Extending protocols
- Add Functionality to Existing APIs
- What Weve Learned
- 14. Testing
- Tasks
- Android
- Set Up and Run Unit Tests
- Set Up and Run Integration Tests
- iOS
- Set Up and Run Unit Tests
- What Weve Learned
- II. Sample App
- 15. Welcome and Environment Setup
- Comparing Native Development to Cross-Platform Tools
- Web-Based
- Other
- Environment Setup
- Android Setup
- Set up Android Studio
- iOS Setup
- Set up and install Xcode
- Apple Developer account
- Android Setup
- What Weve Learned
- Comparing Native Development to Cross-Platform Tools
- 16. Building an App
- Creating a New Project
- Android Studio
- Xcode
- App Architecture
- Model-View-Controller
- Building Our First Screen
- Android
- Launch Screen
- iOS
- Adding a view controller
- Outlets for our views
- Wiring it all up
- Android
- What Weve Learned
- Creating a New Project
- 17. Listing Data in the App
- Sprucing Up Views
- Android
- Adding string and drawable resources
- iOS
- Structure
- Style
- Errors, errors, and more errors!
- Android
- Adding a Button
- iOS
- Lists, Lists, and More Lists!
- Add a New Catalog View
- Wiring Up the Button
- Books
- Populating the List View
- Android
- iOS
- What Weve Learned
- Sprucing Up Views
- 18. Modeling Our Library
- Dynamic Data in List Views
- Android
- iOS
- Its Time for Our Model Objects to Get Real
- JSON for One, JSON for All
- Switch the Model Layer to JSON
- Android
- iOS
- What Weve Learned
- Dynamic Data in List Views
- 19. And Yet, We Persisted
- Detailing Our Books
- Android
- iOS
- Add some detail to yo detail so you can detail
- Saving Books for Later
- Android
- iOS
- Storing Books for Later
- Android
- iOS
- Core Data
- Getting started with the model file
- Initializing our stack
- Switching from JSON to Core Data
- Seeding the database
- Saving Books
- Android
- What Weve Learned
- Detailing Our Books
- 20. Networking and Our App
- Searching the World
- Android
- iOS
- Controlling our searches
- Building a Search Endpoint
- Installing Node and Express
- Locations JSON File
- Calling Our Service
- Android
- iOS
- URLSession and friends
- What Weve Learned
- Searching the World
- Index