Anyone Can Create an App
Beginning iPhone and iPad programming
Wendy L. Wise
  • MEAP began April 2015
  • Publication in March 2017 (estimated)
  • ISBN 9781617292651
  • 350 pages (estimated)
  • printed in black & white

Anyone Can Create an App is based on the lofty premise that anyone can begin programming given the right tools and the right help. With some time set aside and the course-work in this book, you will be able to program your first, fully working iPhone or iPad Application, and you'll wonder why you never did it before!

Anyone Can Create an App provides the EASY starting point for those people who have never programmed before but who always wanted to build iPhone and iPad apps. It starts with the absolute basics and progresses without leaving gaps so that the non-technical person can feel confident going from green to full-grown. You will create several apps for your iPhone and get a huge sense of accomplishment along the way. The book also demystifies some of the "insider terms" that programmers use.

Table of Contents detailed table of contents

Part 1 Your Very First App

1. Getting started

1.1. The big picture – iPhone and iPad development

1.1.1. Am I developing or programming?

1.1.2. Objectively Swift

1.1.3. Apps you will create

1.2. How to learn and what you need to remember

1.2.1. Understanding Key Concepts

1.2.2. Syntax

1.2.3. Pseudocode

1.3. What it takes to create apps for iPhones and iPads

1.3.1. You're going to need a Mac

1.3.2. Xcode: the iPhone and iPad development environment

1.3.3. Helpful Resources

1.4. Summary

2. Building your first app

2.1. Launching Xcode for the first time

2.2. Setup your project options

2.3. Building the Hello World App

2.4. Adding the "Hello World" text

2.5. Running your first application

2.6. What you accomplished

2.7. Summary

3. Your first app explained

3.1. Xcode Templates – Explained

3.2. Understanding the Single View Application

3.3. A label defined

3.4. The simulator defined

3.5. Summary

4. Learning more about your development tools: Xcode

4.1. Finding your way around Xcode – without a flashlight

4.1.1. Xcode panels explained

4.1.2. Navigator

4.1.3. Standard editor

4.1.4. Utility Panel

4.1.5. The Navigation Panel

4.1.6. The Standard Editor

4.2. Buttons Explained

4.3. Making it yours

4.4. Summary

5. Capturing users' actions: adding buttons

5.1. Adding a label and a button

5.2. Changing how the label appears

5.3. Summary

6. The button app explained

6.1. The button explained

6.1.1. Creating outlets – or – how do I contact Butch?

6.1.2. Creating actions

6.1.3. Is Xcode clairvoyant?

6.1.4. User Interfaces and the front end of apps

6.2. Documentation

6.3. Commenting: You can never be too wordy, can you?

6.3.1. Comments really are your friend

6.3.2. How to comment your code

6.4. Summary

7. Capturing user's ideas: adding text boxes

7.1. Adding Text Boxes

7.2. Connecting the User Interface to the Code

7.3. Chunking up the code

7.4. Summary

Part 2 The keys to the city: understanding key development concepts

8. Playing on the Playground

8.1. The Swift Playground – learning to interact with others

8.2. Frameworks

8.3. Types of Variables

8.3.1. Not your shoe strings

8.3.2. Going back to math class

8.3.3. Double, double toil and trouble

8.4. Summary

9. Go with the flow, man! Controlling the flow of your app

9.1. Control your flow

9.2. If you do that again, I'm going to…

9.3. If you do that or if you…then I'm going to…

9.4. If you do that AND you do this, I will…

9.5. If you do this, else if you do this, else if you do this…

9.6. If you do that, otherwise!

9.7. Summary

10. While You're Doing That…

10.1. The While Statement to Control Your Code

10.1.1. The While statement in action

10.1.2. Wrapping up the while statement discussion

10.2. Turn around now switch (Remember Will Smith?)

10.2.1. Assignment

10.3. How many fingers am I holding up?

10.3.1. Add the Components to the storyboard

10.3.2. Making the connections

10.3.3. Create a variable named "numberGuessed"

10.3.4. Changing the numberGuess variable when the stepper is clicked

10.3.5. Connecting the Guess button

10.4. Summary

11. Collections: No need to pass the plate

11.1. Quantum Arrays: Not really, but that sounds scary, right?

11.2. The for statement and loop

11.3. Dictionaries

11.4. Creating a state name lookup app

11.4.1. Create an app named StateAbbreviationLookup

11.4.2. Add the UI components to the storyboard

11.4.3. Connect the UI components to the code

11.4.4. Create the dictionary of state abbreviations and names

11.4.5. Create the code to complete the lookup

11.5. Summary

12. Telling Stories with Storyboards

12.1. Storyboards

12.2. Creating an example Storyboard app

12.2.1. Create the new app

12.2.2. Add a second scene to the app

12.2.3. Add a navigator bar

12.3. Segue Animation Types

12.4. Summary

13. View Controllers in Depth

13.1. Inheritance

13.2. The Override keyword

13.3. View Controller Lifecycles

13.4. The Lifecyle App

13.4.1. Create a new project called Lifecycle

13.4.2. Add a second View Controller

13.4.3. Create an unwind segue

13.4.4. Override the 5 functions

13.4.5. Run the app to watch the lifecycle go by

13.5. Summary

14. Put in on my tab – creating tab bars

14.1. The Tab Bar Controller

14.1.1. Create a new app

14.1.2. Delete the existing Scene

14.1.3. Add a Tab Bar Controller to the Storyboard

14.1.4. Add some labels to the tabs

14.1.5. Add a third tab to the app

14.2. Summary

15. Table Views: More than a coffee table picture book

15.1. Delegation

15.1.1. Making pizza from scratch

15.1.2. Delegating pizza making

15.2. Protocols

15.3. Datasources

15.4. Creating a TableView app

15.4.1. Create the app

15.4.2. Add a table view to the ViewController

15.4.3. Set up the prototype cell

15.4.4. Set the UITableView Protocols

15.4.5. Create the datasource for Pizza Ingredients

15.4.6. Connect the data to table to display the rows of data

15.5. Summary

16. Patterns: Learning to Sew

16.1. Design Patterns defined

16.2. Types of Design Patterns

16.2.1. Model-View-Controller Design Pattern

16.2.2. The Delegate Design Pattern

16.2.3. The Momento Design Pattern

16.3. Summary

Part 3 Create the Like it or Not! App: on your own

17. Putting it all together: The LioN app

17.1. Like it or Not

17.2. Getting started

17.2.1. Add a Navigation Controller to the Storyboard

17.2.2. Add an iPad simulator to Xcode

17.2.3. Connect the Table View to the View Controller

17.2.4. Implement the functions for table views

17.3. Summary

18. Adding Data to Your LioN

18.1. Adding Hard Coded Data to Your LioN

18.1.1. Create an array of dummy data

18.1.2. Wire the lionData to the tableView

18.2. Adding a model to the mix

18.2.1. Add a new file to the project

18.2.2. Model the data

18.2.3. Create a new lion entry

18.2.4. Create a new lion entry

18.3. Changing the layout of the table cell

18.3.1. Update the Storyboard

18.3.2. Update the subtitle label

18.4. Summary

Part 3 Create the Like it or Not! App: on your own

19. Displaying Details of Your LioN

19.1. Capture the tapped row index

19.2. Add a detail page to the Storyboard

19.2.1. Add a View Controller to the Storyboard

19.2.2. Create a new ViewController Class

19.3. Passing data to the DetailViewController

19.3.1. Prepare the DetailViewController to accept the Lion

19.3.2. Update the MainViewController to pass data

19.4. Summary

20. Creating the details of the detail view

20.1. Add some labels to our Detail screen

20.2. Adding new Lions to the list

20.2.1. Add the plus button to the view

20.2.2. Create the Add Item function

20.2.3. Add hard-coded values to the Lion list

20.2.4. Deleting Lions from the list

20.3. Summary

21. The AddEdit View Scene

21.1. Creating a new detail view

21.1.1. Add a new Table View Controller

21.1.2. Add a new AddEditViewController Class

21.1.3. Hook up the Cancel and Done buttons

21.1.4. Checkpoint

21.2. Adding new Lions

21.2.1. Don't allow the cell to be selected

21.2.2. Set the keyboard behaviors

21.2.3. Dismiss the keyboard on user tap

21.3. Summary

22. Delegates are everywhere

22.1. Connecting Our Views

22.1.1. Implement the protocol

22.1.2. Updating our cancel and done actions

22.1.3. Capture the user input

22.2. MainViewController conformance

22.3. Adding the lion object to the lion array

22.3.1. Change the done button properties

22.4. Setting the like and dislike property

22.5. Summary

23. Editing LioNs

23.1. Editing existing Lions

23.1.1. Set up the AddEditViewController to accept a Lion object to edit

23.1.2. Fill in the text boxes with the LioN name and description

23.1.3. Show whether the LioN is liked or disliked

23.1.4. Pass the Lion object to the Add/Edit controller

23.1.5. Save the Lion when the user hits done, but not create a new Lion

23.2. Summary

24. Saving LioNs

24.1. Playing in the sandbox

24.2. Saving your data

24.2.1. Change the class definition for the Lion object

24.2.2. Encode the data for saving

24.2.3. Decode the data for loading

24.2.4. Add Load functionality to MainViewController

24.2.5. Add Save Functionality

24.3. Testing the load and save functionality

24.4. Summary

25. Make your LioN prettier

25.1. Basic fixes

25.1.1. Adding the like and dislike images

25.1.2. Toggle the images based on selection

25.1.3. Setting Images on the Cells

25.2. Adding an Icon

25.3. Update the Launch Scene

25.4. Summary

26. Working with Auto Layout

26.1. Changing the Layout to Work for All Screen Sizes

26.1.1. Make Changes to the AddEditView Scene

26.1.2. Change the Layout for Cells on the Main Scene

26.2. Summary

27. Search Your LioNs

27.1. Adding the Search Functionality

27.2. Filtering the LioNs based on user input

27.3. Searching Other Fields

27.4. Summary

27.5. Where do you go from here?


Appendix A: Installing Xcode and Apple developer registration

A.1. Downloading Xcode

A.2. Apple requirements for iPhone and iPad development

Appendix B: Running Your App on Your Device

What's inside

  • Get started programming with Swift, no experience necessary!
  • Build several iPhone apps as you progress through the book
  • Learn Swift - Apple's new, easy to learn language
  • Short, easy to digest chapters with multiple "aha!" moments
  • Come away with an understanding of software terms and some real-world development experience
  • Use the Xcode development environment (IDE) to make app design simple
  • Gain basic knowledge of iPhone and iPad programming, as well as the tools to research and learn more on your own.
  • For non-technical, non-programmers. No prior programming experience necessary!

About the reader

The Swift programming language is an ideal first language. Non-programmers can finally learn to code in iOS for iPhones and iPads without prior knowledge. ANYONE can create an App!

About the author

Wendy Wise has served as a Director of Software Development, a Senior Product Manager for international mobile applications, and a hands-on developer for web and mobile technologies. She has a talent for explaining complex technical ideas in non-technical terms and holds an MBA from the Georgia Institute of Technology's Scheller College of Business.

Manning Early Access Program (MEAP) Read chapters as they are written, get the finished eBook as soon as it’s ready, and receive the pBook long before it's in bookstores.
MEAP combo $29.99 pBook + eBook
MEAP eBook $23.99 pdf + ePub + kindle

FREE domestic shipping on three or more pBooks