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.
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.
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 |