Learn How to Program Apps for the Internet of Things

Book Description:

With this book, you will learn how to build apps and hardware for the Internet of Things, using Apple’s native APIs and industry standard protocols like Bluetooth and HTTPS. You’ll start out learning how to access the sensors on the iPhone, move on to building your own accessories using the Arduino and Raspberry Pi, and wrap things up by combining your projects into fully operational Internet of Things systems (who doesn’t want their own personal Apple TV dashboard?)

Fully updated for iOS 12 and Swift 4.2, this book is written with the latest coding standards for Swift and provides insight on how to optimize your IoT apps for the best user experience. Written more like a 1:1 lesson than a cookbook, this text guides you through the “how” and “why” of each topic, helping you gain a deeper understanding of the content and making it easier for you to debug your projects by yourself.

If you were a fan of the first edition, you will find more to love in this edition, including easier-to-understand explanations and expanded coverage on building your hardware. Additionally, you will learn about new design considerations that have emerged as the Internet of Things has matured, including how to make your apps and hardware more resistant to hackers.

The Internet of Things is waiting ― be a part of it!

What You’ll Learn

  • How to harness the power of Apple’s native IoT frameworks, including HealthKit, CoreMotion and FaceID
  • How to build your own custom IoT hardware using the Arduino and Raspberry Pi
  • How to build secure Internet of Things solutions
  • How to build apps for Apple’s newest devices, including the iPhone XS, Apple Watch, and Apple TV

Who This Book Is For

The primary audience for this book are readers who have a grasp of the basics of iOS development and are looking to improve their Internet of Things-specific skills. Intermediate to Advanced level. The secondary audience would be business decision makers (managers, business analysts, executives) who are looking to gain a rough understanding of what is involved in Internet of Things development for iOS.

Book Description:

iOS Development with Swift is a hands-on guide to creating apps for iPhone and iPad using the Swift language. Inside, you’ll be guided through every step of the process for building an app, from first idea to App Store. This book fully covers Swift 4, Xcode 9, and iOS 1.

Our video course, iOS Development with Swift in Motion, is the perfect companion to this book, featuring even more projects and examples for you to dig into in the exciting world of iOS development. Find out more at our website: www.manning.com/livevideo/ios-developmen​t-with-swift-lv

Swift, Xcode, and Cocoa Basics

Book Description:

Move into iOS development by getting a firm grasp of its fundamentals, including the Xcode 10 IDE, Cocoa Touch, and the latest version of Apple’s acclaimed programming language, Swift 4.2. With this thoroughly updated guide, you’ll learn the Swift language, understand Apple’s Xcode development tools, and discover the Cocoa framework.

  • Explore Swift’s object-oriented concepts
  • Become familiar with built-in Swift types
  • Dive deep into Swift objects, protocols, and generics
  • Tour the lifecycle of an Xcode project
  • Learn how nibs are loaded
  • Understand Cocoa’s event-driven design
  • Communicate with C and Objective-C

In this edition, catch up on the latest iOS programming features.

  • Self-synthesizing protocols
  • Conditional conformance
  • Dynamic member lookup
  • Multiple selection
  • Source control improvements
  • And more!

Once you master the fundamentals, you’ll be ready to tackle the details of iOS app development with author Matt Neuburg’s companion guide, Programming iOS 12.

Cocoa, Cocoa Touch, Objective-C, and Swift (Developer's Library)

Book Description:

In iOS and macOS™ Performance Tuning, Marcel Weiher drills down to the code level to help you systematically optimize CPU, memory, I/O, graphics, and program responsiveness in any Objective-C, Cocoa, or CocoaTouch program.

This guide focuses entirely on performance optimization for macOS and iOS. Drawing on more than 25 years of experience optimizing Apple device software, Weiher identifies concrete performance problems that can be discovered empirically via measurement. Then, based on a deep understanding of fundamental principles, he presents specific techniques for solving them.

Weiher presents insights you won’t find anywhere else, most of them applying to both macOS and iOS development. Throughout, he reveals common pitfalls and misconceptions about Apple device performance, explains the realities, and helps you reflect those realities in code that performs beautifully.

  • Understand optimization principles, measurement, tools, pitfalls, and techniques
  • Recognize when to carefully optimize, and when it isn’t worth your time
  • Balance performance and encapsulation to create efficient object representations, communication, data access, and computation
  • Avoid mistakes that slow down Objective-C programs and hinder later optimization
  • Fix leaks and other problems with memory and resource management
  • Address I/O issues associated with drives, networking, serialization, and SQLite
  • Code graphics and UIs that don’t overwhelm limited iOS device resources
  • Learn what all developers need to know about Swift performance

This book’s source code can be downloaded at github.com/mpw/iOS-macOS-performance.

Register your product at informit.com/register for convenient access to downloads, updates, and corrections as they become available.

Dive Deep into Views, View Controllers, and Frameworks

Book Description:

If you’re grounded in the basics of Swift, Xcode, and the Cocoa framework, this book provides a structured explanation of all essential real-world iOS app components. Through deep exploration and copious code examples, you’ll learn how to create views, manipulate view controllers, and add features from iOS frameworks.

  • Create, arrange, draw, layer, and animate views that respond to touch
  • Use view controllers to manage multiple screens of interface
  • Master interface classes for scroll views, table views, text, popovers, split views, web views, and controls
  • Dive into frameworks for sound, video, maps, and sensors
  • Access user libraries: music, photos, contacts, and calendar
  • Explore additional topics, including files, networking, and threads

Stay up-to-date on iOS 12 innovations, such as User Notification framework improvements, as well as changes in Xcode 10 and Swift 4.2. All example code is available on GitHub for you to download, study, and run.

Want to brush up on the basics? Pick up iOS 12 Programming Fundamentals with Swift to learn about Swift, Xcode, and Cocoa. Together with Programming iOS 12, you’ll gain a solid, rigorous, and practical understanding of iOS 12 development.

Using RxSwift, Amazon Web Services, and JSON with iOS and macOS

Book Description:

Learn the basics of reactive programming and how it makes apps more responsive. This book shows you how to incorporate reactive programming into existing development products and cycles using RXSwift and RXCocoa on iOS and Mac.

As we move away from the traditional paradigm of typing or touching one step at a time to interact with programs, users expect apps to adapt and not need constant hand-holding. People today expect their devices to do much more than just follow commands. They expect devices to react and adapt. Reactive programming, a new term for asynchronous processing, requires new app architectures, and you’ll learn how these are already built into iOS and macOS in many places.

As part of this more complex environment, you’ll move beyond Cocoa and Cocoa Touch to incorporate data from Amazon Web Services (AWS), JavaScript Object Notation (JSON), and other formats, and standards. Together with the concepts of reactive programming and RxSwift, these tools help you build more powerful and useful apps that have wide appeal and use.

What You’ll Learn

  • Work with tools such as Darwin microkernel, RxSwift, and RxCocoa
  • Use Git repositiories and other resoucrces to get into coding
  • Create apps that adapt to gestures and UI interaction as well as what’s happening in and around the environment of the app itself.
Who This Book Is For

This book is for Swift programmers interested in learning to create reactive apps with RxSwift.

Book Description:

Stay motivated and overcome obstacles while learning to use Swift Playgrounds to be a great iOS developer. This book is perfect for those with no programming background, those with some programming experience but no object-oriented experience, or those that have a great idea for an app but haven’t programmed since school, and it is now updated for Swift 4.

Many people have a difficult time believing they can learn to write iOS apps. Swift 4 for Absolute Beginners will show you how to do so. You’ll learn Object Oriented Programming and be introduced to HealthKit before moving on to write your own iPhone and Watch apps from scratch.

Gary Bennett and Brad Lees are full-time professional iOS developers and have developed a broad spectrum of apps for Fortune 500 companies. The authors have taken their combined 14 years of writing apps, teaching online iOS courses, the experience from their first three iOS books, along with their online instruction and free online forum at XcelMe.com to create an excellent training book. And the material in this book is supplemented by with the free, live online training sessions.

What You’ll Learn

  • Work with Swift classes, properties, and functions
  • Examine proper user interface and user experience design
  • Understand Swift data types: integers, floats, strings, and Booleans
  • Use Swift data collections: arrays and dictionaries
  • Review Boolean logic, comparing data, and flow control

Who This Book Is For

Anyone who wants to learn to develop apps for the Mac, iPhone, and iPad, and Watch using the Swift programming language. No previous programming experience is necessary.

The Fastest and Most Effective Way to Learn to Code and to Teach Others to Use Your Code

Book Description:

Learn how to build playgrounds so you can test your code, syntax, and ideas quickly. You can even learn from playgrounds built by others or build playgrounds to teach. And the playgrounds you build and use on your Mac and on your iPad are automatically shared using your Apple ID.

Exploring Swift Playgrounds shows you how to use playgrounds to try out your basic app design ideas to see what they look like and how they behave. It doesn’t matter if you can’t remember a pesky little bit of syntax. Rather than look it up, you can try it out in a playground. More and more of the APIs are now available through playgrounds, so that you can do more than ever before.

Going beyond print, the Swift Playgrounds book tool allows for immersive experiences for users learning code, organization processes, and anything else that can be described in the rich (and free) authoring tools provided by Apple. All of which you can learn how to use in Exploring Swift Playgrounds.

What You’ll Learn:

  • Build Swift playgrounds for others to use
  • Teach yourself and others with Swift playgrounds
  • Use Swift playgrounds in your development process

Who This Book Is For:

Students with no prior coding knowledge and experienced developers.

Design and Manage Top Quality Apps

Book Description:

Acquire and master the information required to take you to the next level beyond basic iPhone development using Swift.

In this follow up work to the best selling Beginning iPhone Development with Swift, you’ll learn how to improve your apps by managing the performance of your programs using parallelization, getting data in and out of the cloud, using gestures, the camera, 3D touch, sensors as well as newer features having debuted this year.

In its fourth edition, Pro iPhone Development with Swift 4 covers the additional information you want to know to extend your apps into the next level.

What You Will Learn

  • Adding Parallel Functionality using Grand Central Dispatch
  • Using the Camera and Accessing Photos
  • Using SiriKit
Who This Book is For
Aspiring iOS app developers familiar with the Apple Swift programming language and/or the iOS SDK, but ready to move to the next level.

Solutions and Examples for iOS Apps

Book Description:

iOS 11, Swift 4, and Xcode 9 provide many new APIs for iOS developers. With this cookbook, you’ll learn more than 170 proven solutions for tackling the latest features in iOS 11 and watchOS 4, including new ways to use Swift and Xcode to make your day-to-day app development life easier. This collection of code-rich recipes also gets you up to speed on continuous delivery and continuous integration systems.

Ideal for intermediate and advanced iOS developers looking to work with the newest version of iOS, these recipes include reusable code on GitHub, so you can put them to work in your project right away.

Among the topics covered in this book:

  • New features in Swift 4 and Xcode 9
  • Tools for continuous delivery and continuous integration
  • Snapshot testing and test automation
  • Creating document-based applications
  • Updated Map view and Core Location features
  • iOS 11’s Security and Password Autofill
  • Data storage with Apple’s Core Data
  • Creating lively user interfaces with UI Dynamics
  • Building iMessage applications and sticker packages
  • Integrating Siri into your apps with Siri Kit
  • Creating fascinating apps for Apple Watch

Computation Concepts, Programming Paradigms, Data Management, and Modern Component Architectures with Swift and Playgrounds

Book Description:

Master the basics of solving logic puzzles, and creating algorithms using Swift on Apple platforms. This book is based on the curriculum currently being used in common computer classes. You’ll learn to automate algorithmic processes that scale using Swift in the context of iOS, macOS, tvOS, and watchOS.

Begin by understanding how to think computationally: to formulate a computational problem and recognize patterns and ways to validate it. Then jump ahead past the abstractions and conceptual work into using code snippets to build frameworks and write code using Xcode and Swift. Once you have frameworks in place, you’ll learn to use algorithms and structure data. Finally, you’ll see how to bring people into what you’ve built through a useable UI and how UI and code relate.

What You’ll Learn

  • Recognize patterns and use abstractions
  • Build code into reusable frameworks
  • Manage code and share version control
  • Solve logic puzzles
Who This Book Is For

Young professionals interested in learning computer science from an Apple platform standpoint.

Exploring the iOS SDK

Book Description:

Learn how to integrate all the interface elements iOS users have come to know and love, such as buttons, switches, pickers, toolbars, and sliders. In this edition of the best selling book, you’ll master a variety of design patterns, from the simplest single view to complex hierarchical drill-downs.

Assuming little or no working knowledge of the Swift programming language, and written in a friendly, easy-to-follow style, this book offers a comprehensive course in iPhone and iPad programming. The book starts with the basics, walking through the process of downloading and installing Xcode and the iOS 11 SDK, and then guides you though the creation of your first simple application.

The art of table building will be demystified, and you’ll learn how to save your data using the iOS file system. You’ll see how to to create, load and work with playgrounds as you develop an understanding of the Swift language. You’ll also learn how to save and retrieve your data using a variety of persistence techniques, including Core Data and SQLite. And there’s much more!

Beginning iPhone Development with Swift 4 covers the basic information you need to get up and running quickly with your iOS apps. Once you’re ready, move on to Professional iPhone Development with Swift 4 to learn more of the really unique aspects of the SDK and Swift language.

What You Will Learn

  • Discover what data persistence is, and why it’s important
  • Build cool, crisp user interfaces
  • Display data in Table Views
  • Work with all the most commonly used iOS Frameworks
Who This Book is For

Aspiring iOS app developers new to the Apple Swift programming language and/or the iOS SDK.

Book Description:

In just 24 lessons of one hour or less, Sams Teach Yourself Swift in 24 Hours, Second Edition, will teach you how to build next-generation OS X and iOS apps with Apple’s Swift 2 programming language. This book’s straightforward, step-by-step approach helps you quickly master Swift 2’s core concepts, structure, and syntax and use Swift to write safe, powerful, modern code. In just a few hours you’ll be applying features such as extensions, closures, protocols, and generics. Every lesson builds on what you’ve already learned, giving you a rock-solid foundation for real-world success.

Step-by-step instructions carefully walk you through the most common Swift 2 programming tasks.
Practical, hands-on examples show you how to apply what you learn.
Quizzes and exercises help you test your knowledge and stretch your skills.
Notes and tips point out shortcuts and solutions.

Learn how to…

  • Get started with Swift 2.0’s Xcode 7 development environment
  • Master Swift’s fundamental data types
  • Use operators to change, assign, combine, check, or verify values
  • Retain data and preferences in memory with arrays, sets, and dictionaries
  • Control program flow, modify execution paths, and iterate code
  • Perform complex actions concisely with Swift 2.0’s improved functions
  • Work with higher-order functions and closures
  • Harness the power of structs, enums, classes, and class inheritance
  • Take advantage of Swift’s advanced memory allocation and references
  • Use protocols to define behavior and explore Protocol-Oriented Programming
  • Add type functionality with extensions
  • Smoothly handle errors
  • Leverage the power of generics to create flexible and reusable code
  • Interoperate with Objective-C code
  • Get started with Functional Programming approaches and thinking functionally

Leverage the power of the Functional Reactive Programming paradigm with Swift to develop robust iOS applications

Book Description:

Reactive programming helps you write applications that are more powerful and efficient. You can write more software, help more people, and create applications that scale. Reactive programming is a growing paradigm that we will help you set to work in Swift.

Reactive Programming with Swift guides you through migrating from the traditional way of developing to the new ReactiveCocoa framework, which uses Swift as its main programming language. You will learn how to develop with this framework, debug code, create unit tests, use additional frameworks, and convert a traditional framework into a ReactiveCocoa one.

Starting with a crash course on the fundamental concepts of Reactive programming, we’ll set you up so you’re ready to create reactive applications. We’ll then move on to topics such as Graphical events, Streaming, and Core data, which will help you dive deeper with advanced programming. The concept of switching your programming concepts from imperative to functional reactive programming will also be covered. By the end of this book, you will be able to successfully create highly functional apps using Swift.

Who This Book Is For

Reactive Programming with Swift is for Swift developers who want to start making more powerful and efficient applications. You need a basic understanding of Swift to follow along. This book takes a first-principles approach to what Reactive Programming is and how you can start implementing it in your next iOS applications.

What You Will Learn

  • Switch your programming concepts from imperative to Functional reactive programming
  • Improve your app’s maintenance by developing with a different paradigm
  • Create unit tests and automation tests using the ReactiveCocoa framework
  • Create clear code that is very easy to read
  • Get accustomed to migrating mobile apps to the Reactive way of programming
  • Perform asynchronous calls and join them later

Test-Driven Development and Behavior-Driven Development with Swift

Book Description:

Put into motion practical examples to master Test-Driven Development (TDD) and acceptance testing in Swift.
This book uses a pragmatic approach to writing well-tested code and provides techniques that can be used to retrofit tests to legacy code bases. You’ll be introduced to basic principles of TDD, such as Test First, Red-Green-Refactor, Remove Duplicate code, Dependency Injection, and Single Responsibility. Approaches covered include TDD, behavior-driven development (BDD), UI, and acceptance testing with common standard/open source frameworks.

iOS Code Testing offers helpful instruction to teach iOS developers to retrospectively fit tests to legacy code, refactor legacy code so as to make the code more testable, install and configure a popular Swift BDD framework, practice BDD with Xcode, and create automated UI tests with Xcode. Additionally, many projects have legacy code bases. Legacy code is often seen as a blocker when it comes to implementing any kind of testing.

What You Will Learn

  • Fit test to legacy code retrospectively
  • Install and configure popular Swift BDD frameworks
  • Practice BDD with Xcode

Who This Book Is For

Software practitioners, such as Swift developers and mobile app testers.

Develop 2D and 3D games Using Apple's SceneKit and SpriteKit

Book Description:

Learn the fundamental elements of the new Swift 3 programming language as applied to game development for new iOS 10.

In Part 1 of this book, you’ll start with a basic 2D game idea and build the game throughout the book introducing each SpriteKit topic as you add new functionality to the game. By the end of the book, you’ll have experience with all the important SpriteKit topics and have a fully functional game as a result. In Part 2, you’ll learn 3D game development using Apple’s SceneKit framework and the Swift programming language, following the same pattern used for Part 1.

Game apps are one of the most popular categories in the Apple iTunes App Store. In response, James Goodwill and Wesley Matlock bring you Beginning Swift Games Development for iOS, Third Edition an update to their best-selling work. After reading and using this book, you’ll have the skills and the code to build your first 2D and then 3D game app that you can run on any iOS-enabled device.

What you’ll learn

    • Discover what’s in the new Swift 3 programming language
    • Apply Swift 3 to iOS 10 and 9 game development
    • Build a 2D game app using SpriteKit and Swift
    • Build a 3D game from 2D using SceneKit and Swift

Who this book is for

iOS app developers new to Swift or for those thinking of trying iOS game app development for the very first time.

Book Description:

Enter the Swift future of iOS and OS X programming

Beginning Swift Programming is your ideal starting point for creating Mac, iPhone, and iPad apps using Apple’s new Swift programming language. Written by an experienced Apple developer and trainer, this comprehensive guide explains everything you need to know to jumpstart the creation of your app idea. Coverage includes data types, strings and characters, operators and functions, arrays and dictionaries, control flow, and looping, with expert guidance on classes, objects, class inheritance, closures, protocols, and generics. This succinct — yet complete — overview provides a detailed introduction to the core features of Swift.

Apple developed Swift to address the limitations of Objective-C, and add features found in more complex languages like Python. The results is simpler, cleaner, more expressive code with automatic memory management, functional programming patterns, and more, including built-in features that make Swift apps faster, scalable, and more secure. This book explains it all, helping developers master Apple’s new language.

  • Become fluent with syntax that’s easier to read and maintain
  • Understand inferred types for cleaner, less mistake-prone code
  • Learn the key features that make Swift more expressive than Objective-C
  • Learn the new optional types in Swift that make your code more resilient
  • Understand the key design patterns in iOS and Mac OS programming using protocols and delegates
  • Learn how to use generics to create highly reusable code
  • Learn the new access controls mechanism in Swift

Get up to speed quickly to remain relevant and ahead of the curve.

Building Apps for macOS, iOS, and Beyond

Book Description:

Get valuable hands-on experience with Swift 3, the latest version of Apple’s programming language. With this practical guide, skilled programmers with little or no knowledge of Apple development will learn how to code with Swift 3 by developing three complete, tightly linked versions of the Notes application for the OS X, iOS, and watchOS platforms.

In the process, you’ll learn Swift’s fundamentals, including its syntax and features, along with the basics of the Cocoa, CocoaTouch, and WatchKit frameworks. This book teaches you how to use common design patterns for Swift, how to structure an application for Apple’s platforms, and how to submit working apps to the App Store.

Divided into four distinct parts, this book includes:

  • Swift 2 basics: Learn Swift’s basic building blocks and features for object-oriented development
  • OS X app development: Set up the document model, build out features, and sync data with iCloud
  • iOS app development: Use multimedia, contacts, location, notifications, and iCloud files to build a fully featured iOS Notes app
  • Advanced app extensions: Build an Apple Watch app, and learn how to debug, monitor, and test all three of your Swift apps

Developing Apps Using Swift and Xcode

Book Description:

Learn how to code for the iMac, Mac mini, Mac Pro, and MacBook using Swift, Apple’s hottest programming language.

Fully updated to cover the new MacBook Touch Bar, macOS Programming for Absolute Beginners will not only teach complete programming novices how to write macOS programs, but it can also help experienced programmers moving to the Mac for the first time. You will learn the principles of programming, how to use Swift and Xcode, and how to combine your knowledge into writing macOS programs.

If you’ve always wanted to learn coding but felt stymied by the limitation of simplistic programming languages or intimidated by professional but complicated programming languages, then you’ll want to learn Swift. Swift is your gateway to both Mac and iOS app development while being powerful and easy to learn at the same time, and macOS Programming for Absolute Beginners is the perfect place to start – add it to your library today.

What You’ll Learn

  • Master the basic principles of object-oriented programming
  • Use Xcode, the main programming tool used for both macOS and iOS development
  • See what makes Swift unique and powerful as a programming language and why you should learn it
  • Create macOS programs using Swift and Xcode
  • Apply interface principles that follow Apple’s Human Interface Guidelines
  • Take advantage of the new Touch Bar
Who This Book Is For

People who want to learn programming for the first time and for experienced programmers wanting to learn Xcode and the Mac for the first time.

Book Description:

Swift is a modern, fast, and safe programming language created by Apple. Writing Swift is interactive and fun, the syntax is concise yet expressive, and the code runs lightning-fast. Swift’s move to open source has been embraced with open arms and has seen increased adoption in the Linux platform.

Our book will introduce you to the Swift language, further delving into all the key concepts you need to create applications for desktop, server, and embedded Linux platforms. We will teach you the best practices to design an application with Swift 3 via design patterns and Protocol-Oriented Programming.

Further on, you will learn how to catch and respond to errors within your application. When you have gained a strong knowledge of using Swift in Linux, we’ll show you how to build IoT and robotic projects using Swift on single board computers. By the end of the book, you will have a solid understanding of the Swift Language with Linux and will be able to create your own applications with ease.

What you will learn

Install Swift on the Linux platform
Explore the power of the Swift language
Get to know the proper design techniques
Understand Swift’s new Core Library
Implement popular design patterns with Swift
Integrate C libraries with Swift