/Season2

Roadmap for MobileSpace Season 2

MobileSpace

Background

MobileSpace was started in Fall 2016 due to the lack of an iOS course in the CS cirriculum @ SF State. Hence the primary objective of MobileSpace was to help fill this knowledge gap and enable students to learn and discover their passion for building mobile apps.

The course lasted for 3 months, and at it’s peak the community was 15 members strong. Six students successfully completed the iOS course, and they attended all 12 meetups (1 meetup every weekend). Lastly, one alumni is currently working as a full-time iOS Engineer in SF, and three others are pursuing a career in iOS development.

To hear my journey and learn more about MobileSpace, read my blog post here.

Since then, I have have been doing a lot of cross-platform mobile development with React Native and have mostly good things to say about it. Most notably I maintain the popular React Native Elements repo which is the most starred UI Toolkit for React Native. Additionally you can see some of my other React Native work here.

Recently, a few students at SF State expressed an interest in learning React Native, and that made me decide to do MobileSpace Season 2. And this time I would be teaching React Native instead of iOS development.

Why React Native?

I have heard of React Native as a good alternative to Swift. Since you are offering this React Native course and as someone that's worked professionally with React Native.. what do you think about it?

Why should I learn React Native instead of Swift?

Here's my tldr;

  • share 90% of the codebase between iOS & Android; (saves a ton of engineering time & resources)
  • write mobile apps with JS (easier for web devs who already know JS)
  • a more active developer ecosystem (the React ecosystem in general)
  • wide adoption by major tech companies (Tesla, FB, IG, Airbnb etc)

Also there are lot of really good medium posts talking about exactly this: native dev vs react native. Here are some good posts that I'd def recommend reading that helps to puts this in perspective.

Season 2 - Looking ahead

This readme serves as the roadmap for MobileSpace Season 2. In it are outlined the course objectives, weekly meetup assignments and most importantly a beginner friendly curriculum to learn professional React Native development.

Housekeeping

  • 1 meetup/week for 3 months - Feb 3rd => Apr 29th 2018
  • Meetup day & time - Sunday 12-2pm @ SF State Library
  • Any community member that misses two consecutive meetups will be asked to leave the community due to lack of commitment.

Course Objective

To make sure that all community members learn professional mobile development as well as general software engineering skills in turn preparing them to land an summer internship or a full-time software engineering position on their own.

Also it's not just about the technical skills that are taught during the course, but it's also about developing the right midset and ability to think through a technical problem, product spec as well as working in a team setting.

Learning objectives

The following learning patterns will be re-enforned throughout the course:

  • Even though this is a beginner friendly course, we will not delve into the basic theoretical concepts of Javascript, React etc. Instead we will take a very practical approach to learning and jump head first into HelloWorld projects and then start filling in the knowledge gaps as they come up.
  • We will try to build production ready apps & uses cases that can be showcased on your portfolio. (This is to say that we will not just build dummy apps for the sake of it)
  • Collaboration is key. Be respectful of your peers and the community you are part of and be willing to help others and foster an environment of learning.
  • Working in teams - each week, you will be paired up with another person and it's your responsibility to work on assignments independenly yet work together to resolve any problems that come up or ask questions on Slack.

Roadmap

Meetup #1

  • Course Introduction
  • Intro to Github, Javascript (JSX) and React

Resources

ASSIGNMENT #1


Meetup #2

  • Learning React state, props and functions; Intro to CSS styling (flexbox)

ASSIGNMENT #2


Meetup #3

  • Intro to React Native, Expo and CRNA; Intro to RN styling (flexbox)

ASSIGNMENT #3


Meetup #4

  • Learning React Native API's and advanced styling; Intro to NPM libraries

ASSIGNMENT #4


Meetup #5

  • Intro to React Navigation

ASSIGNMENT #5


Meetup #6

  • Learning React Navigation; Create Login & Logout screens with navigation auth
  • BONUS Intro to RN Animations

ASSIGNMENT #6


Meetup #7

  • Intro to Express, Node.js; Building a backend for mobile apps

ASSIGNMENT #7


Meetup #8-12

  • Built a full stack mobile app with RN + Express

GROUP PROJECT

Feedback

If you see any typos or have suggestions on how this roadmap can be improved, kindly open a new issue and let us know. Or if you like what you see and would like to find out more details about it, email Monte Thakkar @ helloomonte@gmail.com