Offline-friendly react-native apps

Опыте внедрения поддержки оффлайн в приложении

https://david-talks.netlify.com/offline

Offline-friendly react-native apps

План:

Подходы

Не упоминать о оффлайне

Ничего не показывать

Заявить о потребностях ...

Возможно не стоит...

  1. Постоянно напоминать о оффлйне;
  2. Блокировать доступ к критическим данным;
  3. Забывать о юзере (разлогин);
  4. Использовать NetInfo для проверки оффлайн режима.

NetInfo — это не про оффлайн!

How quickly add offline support

Offline images ✔️

С чего начали

  1. Api layer (testing, refresh tokens);
  2. Normalization (JSON API heavy response);
  3. Serialization (json, dates fields);
  4. Cache manager;
  5. Clean strategy.

Реализация

В реальности общение с API не обходиться только id

GET /current/user
GET /data?include=magic

Using offline fallback

Handle errors

Demo time...

Доверяйте вашему устройтву, не соединению

Будьте пессимистичны \ оптимистичны и прагматичны в ваших интерфейсах

Вопросы ?