Coding iPhone Apps for Kids: A Playful Introduction to Swift
336Coding iPhone Apps for Kids: A Playful Introduction to Swift
336Paperback
-
PICK UP IN STORECheck Availability at Nearby Stores
Available within 2 business hours
Related collections and offers
Overview
You’ll work in the Xcode playground, an interactive environment where you can play with your code and see the results of your work immediately! You’ll learn the fundamentals of programming too, like how to store data in arrays, use conditional statements to make decisions, and create functions to organize your code—all with the help of clear and patient explanations.
Once you master the basics, you’ll build a birthday tracker app so that you won’t forget anyone’s birthday and a platform game called Schoolhouse Skateboarder with animation, jumps, and more!
As you begin your programming adventure, you’ll learn how to:
–Build programs to save you time, like one that invites all of your friends to a party with just the click of a button!
–Program a number-guessing game with loops to make the computer keep guessing until it gets the right answer
–Make a real, playable game with graphics and sound effects using SpriteKit
–Challenge players by speeding up your game and adding a high-score systemWhy should serious adults have all the fun? Coding iPhone Apps for Kids is your ticket to the exciting world of computer programming.
Covers Swift 3.x and Xcode 8.x. Requires OS X 10.11 or higher.
Product Details
ISBN-13: | 9781593277567 |
---|---|
Publisher: | No Starch Press |
Publication date: | 05/15/2017 |
Pages: | 336 |
Sales rank: | 674,011 |
Product dimensions: | 6.80(w) x 9.00(h) x 1.00(d) |
Age Range: | 10 - 13 Years |
About the Author
Matt McCarthy has released more than 20 apps as part of a two-person team, Tomato Interactive LLC. He works as a software engineer at LumiraDx.
Table of Contents
Acknowledgments xvii
Introduction xix
Who Should Read This Book? xx
What's in This Book? xx
The Companion Website xxi
Have Fun! xxi
Part 1 Xcode and Swift
1 Hello, World! 3
Installing Xcode, Your Code Editor 4
Your First App! 5
Introducing the Storyboard 9
Adding User Interface Elements with the Object Library 10
Saving Your Work 13
Running the App on a Real Device 14
What You Learned 16
2 Learning to Code in a Playground 17
Constants and Variables 19
When to Use Constants vs. Variables 21
Naming Constants and Variables 22
Data Types 22
Declaring Data Types 23
Common Data Types 24
Type Inference 25
Transforming Data Types with Casting 26
Operators 27
Order of Operations 30
Ordering Operations with Parentheses 30
Compound Assignment Operators 31
What You Learned 33
3 Making Choices 35
Boolean Expressions 36
Is Equal and Is Not Equal 36
Greater Than and Less Than 37
Compound Boolean Expressions 38
Conditional Statements 40
If Statements 40
Switch Statements 44
What You Learned 45
4 Writing Code that Loops 47
Open the Debug Area 48
Looping Through Ranges and Collections with for-in 48
Say Hello! 48
Say Good Morning! 50
Testing Conditions with while Loops 50
Guess My Number 51
Shrink Away 52
Which Loop to Use? 53
Nesting and Scope 54
Nesting Blocks of Code 54
Constant and Variable Scope 55
What You Learned 57
5 Keeping Your Programs Safe with Optionals 59
What Is an Optional? 60
Creating Optionals 60
Unwrapping Optionals 61
A Special Kind of Operator: ?? 65
What You Learned 65
6 Storing Collections in Dictionaries and Arrays 67
Keeping Things in Order with Arrays 67
Using Mutable and Immutable Arrays 68
Using Type Inference 69
Accessing Items in an Array 69
Watching the Range 69
Adding Items to an Array 70
Combining Arrays 71
Removing Items from an Array 71
Replacing Items in an Array 72
Using Array Properties 73
Looping Over an Array 74
Dictionaries Are Key! 75
Initializing a Dictionary 75
Accessing Values in a Dictionary 76
Adding Items to a Dictionary 77
Removing Items from a Dictionary 77
Replacing Items in a Dictionary 77
Using Dictionary Properties 78
Looping Over a Dictionary 78
What You Learned 79
7 Functions are a Party, and You're Invited 81
In with the Input, Out with the Output 81
Writing a Custom Function 82
Functions Do Even More with Input Parameters 84
Making Party Invitations 84
Inviting All Your Friends at Once 86
Messaging Your Guests 87
Argument Labels 89
Adding a Custom Argument Label 90
Removing an Argument Label 90
Return Values 91
Which Is the Bigger Box? 91
Conditional Returns 92
What You Learned 93
8 Custom Classes and Structs 95
Making a Class 96
Writing a Class Definition 96
Storing Information in Properties 97
Creating an Instance of a Class 98
Accessing the Properties of a Class 98
Customizing Each Cake with Initializers 100
Adding a Birthday Greeting Method 103
Writing a Helper Method 104
A Special Property Called self 106
Class Inheritance 108
Creating a Superclass 108
Creating a Subclass 109
Detecting the Data Type by Typecasting 110
Refining the Data Type by Downcasting 113
Value Types and Reference Types 114
Using Structs 117
What You Learned 118
Part 2 Birthday Tracker
9 Creating Buttons and Screens on the Storyboard 121
An Outline of Your App 122
Creating a New Xcode Project 122
Adding the App Icon 125
Displaying Your Friends' Birthdays 126
Adding the Table View Controller 127
Adding the Navigation Controller 129
Adding a Button 130
Setting Up Control Inputs and Labels 133
Adding Your Friends' Names and Birthdays 133
Making Your App Look Perfect on Every Device with Auto Layout 138
Adding Save and Cancel Buttons 139
What You Learned 140
10 Adding a Birthday Class and Handling User Input 141
The Birthday Class 142
Creating a New File 142
Writing the Birthday Class 144
Programming User Input 144
Creating the Add Birthday View Controller 145
Connecting Code to the Input Controls 146
Connecting Your Code to the Storyboard 147
Setting a Maximum Birthdate 149
Saving a Birthday 150
Hooking Up the Save Button 150
Reading Text from a Text Field 151
Getting a Date from a Date Picker 152
Creating a Birthday 153
Adding the Cancel Button 153
What You Learned 154
11 Displaying Birthdays 155
Making the Birthday List 155
Creating the Birthdays Table View Controller 156
Adding Cells to the Table View 158
Setting Up the Birthdays Table View Controller 161
Displaying Birthdays in a Table View 162
Putting It All Together 166
Delegation 166
Connecting the Two Controllers by Setting a Delegate 171
What You Learned 172
12 Saving Birthdays 173
Storing Birthdays in a Database 173
The Birthday Entity 174
The Birthday Attributes 175
The Application Delegate 177
Code Cleanup 182
Adding More Features to Our App 185
Alphabetizing Birthdays 185
Removing Birthdays 186
What You Learned 189
13 Getting Birthday Notifications 191
The User Notifications Framework 191
Registering for Local Notifications 192
Scheduling a Notification 194
Removing a Notification 199
What You Learned 200
Part 3 Schoolhouse Skateboarder
14 Setting the Stage 203
Where Do I Get Art and Sound Effects? 204
Making Games with Xcode's SpriteKit 204
Creating the Game Project 205
Adding Images 206
The Scenery: Displaying a Background Image 207
How It Will Be Played: Screen Orientation 211
Sizing Images for Different Screen Resolutions 213
What You Learned 216
15 Making Schoolhouse Skateboarder a Real Game 217
Our Hero, the Skateboarder 217
Creating a Skater Sprite Class 218
Importing SpriteKit 218
Adding Custom Properties to the Skater Class 218
Creating an Instance of the Skater in the Scene 219
Setting Up the Skater 220
Seeing the Skater on the Screen 222
Understanding SpriteKit's Debugging Information 223
Hittin' the Bricks 224
Creating Sidewalk Bricks 224
Updating Sidewalk Bricks 226
Filling the Screen with Bricks 228
Leaving Gaps to Jump 229
The Game Loop 231
Tracking the Update Time 231
Calculating Elapsed Time for Each Update 231
Adjusting Scroll Speed Using the Elapsed Time 232
Updating the Bricks 233
Up, Up, and Away-Making the Skater Jump 234
Using a Tap Gesture Recognizer 234
Simulating Gravity in a Simple Way 235
Checking for Landings 237
What You Learned 238
16 Using the Spritekit Physics Engine 239
Setting Up the Physics World 240
Physics Bodies 241
Giving Shape to the Physics Bodies 241
Setting Properties of Physics Bodies 242
Giving the skater Sprite a Physics Body 244
Adding Physics Bodies to Bricks 245
Contacts and Collisions 246
Handling Contacts and Collisions 246
Responding to Contacts 249
Applying Forces to Physics Bodies 250
Starting and Ending the Game 251
Starting the Game 251
Ending the Game 254
What You Learned 255
17 Adjusting Difficulty, Collecting Gems, and Keeping Score 257
Speeding Things Up 257
Adding Multilevel Platforms 258
Defining Multiple Brick Levels 259
Changing How Bricks Spawn 260
Adding Gems to Collect 262
Spawning and Tracking the Gems 262
Deciding When to Spawn a Gem 264
Removing Gems 264
Updating Gems 265
Collecting Gems 267
Adding Scoring and Labels 268
Creating Labels 268
Tracking the Score 272
Updating Labels 273
Updating the Player's Score 274
Making the Gems Valuable 275
Tracking the High Score 276
Tweaking the Gameplay 277
What You Learned 278
18 Game State, Menus, Sounds, and Special Effects 279
Tracking Game State 280
Adding a Menu System 282
Creating the MenuLayer Class 282
Displaying the Menu Layers When Needed 286
Removing the Menu Layer 288
Making Sounds 289
Adding the Sound Files 289
Playing the Sounds at the Right Time 290
Shooting Sparks 291
What You Learned 297
Resources 299
Troubleshooting Errors 300
Apple Documentation 300
Xcode Keyboard Shortcuts 301
iOS Simulator Keyboard Shortcuts 302
Xcode Versions 303
Index 305