Εταιρεία διανομής στην Αθήνα
Μια εφαρμογή Flutter για οδηγούς λειτουργεί offline-first σε περιοχές χωρίς σταθερή σύνδεση, καταγράφει παραδόσεις τοπικά και τις συγχρονίζει όταν επανέλθει το δίκτυο.
iOS και Android από ένα codebase Flutter
Ανάπτυξη mobile εφαρμογών σε Flutter και Dart, με ένα codebase που καταλήγει σε εφαρμογή για iOS και Android. Χτίζουμε εφαρμογές offline-first, όπου ο χρήστης συνεχίζει να δουλεύει χωρίς σύνδεση και τα δεδομένα συγχρονίζονται αργότερα, με σύνδεση στο δικό σου API backend και δημοσίευση στα App Store και Google Play.
Γράφουμε την εφαρμογή μία φορά σε Dart και την εξάγουμε για iOS και Android, με ίδια συμπεριφορά και στα δύο, εκτός από τα σημεία όπου το κάθε λειτουργικό σύστημα έχει διαφορετικές συμβάσεις σχεδίασης. Χρησιμοποιούμε Riverpod για διαχείριση κατάστασης και, όπου χρειάζεται, υπηρεσίες Firebase για push notifications ή ανάλυση χρήσης, χωρίς να κλειδώνουμε την εφαρμογή αποκλειστικά σε αυτές. Όπου η εφαρμογή χρειάζεται τοπική αποθήκευση δομημένη, χρησιμοποιούμε SQLite, ώστε τα δεδομένα να παραμένουν διαθέσιμα ακόμα κι όταν η συσκευή είναι σε πτήση αεροπλάνου.
Η εφαρμογή Flutter μιλάει με API backend που φιλοξενείται σε VPS στα δικά μας datacenters, όχι σε δικό της server. Αν η εφαρμογή χρειάζεται push notifications, ειδοποιήσεις σε πραγματικό χρόνο ή αποθήκευση αρχείων, στήνουμε τις αντίστοιχες υπηρεσίες backend δίπλα στο API, ώστε να έχεις έναν προμηθευτή για ολόκληρο το σύστημα, όχι μόνο για την εφαρμογή. Αυτό απλοποιεί και την υποστήριξη, γιατί δεν χρειάζεται να συντονίζεις δύο διαφορετικούς προμηθευτές όταν εμφανιστεί πρόβλημα.
Οι ώρες προγραμματισμού βγαίνουν από το ίδιο πλάνο με τις ώρες DevOps: 1 έως 8 ώρες σε VPS, 5–10 ώρες σε dedicated ανάλογα με το πλάνο και 10 ώρες σε GPU. Στην πράξη πηγαίνουν σε νέες οθόνες, διόρθωση σφαλμάτων συγχρονισμού offline, ενσωμάτωση με νέο API backend και προετοιμασία νέας έκδοσης για δημοσίευση στα store. Καλύπτουν επίσης αναβάθμιση των βιβλιοθηκών Flutter και Dart, με έλεγχο ότι καμία υπάρχουσα οθόνη δεν σπάει μετά την ενημέρωση.
Αναλαμβάνουμε τη διαδικασία δημοσίευσης: προετοιμασία build για iOS και Android, εικονίδια και στιγμιότυπα οθόνης στις σωστές διαστάσεις, συμπλήρωση φόρμας απορρήτου και υποβολή προς έλεγχο. Σε νέες εκδόσεις, στήνουμε ροή ώστε η ενημέρωση να φτάνει στους χρήστες χωρίς να χρειάζεται χειροκίνητη επανάληψη όλης της διαδικασίας κάθε φορά. Παρακολουθούμε και το αποτέλεσμα του ελέγχου από κάθε store, ώστε να διορθώσουμε γρήγορα αν μια νέα έκδοση απορριφθεί για κάποιον τεχνικό λόγο.
Κάθε συνδρομή περιλαμβάνει μηνιαίες ώρες DevOps, Κυβερνοασφάλειας και Προγραμματισμού: 1 ώρα από το πακέτο cPanel Advanced και πάνω, 1–8 ώρες σε VPS και 5–10 ώρες σε αποκλειστικούς διακομιστές ανάλογα με το πλάνο και 10 ώρες σε GPU. Οι ώρες ζητούνται από τον πίνακα πελάτη, δεν μεταφέρονται στον επόμενο μήνα, και ό,τι ξεπερνά το όριο γίνεται δεκτό και χρεώνεται ξεχωριστά.
Μια εφαρμογή Flutter για οδηγούς λειτουργεί offline-first σε περιοχές χωρίς σταθερή σύνδεση, καταγράφει παραδόσεις τοπικά και τις συγχρονίζει όταν επανέλθει το δίκτυο.
Μια εφαρμογή κρατήσεων για επισκέπτες δείχνει διαθεσιμότητα δωματίων και υπηρεσιών σε πραγματικό χρόνο, με push notifications για προσφορές εποχιακά.
Μια εφαρμογή πεδίου για τεχνικούς καταγράφει εργασίες και φωτογραφίες χωρίς σύνδεση στο σημείο επέμβασης, με συγχρονισμό αυτόματο μόλις υπάρξει δίκτυο.
Ανοίγεις αίτημα στις Υπηρεσίες Προγραμματισμού, περιγράφεις την εφαρμογή Flutter που χρειάζεσαι και προτείνεις προθεσμία παράδοσης.
Επιβεβαιώνουμε οθόνες, σημεία ενσωμάτωσης με το API και ανάγκη για offline λειτουργία, εκτιμώντας τις ώρες από την ποσόστωση.
Χτίζουμε την εφαρμογή, τη δοκιμάζουμε σε πραγματικές συσκευές iOS και Android και ελέγχουμε τη συμπεριφορά offline πριν τη δημοσίευση.
Ετοιμάζουμε το build, τα υλικά δημοσίευσης και υποβάλλουμε προς έλεγχο, σου δίνουμε πρόσβαση στους λογαριασμούς developer και τεκμηρίωση.
Ένα codebase Flutter σημαίνει ότι κάθε νέα λειτουργία γράφεται μία φορά και εμφανίζεται και στα δύο λειτουργικά, με λιγότερο κόστος συντήρησης σε σχέση με δύο ξεχωριστές εφαρμογές native. Σημαίνει επίσης λιγότερο χρόνο μέχρι μια νέα λειτουργία να φτάσει και στα δύο λειτουργικά συστήματα.
Δεν δημοσιεύουμε τιμή ανά έργο. Οι ώρες προγραμματισμού είναι μέσα στο μηνιαίο πλάνο hosting· ό,τι ξεπερνά την ποσόστωση συμφωνείται και τιμολογείται ξεχωριστά, ανά ώρα εργασίας. Πριν ξεκινήσουμε, σου δίνουμε εκτίμηση ωρών βάσει του αριθμού οθονών και των ενσωματώσεων που χρειάζεσαι.
Εξαρτάται από τον αριθμό οθονών και τις ενσωματώσεις. Δουλεύουμε σε ώρες μηνιαίες, γι' αυτό συμφωνούμε ρεαλιστικό χρονοδιάγραμμα ανά φάση, αντί να δεσμεύσουμε ημερομηνία χωρίς γνώση του εύρους. Μια εφαρμογή με λίγες οθόνες και μία απλή ενσωμάτωση ολοκληρώνεται συνήθως πιο γρήγορα από μία με πολλές ροές και offline λειτουργία σύνθετη.
Στις περισσότερες περιπτώσεις ναι, εκτός αν η εφαρμογή είναι πλήρως τοπική. Στήνουμε το API backend σε VPS στα δικά μας datacenters, ώστε εφαρμογή και backend να έχουν έναν προμηθευτή. Αν ήδη έχεις backend σε άλλο πάροχο, μπορούμε να συνδεθούμε εκεί, χωρίς να χρειάζεται μεταφορά σε δικά μας datacenters.
Η εφαρμογή αποθηκεύει δεδομένα τοπικά στη συσκευή και συνεχίζει να λειτουργεί χωρίς σύνδεση. Όταν επανέλθει το δίκτυο, συγχρονίζει τις αλλαγές με το backend, με λογική επίλυσης συγκρούσεων όπου χρειάζεται. Σχεδιάζουμε τη λογική επίλυσης συγκρούσεων ανάλογα με τον τύπο δεδομένων, ώστε δύο αλλαγές ταυτόχρονες να μη χάνουν πληροφορία.
Ναι, από την προετοιμασία build μέχρι την υποβολή προς έλεγχο σε App Store και Google Play, μαζί με τα υλικά δημοσίευσης και τη φόρμα απορρήτου που απαιτούν οι πλατφόρμες. Σε επόμενες εκδόσεις, η διαδικασία γίνεται πιο γρήγορη, γιατί οι λογαριασμοί developer και τα υλικά δημοσίευσης είναι ήδη έτοιμα.
Πες μας τι χρειάζεσαι και θα σου προτείνουμε οθόνες, backend και ροή offline, με τις ώρες προγραμματισμού από το πλάνο σου.