
Το Vue 2 έφτασε στο τέλος υποστήριξης τον Δεκέμβριο του 2023. Η κοινότητα του Vue δεν εκδίδει πλέον security patches ή διορθώσεις συμβατότητας γι’ αυτό, ενώ όλο και περισσότερες βιβλιοθήκες έχουν επίσης σταματήσει να το υποστηρίζουν. Αυτό δεν σημαίνει ότι η εφαρμογή πρέπει να ξαναγραφτεί από την αρχή. Ελέγχω πρώτα το codebase και οργανώνω τη μετάβαση σε στάδια, ώστε η κανονική ανάπτυξη να συνεχίζεται όπου το επιτρέπουν οι εξαρτήσεις.
Έχω μεταφέρει εφαρμογές παραγωγής από παλαιότερα frontends με TypeScript και διαχείριση state. Σε αυτά τα έργα περιλαμβάνεται το UI των μηχανημάτων στοιχηματισμού του ΟΠΑΠ, ένα κρίσιμο σύστημα. Χωρίζω τη δουλειά σε ελεγχόμενα στάδια και συμφωνώ από πριν τι θα ελεγχθεί σε κάθε ορόσημο.
Η παλιότερη έκδοση μπορεί να συνεχίσει να λειτουργεί, αλλά δεν λαμβάνει πλέον ενημερώσεις από την κοινότητα. Αυτό μπορεί να εμφανιστεί ως εύρημα σε έλεγχο ασφαλείας ή να δυσκολέψει μια μελλοντική αλλαγή.
Μετά τη μετάβαση, εργαλεία όπως Vite και TypeScript διευκολύνουν τη συντήρηση. Οι εξαρτήσεις ελέγχονται ξεχωριστά. Αναλαμβάνω επίσης μεταβάσεις από jQuery και server-rendered εφαρμογές.
Μπορώ επίσης να εντάξω λειτουργίες AI σε υπάρχουσες εφαρμογές, όπως copilot, αναζήτηση σε εταιρικό περιεχόμενο ή ελεγχόμενες ενέργειες μέσω API. Πρώτα ελέγχω αν η αρχιτεκτονική μπορεί να υποστηρίξει τη λειτουργία χωρίς ξεχωριστό ξαναγράψιμο.
Τεχνικός έλεγχος
Ξεκινώ με έλεγχο του codebase: εξαρτήσεις, μη συμβατά patterns, χρήση του store, build setup, components και διαθέσιμα tests. Από αυτόν προκύπτουν η προτεινόμενη διαδρομή, οι βασικοί κίνδυνοι και μια εκτίμηση της δουλειάς πριν αλλάξει ο κώδικας.
Αρχιτεκτονική & σχέδιο
Με βάση τον έλεγχο, ορίζω πού θα χρησιμοποιηθεί Composition API, πώς θα οργανωθεί το state, τι αλλάζει στο build tooling και αν θα ενταχθεί TypeScript. Καταγράφω επίσης τη σειρά των components και τα σημεία που χρειάζονται ιδιαίτερη προσοχή.
Σταδιακή μετάβαση
Χωρίζω τη μετάβαση σε μικρά, ελέγξιμα τμήματα. Όπου ταιριάζει, χρησιμοποιώ feature flags και εκτελώ tests σε κάθε βήμα. Η ομάδα μπορεί να συνεχίσει την κανονική ανάπτυξη στο ίδιο codebase όπου το επιτρέπουν οι εξαρτήσεις, ενώ κάθε στάδιο έχει σαφές σημείο επαναφοράς.
Σταθεροποίηση & παράδοση
Στο τέλος ελέγχω την απόδοση και την προσβασιμότητα, ολοκληρώνω την τεκμηρίωση και παρουσιάζω τις αλλαγές στην ομάδα. Παρέχω τεχνική εγγύηση για 30 ημέρες μετά την κυκλοφορία.
Τι σας δίνει η μετάβαση
- Builds και deploys σε σύγχρονο tooling, με Vite
- Πιο σαφής βάση κώδικα για συντήρηση και onboarding, με TypeScript και τεκμηρίωση
- Μετάβαση σε στάδια, ώστε η κανονική ανάπτυξη να συνεχίζεται όπου το επιτρέπουν οι εξαρτήσεις
- Tests, τεκμηρίωση και 30 ημέρες τεχνικής εγγύησης μετά την κυκλοφορία


Πόσο διαρκεί η μετάβαση;
Δεν υπάρχει αξιόπιστη εκτίμηση μόνο από το μέγεθος της εφαρμογής. Εξετάζω τον αριθμό των components, τη διαχείριση state, το build tooling, τις ασύμβατες βιβλιοθήκες και την κάλυψη των tests. Μετά τον τεχνικό έλεγχο στέλνω συγκεκριμένη εκτίμηση για χρόνο και κόστος.
Μπορεί η ομάδα μας να συνεχίσει να βγάζει δουλειά στη διάρκεια της μετάβασης;
Συχνά ναι. Χωρίζω τη μετάβαση σε στάδια και, όπου ταιριάζει, χρησιμοποιώ feature flags. Έτσι μέρος της κανονικής ανάπτυξης μπορεί να συνεχιστεί όπου το επιτρέπουν οι εξαρτήσεις. Κάθε στάδιο σχεδιάζεται ώστε να περιορίζει την αναστάτωση και να έχει σαφές σημείο επαναφοράς.
Τι γίνεται με βιβλιοθήκες που δεν υποστηρίζονται;
Τις καταγράφω μία προς μία στον τεχνικό έλεγχο. Για καθεμία εξετάζω αν υπάρχει συμβατή έκδοση, αν χρειάζεται εναλλακτική που συντηρείται ή αν συμφέρει να γραφτεί ένα μικρό component αντικατάστασης.
Αναλαμβάνετε και μεταβάσεις από AngularJS ή jQuery;
Ναι. Ξεκινώ και σε αυτές τις περιπτώσεις με τεχνικό έλεγχο, ορίζω την αρχιτεκτονική και χωρίζω τη μετάβαση σε στάδια. Έχω μεταφέρει frontends από AngularJS και jQuery για πελάτες στην Ευρώπη και τις ΗΠΑ.
Άλλες υπηρεσίες
Επικοινωνία
Αθήνα, συνεργασία εξ αποστάσεως με ομάδες σε Ευρώπη & ΗΠΑ
info@offline-web.com