Εκτός σύνδεσης και κινητά
- React Native
- Expo
- Service workers
- IndexedDB
- SQLite
Αυτοί που κάνουν τη δουλειά έχουν συχνά τη χειρότερη σύνδεση — σε ένα πλοίο, σε ένα υπόγειο, σε ένα εργοτάξιο χωρίς κάλυψη. Μια εφαρμογή που χρειάζεται το δίκτυο για να λειτουργήσει είναι μια εφαρμογή που σταματά τη στιγμή που τη χρειάζονται περισσότερο.
Φτιάχνουμε με προτεραιότητα την εκτός σύνδεσης λειτουργία: η συσκευή κρατά το έγκυρο αντίγραφο της δουλειάς που τρέχει, κάθε αλλαγή καταγράφεται ώστε να μπορεί να αναπαραχθεί, και ο συγχρονισμός είναι ντετερμινιστικός — το ίδιο σύνολο αλλαγών καταλήγει στο ίδιο αποτέλεσμα με όποια σειρά κι αν φτάσει. Οι συγκρούσεις λύνονται με κανόνα που έχει συμφωνήσει ο πελάτης, όχι από τη συσκευή που έτυχε να συνδεθεί τελευταία.
Στα κινητά αυτό σημαίνει React Native και Expo, με γκάμα δοκιμών που καλύπτει το υλικό που κουβαλούν πραγματικά οι άνθρωποι. Στο web την ίδια δουλειά την κάνει ένας service worker, ώστε μια καρτέλα να συνεχίζει να δουλεύει όταν η σύνδεση δεν δουλεύει.