Objective

To begin implementing the view layer of the app you have chosen to build this year.

Requirements

TIP

During the planning and implementation phases, you may refer to SwiftUI Views Quick Start, prior code you have written, and the course website.

You may not make use of a large language model or other AI tools. You may not communicate with other students while coding.

Thinking

  • From your app prototype made in Sketch earlier this year, working in class with a screenshot of a view selected by Mr. Gordon, you will author a rough plan, showing what stacks (H, V, and Z) and other views you plan to use.

For example, if this was the interface selected by Mr. Gordon, a plan with suitable levels of detail looks like this:

TIP

If your own app prototype from last mod was incomplete – this applies to only a small number of students – Mr. Gordon will assign an interface from a different app for you to implement.

Application

  • In Xcode, without assistance from peers or AI tools, implement your plan for a given view in code.
  • Make appropriate use of source control, committing and pushing your work regularly.

For example, a largely successful, if not completely perfect, implementation of the same view discussed above might look like this:

Effective of use of source control is shown through regular commits made with descriptive messages:

Communication

  • Record and submit a maximum one-minute screencast explaining how one or both of your views makes use of custom subviews to reduce duplicated code while allowing different content to be displayed.
    • Be certain you make reference to parameters and arguments in your explanation.

Timing and due dates

First class

Complete one plan, and one view implementation, as described in the Thinking and Application sections above.

Before you start, submit your remote repository link to Mr. Gordon here. We will also discuss how to do this at the start of the first class.

Second class

Repeat the same process, this time with a different view.

Complete one plan, and one view implementation, as described in the Thinking and Application sections above.

TIP

Mr. Gordon will grade only the better of your two results across the first and second class, ignoring whichever day was less successful.

Third class

Record and submit your one-minute screencast.

Submitting your work

Paper plans will be collected by Mr. Gordon at the end of the first and second classes.

Code will be submitted by committing and pushing to a remote on GitHub – you will send the repository link to Mr. Gordon through a Google form.

Your screencast will be submitted to Mr. Gordon through this Google form.