
Swift: Developing iOS Applications
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
All prices
More details
Other editions
Additional editions

Persons
Jon has over 28 years of experience in the Engineering and IT fields, including over 15 years spent in leadership and management roles. During this time, he has consistently delivered projects on time and within budget. Jon is recognized for successfully leading cross-functional agile teams, combining technical expertise with a strategic vision to guide projects from start to finish. He attributes much of his success to his ability to build highly productive teams that emphasize collaboration, communication, and a clear sense of purpose. Jon has developed extensively for the iOS platform since 2008. This includes several apps that he has published in the App Store, apps that he has written for third parties, and numerous enterprise applications. He has also developed mobile applications for the Android and Windows platforms. What really drives Jon are the challenges that the field of information technology provides and there is nothing more exhilarating to him than overcoming a challenge. Outside of his professional endeavors, Jon enjoys spending quality time with his kids and partner. Residing in Tallahassee, Florida, he takes full advantage of the outdoor activities available in the area. Paddle boarding, hiking, running, and biking are activities that Jon particularly enjoys, reflecting his passion for an active and adventurous lifestyle.J Wagner Andrew :
Andrew J Wagner is a software developer who concentrates on iOS development and backend web services. He has a degree in computer engineering from Rensselaer Polytechnic Institute, New York. Currently, he works for a development shop named Chronos Interactive based in Denver, CO. He has experience of working with and for large-scale and small-scale companies, as well as running his own contracting and app companies. He is passionate about using computers as a creative outlet and writing software that is beautiful in implementation, functionality, and experience. When he isn't working or spending time with friends and family, he writes for his blog at http://drewag.me.Scalzo Giordano :
Giordano Scalzo is a developer with 20 years of programming experience, since the days of ZX Spectrum. He has worked in Swift, Objective-C, C/C++, Java, .Net, Ruby, Python, and in a ton of other languages that he has forgotten the names of. After years of backend development, over the past 10 years, Giordano has developed extensively for iOS, releasing more than 20 apps-apps that he wrote for clients, enterprise applications, or on his own. He is currently a Tech Lead Consultant in London, where he leads mobile digital transformations through his company, Effective Code Ltd.
Content
- Cover
- Copyright
- Credits
- Preface
- Table of Contents
- Module 1: Learning Swift - Second Edition
- Chapter 1: Introducing Swift
- Defining our goals for this book
- Setting up the development environment
- Running our first swift code
- Understanding playgrounds
- Learning with this book
- Summary
- Chapter 2: Building Blocks - Variables, Collections, and Flow Control
- Core Swift types
- Swift's type system
- Printing to the console
- Control flow
- Functions
- Bringing it all together
- Summary
- Chapter 3: One Piece at a Time - Types, Scopes, and Projects
- Structs
- Classes
- Enumerations
- Projects
- Extensions
- Scope
- Access control
- Summary
- Chapter 4: To Be or Not To Be - Optionals
- Defining an optional
- Unwrapping an optional
- Optional chaining
- Implicitly unwrapped optionals
- Debugging optionals
- The underlying implementation
- Summary
- Chapter 5: A Modern Paradigm - Closures and Functional Programming
- Functional programming philosophy
- Closures
- Building blocks of functional programming in Swift
- Lazy evaluation
- Example
- Summary
- Chapter 6: Make Swift Work For You - Protocols and Generics
- Protocols
- Generics
- Extending generics
- Putting protocols and generics to use
- Summary
- Chapter 7: Everything Is Connected - Memory Management
- Computer data storage
- Value types versus reference types
- Automatic reference counting
- Strong reference cycles
- Lost objects
- Structures versus classes
- Summary
- Chapter 8: Paths Less Traveled - Error Handling
- Throwing errors
- Handling errors
- Cleaning up in error situations
- Summary
- Chapter 9: Writing Code the Swift Way - Design Patterns and Techniques
- What is a design pattern?
- Behavioral patterns
- Structural patterns
- Creational patterns
- Using associated values effectively
- Extending system types to reduce code
- Lazy properties
- Summary
- Chapter 10: Harnessing the Past - Understanding and Translating Objective-C
- Swift's relationship to Objective-C
- Background of Objective-C
- Constants and variables
- Containers
- Control flow
- Functions
- Types
- Projects
- Calling Objective-C code from Swift
- Using functions
- Summary
- Chapter 11: A Whole New World - Developing an App
- Conceptualizing the app
- Setting up the app project
- Configuring the user interface
- Running the app
- Allowing picture taking
- Temporarily saving a photo
- Populating our photo grid
- Refactoring to respect model-view-controller
- Permanently saving a photo
- Summary
- Chapter 12: What's Next? - Resources, Advice, and the Next Steps
- Apple's documentation
- Forums and blogs
- Prominent figures
- Podcasts
- Summary
- Module 2: Swift 2 by Example
- Chapter 1: Welcome to the World of Swift
- The first look at Swift
- Summary
- Chapter 2: Building a Guess the Number App
- The app is.
- Summary
- Chapter 3: A Memory Game in Swift
- The app is.
- Building the skeleton of the app
- The menu screen
- The game screen
- Connecting the dataSource and the delegate
- Implementing a deck of cards
- Finishing the game
- Summary
- Chapter 4: A TodoList App in Swift
- The app is.
- Building a skeleton app
- Building the Todos screen
- Adding a Todo task
- Summary
- Chapter 5: A Pretty Weather App
- The app is.
- Building the skeleton
- Implementing the UI
- Completing the UI
- Blurring the background
- Downloading the background image
- Geolocalising the app
- Retrieving the actual forecast
- Connecting to the server
- Where do we go from here?
- Summary
- Chapter 6: Flappy Swift
- The app is.
- Building the skeleton of the app
- A stage for a bird
- A flying bird
- Pipes!
- Making the components interact
- Completing the game
- Summary
- Chapter 7: Polishing Flappy Swift
- Adding juiciness
- Integrating with Game Center
- Summary
- Chapter 8: Cube Runner
- The app is.
- Introduction to SceneKit
- Implementing Cube Runner
- Flying in a 3D world
- Adding a few touches
- Summary
- Chapter 9: Completing Cube Runner
- Creating a real game
- Summary
- Chapter 10: ASAP - an E-commerce App in Swift
- The app is.
- The skeleton app and register screen
- The ASAP e-commerce store
- The ASAP cart
- Summary
- Chapter 11: ASAPServer, a Server in Swift
- The interface of the ASAP Server
- One skeleton server for two OSes
- The ASAPServer
- Connecting the ASAP app
- Summary
- Module 3: Mastering Swift 2
- Chapter 1: Taking the First Steps with Swift
- What is Swift?
- Playgrounds
- Hello World
- Summary
- Chapter 2: Learning about Variables, Constants, Strings, and Operators
- Constants and variables
- Operators
- Summary
- Chapter 3: Using Collections and Cocoa Data Types
- Swift collection types
- Mutability
- Arrays
- Dictionaries
- Set
- Tuples
- Using Cocoa data types
- Foundation data types
- Summary
- Chapter 4: Control Flow and Functions
- What we have learned so far
- Control flow
- Functions
- Putting it all together
- Summary
- Chapter 5: Classes and Structures
- What are classes and structures?
- Creating a class or structure
- Custom initializers
- Inheritance
- Overriding methods and properties
- Protocols
- Protocol syntax
- Extensions
- Memory management
- Summary
- Chapter 6: Using Protocols and Protocol Extensions
- Protocols as types
- Polymorphism with protocols
- Type casting with protocols
- Protocol extensions
- Summary
- Chapter 7: Writing Safer Code with Availability and Error Handling
- Error handling prior to Swift 2.0
- Error handling in Swift 2
- The availability attribute
- Summary
- Chapter 8: Working with XML and JSON Data
- XML and JSON
- Common files
- XML and the NSXMLParser class
- Using the NSXMLParserDelegate protocol
- Parsing XML documents
- XML and manually building XML documents
- JSON and NSJSONSerialization
- Summary
- Chapter 9: Custom Subscripting
- Introducing subscripts
- Subscripts with Swift arrays
- Read and write custom subscripts
- Read-only custom subscripts
- Calculated subscripts
- Subscript values
- Subscripts with ranges
- External names for subscripts
- Multidimensional subscripts
- When not to use a custom subscript
- Summary
- Chapter 10: Using Optional Types
- Introducing optionals
- The need for optional types in Swift
- Optional chaining
- Summary
- Chapter 11: Working with Generics
- An introduction to generics
- Generic functions
- Generic types
- Associated types
- Summary
- Chapter 12: Working with Closures
- An introduction to closures
- Simple closures
- Shorthand syntax for closures
- Using closures with Swift's array algorithms
- Standalone closures and good style guidelines
- Changing functionality
- Selecting a closure based on results
- Creating strong reference cycles with closures
- Summary
- Chapter 13: Using Mix and Match
- What is mix and match
- Using Swift and Objective-C together in the same project
- Summary
- Chapter 14: Concurrency and Parallelism in Swift
- Concurrency and parallelism
- Summary
- Chapter 15: Swift Formatting and Style Guide
- What is a programming style guide?
- Your style guide
- Summary
- Chapter 16: Network Development with Swift
- What is network development?
- An overview of the URL session classes
- REST web services
- Making an HTTP GET request
- Making an HTTP POST request
- Checking network connection
- RSNetworking2 for Swift 2
- Summary
- Chapter 17: Adopting Design Patterns in Swift
- Value versus reference types
- What are design patterns
- Creational patterns
- Structural design patterns
- Behavioral design patterns
- Summary
- Biblography
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.
File format: PDF
Copy-Protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our eBook Help page.