CMSI 2022
Mobile Application Development
Spring 2024
- Note
-
This page is maintained as an archival record of the course shown above,
and as such, some links on this page may no longer be valid nor
accessible. They are kept here as a record of the resources that were
available at the time of the course offering.
-
Brightspace: Where you can access private content and check your grades
-
We will use
GitHub Classroom
to manage and submit assignments
-
Every now and then we may use
Socrative
to ask or answer questions as a class—my Socrative room is
DONDILMU
Assignments
-
Assignment 0131
Standalone mobile app
Setup
-
Use the official
Swift Tour
to get started with the Swift programming language
-
Take the
Introducing SwiftUI tutorial
to completion (note the estimated time—this does fit the
expected workload between the start of class to the due date)
-
Follow the
Unifying your GitHub and Xcode repositories instructions
to merge the Xcode project with the GitHub Classroom repo
- Morph the tutorial code into your own “list of stuff” app
Student opportunity: If you’re a quick study, check out the
Swift Student Challenge—yes, the challenge requires a Swift Playgrounds app and the
contest deadline is pretty darned early in the semester, so you will need
to get ahead of things pretty quickly…still, may be worth it, right?
-
Assignment 0221
Generic API-backed mobile app
Setup
-
Assignment 0325
Firebase-backed mobile app
Setup
-
Get going hands-on with
“BareBonesBlog”—another “assignment” in GitHub Classroom that is actually a sample
project from which you can start learning Firebase
-
Like the APIdex Giphy portion, BareBonesBlog does not work right out
of the box: to introduce you to Firebase, you will need to follow the
instructions in the README—to be walked through in class—in order to
get it up and running
-
The
Firebase website
is of course the authoritative site for all things Firebase
-
The non-web aspects of
Dr. Toal’s Firebase
page provides additional background and links
-
Firestore, which is one of the databases available for use with Firebase, is
an entire subsystem in itself. In addition to its main website, a
Getting to Know Cloud Firestore
YouTube playlist is available
-
Assignment 0430
Your own mobile app
Setup
-
Dr. Toal’s
Project Ideation
page adds structure to an otherwise open-ended process
-
Review & renew!
A new set of Swift development tutorials
has been released—perfect timing to gear up for this last app of the
semester
-
Beyond this course: if you remain interested in iOS mobile app
development, strongly consider connecting to
WWDC 2024
from June 10–14, 2024
Course Content and Useful Links
-
Run-on-device checklist:
- Have the right cable (typically USB to Lightning)
-
Have an Apple ID and tell Xcode in Preferences > Accounts
-
Upon connecting your device, it should appear in the device dropdown
and you should be able to run on it
-
Activate “Developer Mode” on your device in
Settings > Privacy & Security
-
You may need to do “one more thing:” visit your device’s
Settings > General > VPN & Device Management section to state
that you trust the app’s developer
-
One more “one more thing:” if you get an error message that complains
about the version of your iOS device, you can adjust the
deployment target of your project by clicking on the
uppermost node in the project tree (the one with your project name and
the blue app icon), going to the Info tab, clicking on the
PROJECT icon (again, the one with your project name and the
blue app icon), and choosing an iOS Deployment Target that is
the same as or lower than the version on your iOS device
-
Clean code notes
from Dr. Toal
-
Swift/SwiftUI development
-
A great resource for people who already know another programming
language (you!) and would like to pick up Swift:
A Swift Tour—this pairs perfectly with the next item…
-
For pure Swift language practice on a web browser,
replit has you covered
-
And finally, where all the action ultimately happens:
Xcode
-
git warmup/refresher:
This link gives you
a repository with notes and documentation about git and GitHub,
authored by GitHub. You can also use that repository to practice
git commands
-
Their phone, their rules:
iOS Human Interface Guidelines
-
Developer documentation and resources from the mother ship
-
Third-party iOS development resources—these are great supplements,
but just note that they may not be completely up to date. This stuff
changes fast, so be aware of when a resource got published
-
Stanford University was one of the first universities to offer formal
training in iOS (hey they’re Stanford), and
some of that content
is available publicly
-
Hacking with Swift
offers a range of tutorials and recipes for both learning and getting
specific things done
-
Kodeco
(formerly raywenderlich.com) hosts both free and subscription
content
-
Cocoa Dev Central
is likelier to be outdated than not, but there may still be some
focused tidbits here that will help