Git Product home page Git Product logo

mobile-crash-course's Introduction

Mobile Crash Course

Crash course for engineers in Wix to start working on the mobile stack. Split into 5 days.

Before starting the crash course, you should familiarize yourself with some basic concepts. Feel free to skip the parts you already know.

Installation prerequisites

Ensure that you fulfill all required environment setup and software prerequisites before starting the training.

  • Xcode 9.0 (or later)
  • Android Studio latest version
  • Android SDK
  • JS IDE - WebStorm/VSCode..
  • Detox
  • AppleSimulatorUtils
  • NVM
  • NPM

This is the first official day of the crash course. We will start with introduction of the React Native framework and it's internals and later dive into different derivations of Flux design pattern.

We will start from a talk about navigation solutions in React Native and continue some hardcore coding in TDD. It's not easy but once you nail a TDD workflow, the rewards are significant.

After understanding Wix OneApp's multi-module architecture and understand our the delivery process, we'll experiment with UI automation testing (E2E) and try to test our demo application with detox.

After understanding Wix OneApp's multi-module architecture and exploring our delivery process, we'll experiment with UI automation testing (E2E) and try to test our demo application with detox.

On the last day we will take a look on the future of our mobile products in Wix and later we will try to improve our TDD skills by performing a TDD Kata.

We've just covered the tip of the iceberg. You probably have many open questions and things you'd like to understand in more depth. You can continue reading about what we think is important in our mobile engineering library.

Full schedule

 

Day #

Time

Topic

Talk by

Day 1

10:00 - 10:30

Talk: Introduction

Lev.V

10:40-12:00

Talk: ReactNative architecture - part 1

Tal.K

12:00-12:40

 Workshop: Init a React Native project  Lev.V + Nir.Yo

 Lunch Break 

13:50-15:30

Talk: ReactNative architecture - part 2

Tal.K

15:40-16:15

Talk: Flux Design Pattern & Redux

Yedidya

16:20-17:00

Talk: Intreduction to RemX

Nir

17:00-19:00

Workshop: Remx

Nir +  Yedidya

Day 2

10:00 - 10:40

Talk: Navigation - Idea, Pains & Roadmap

(Guy.C-?) & Ran.G & Daniel

10:50 - 12:00

Talk: Testing Redux

Yedidya.K

12:00 - 12:55

 Talk: TDD with Remx  Daniel.Z

 Lunch Break

14:00 - 18:00

Workshop: TDD Rewrite + using Navigation

Elad & Daniel.Z

Day 3

10:00 - 10:55

Talk: Multi Module Architecture

Omri.B

11:00 - 11:55

 Talk: The Mighty UI Lib Eitan.S 

Lunch Break 

13:00 - 13:30

Talk: Frontend & Backend Servers

TBD

13:30 - 14:55

Talk: CI, Build & Distribution

Sergey.L

15:00 - 15:55

Talk: Detox and UI Automation Tests

Rotem + Ran

16:00 - 18:00

Workshop: Detoxify Your Project

Rotem + Ran

Day 4

10:00-11:55

Performance & Dev tools

Lev + Nir

12:00 - 12:55

 Talk: Experiments, BI & Monitoring  Noam

Lunch Break

14:00 - 14:55

Talk: Code Sharing

Aaron

15:00-18:00

Workshop: Integrate with OneApp

Lev.V+Artal

Day 5

10:00 - 11:00

Discussion: Meet the Guild (with the guild)

Guildday

11:00 - 11:50

Talk: Mobile Product What's New

Dror.B

Lunch Break

13:00-17:00

Workshop: TDD Kata

Daniel.Z

17:00-19:00

Discussion: Summary, Feedback & Beer

All invited

 

mobile-crash-course's People

Contributors

buttershub avatar danielzlotin avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.