CMSI 2022
Mobile Application Development
Spring 2022
- 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
-
We continue to live in very fluid and dynamic circumstances—make sure to
follow
the university’s pandemic portal
for the latest news, updates, and policies—to which this class must, of
course, adhere
Assignments
-
Assignment 0210
Standalone mobile app
Setup
-
Assignment 0310
extended to 0314
Generic API-backed mobile app
Setup
-
Acquire your own
“APIdex”
for personal experimentation and exploration (it’s labeled as an
“assignment” in GitHub Classroom but it’s really just a private space
which demonstrates how to communicate with web services from within a
SwiftUI iOS app)
-
This Prezi provides an
overview of API-backed applications
-
The non-web page parts of
Dr. Toal’s Invoking Web APIs
page also lay some initial groundwork
-
Dr. Toal’s REST
page gets a little more technical and in-depth, if you’re interested
-
You will likely want to install and get to know
Postman
in order to explore APIs firsthand. They also offer a web version if
you prefer not to download anything but you’ll have to sign up for an
account
-
For SwiftUI specificity, this
Hacking with Swift tutorial
provides an introductory walkthrough. Once you’ve mastered that,
this one covers more sophisticated requests. Both pages are part of an
overall SwiftUI app tutorial
for developing something that interacts with a web service
-
Assignment 0405
extended to 0411
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
-
Unlike APIdex, 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 0505
Your own mobile app
Setup
-
Dr. Toal’s
Project Ideation
page adds structure to an otherwise open-ended process
-
Beyond this course: if you remain interested in iOS mobile app
development, strongly consider connecting to
WWDC 2022
from June 6–10, 2022
-
Student opportunity: WWDC 2022 includes the
Swift Student Challenge—yes, the challenge requires a Swift Playgrounds app and the
contest deadline overlaps with our final app assignment, so you will
need to either work on a separate project at the same time or come up
with a project that fulfills both the challenge and
assignment requirements…still, may be worth it, right?
Course Content and Useful Links
-
Clean code notes
from Dr. Toal
-
Swift/SwiftUI development (to download and install)
-
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
-
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