Mobile App Development 2022W Lecture 12
Video
Video from the lecture given on February 18, 2022 is now available:
Video is also available through Brightspace (Resources->Zoom Meetings (Recordings, etc.)->Cloud Recordings tab). Note that here you'll also see chat messages.
Notes
Lecture 12 ---------- Assignment 2 - Official due date will be moved to midnight on Feb 28th - will be accepted until March 2nd 11:30 AM - BUT, if you want your A2 graded before the midterm, you should submit by midnight on February 23rd (roughly), will be grading on the 24th. (Will adjust brightspace after class.) Midterm review on March 2nd Midterm on March 4th - in class - short answer - same format as assignments - submit a text file - just will be made available at 11:30 and you'll need to submit by 1:30 - which is long, will try to make it more of an 80 minute test - after midterm is graded, there will be randomized interviews - you can request an interview - in interview, we'll review the marking of your midterm - if you think a question deserved more points, schedule an interview Midterm is based on Assignments 1 & 2 - so if you understand those well, you should be fine - NOTE, getting code to work != understanding the material! - test is open book/open note, but you won't have time to look up much stuff - should have a good mental model going into class Note that Tutorial 5 isn't in Assignment 1 or 2 - but it is worth spending some time on it before the midterm, as understanding it will help you understand SwiftUI Interviews will be scheduled through an excel sign-up sheet on Teams A1 marks will come out over the break If you are asked to do an interview, it is mandatory - but I won't interview everyone Note how updates to the text entry field vary from SwiftUI, Storyboard, and Android - SwiftUI: mostly implicit through state variables - Storyboard: explicit, but directed from the Storyboard through "Send Events" and @IBOutlet/@IBAction - Android: explicit, directed from Kotlin code - look up references to UI widgets - add a TextListener class so we can see changes - call updateAnalysis when things change Note that you don't have direct control over screen updates in SwiftUI - you don't hand optimize, it does it for you - less control, but less code, more checking, and fewer bugs SwiftUI essentially forces "best practices" architecture in terms of coordinating application state and what's on the screen - you can follow similar patterns in Storyboard and Android, but you have to be very careful to avoid making mistakes and nothing in the dev environment will prevent the mistakes, just your debugging