Never tell people how to do things. Tell them what to do and they will surprise you with their ingenuity. – G.S. Patton, Jr., War As I Knew It, 1947

In this lab, you’ll continue work on programming and meet with your team.

Building User Experiences with React Native

Work in teams of two for this exercise.

Exercise 4.1

Build a multiple-page application using React Navigation as follows.

  1. Build the two-page application specified in these early sections of the React Navigation tutorial.
    • “Getting starting” — Create a new Expo application (cf. lab 1) and install React Navigation as explained here.
    • “Hello React Navigation” — Do this section as written. Be sure to install all the required libraries: @react-navigation/native; @react-navigation/native-stack; react-native-screens; react-native-safe-area-context.
    • “Moving between screens” — Do this section as written.
    • “Passing parameters to routes” — Do only the first section here, stopping before “Updating params”.

    When the tutorial application is running, create a text file (README.md) in the root of your lab directory that documents the application and includes one-sentence or one-phrase answers to the following:

    1. What React construct is used to implement separate pages of an application (cf. separate webpages on the Web)?
    2. What is the React Navigation concept that is analogous to a URL/URI on the Web?
    3. The onPress event handler for the home screen component is specified as () => navigation.navigate('Details'). Can we just say navigation.navigate('Details')? Why or why not?
  2. Update the application to list some movies and provide details for them using the new implementations of the screen components found here.

    When the updated application is running, add one-sentence or one-phrase answers to the following to the README.md:

    1. Explain how the hard-coded movie list is presented as a list of titles on the homepage.
    2. Explain how the details screen presents the details of a single movie.

Submit this application by pushing it to your cs262 repo.

Working with your Team

Meeting with Your Stakeholders

Following each sprint, your team will meet with it’s peer stakeholders to discuss your progress. The stakeholders include us and selected members from other teams (see the “Team Stakeholders” list in Moodle).

Exercise 4.2

Make sure that your stakeholders have access to your team materials.

In this week’s team meetings, we focus primarily on your project vision.

Exercise 4.3

Participate in the following two meetings:

Each project team should have one team member give a one-minute project-pitch presentation to us and their stakeholders.

Build user stories based on your stakeholders true needs and desires.

Exercise 4.4

Meet with your teammates to write user stories for your project. Focus on completing the stories required for this sprint.

Checking In