Τέλος υποστήριξης για το Vue 2: τι σας κοστίζει πραγματικά η αναμονή

Τέλος υποστήριξης Vue 2 — το κόστος της αναμονής

Το Vue 2 έφτασε σε τέλος υποστήριξης στις 31 Δεκεμβρίου 2023. Καμία νέα λειτουργία, καμία διόρθωση σφαλμάτων, κανένα security patch. Αν το προϊόν σας τρέχει ακόμα πάνω του, εδώ και δύο και πλέον χρόνια βγάζετε λογισμικό που δεν συντηρείται από κανέναν.

Έχω μεταφέρει εφαρμογές Vue 2 από παραγωγή για SaaS ομάδες, και το μοτίβο είναι πάντα το ίδιο: όσο περισσότερο περιμένεις, τόσο μεγαλώνει ο λογαριασμός. Ας δούμε τι κοστίζει η αναμονή και ποιες είναι ρεαλιστικά οι επιλογές σας.

Τι σημαίνει στην πράξη το τέλος υποστήριξης του Vue 2

Η τελευταία έκδοση του Vue 2 είναι η 2.7.16. Αυτή είναι, για πάντα. Το framework δουλεύει σήμερα ακριβώς όπως δούλευε το 2023, και ακριβώς γι’ αυτό το τέλος υποστήριξης μοιάζει ακίνδυνο. Την πρώτη μέρα δεν σπάει τίποτα.

Ο κίνδυνος δεν είναι ότι το Vue 2 θα σταματήσει ξαφνικά να δουλεύει. Είναι ότι όλα γύρω του συνεχίζουν να κινούνται ενώ τα θεμέλιά σας μένουν παγωμένα: οι browsers αλλάζουν, οι εξαρτήσεις διορθώνονται για νεότερα toolchains, και κάθε ευπάθεια που βρίσκεται από εδώ και πέρα στο stack σας μένει ανοιχτή εκτός αν τη διορθώσετε μόνοι σας.

Η ομάδα του Vue το λέει καθαρά: ακόμα και ώριμα έργα σε τέλος υποστήριξης βγάζουν CVE, είτε άμεσα είτε μέσα από εξαρτήσεις που έχουν παραβιαστεί. Όταν συμβεί σε εσάς, δεν έρχεται καμία διόρθωση από πάνω.

Ημερομηνία τέλους υποστήριξης Vue 2: 31 Δεκεμβρίου 2023, δύο χρόνια χωρίς security patches
Το τέλος υποστήριξης του Vue 2 ήταν στις 31 Δεκεμβρίου 2023, κάθε μέρα από τότε βγαίνει χωρίς security patches.

Τα τέσσερα κόστη της αναμονής

1. Έκθεση σε κενά ασφαλείας που δεν μπορείτε να κλείσετε

Η έκθεσή σας δεν είναι μόνο το vue@2.7.16. Είναι το παγωμένο οικοσύστημα γύρω του: Vuex 3, Vue Router 3, vue-loader, build chains της εποχής του webpack 4, και εκατοντάδες μεταβατικές εξαρτήσεις που έπαψαν να δοκιμάζονται με το stack σας χρόνια πριν.

Κάθε npm audit γίνεται πιο θορυβώδες. Κάποιες προειδοποιήσεις δεν λύνονται καθόλου, γιατί οι διορθωμένες εκδόσεις απαιτούν Vue 3.

2. Έλεγχοι που κόβονται και συμφωνίες που κολλάνε

Αν πουλάτε σε enterprise, οι ομάδες ασφαλείας των πελατών σας θα βρουν το Vue 2 στο stack σας. Τα SLA, τα ερωτηματολόγια ασφαλείας προμηθευτών, οι έλεγχοι SOC 2 και ISO 27001 αντιμετωπίζουν ολοένα και πιο συχνά τις μη συντηρούμενες εξαρτήσεις ως ευρήματα που πρέπει να διορθώσετε ή να αποδεχτείτε επίσημα.

Το έχω δει να γίνεται η αφορμή πιο συχνά από οποιαδήποτε τεχνική αστοχία: μια συμφωνία κολλάει επειδή το τμήμα προμηθειών σημειώνει λογισμικό σε τέλος υποστήριξης. Εκείνη τη στιγμή κάνετε μετάβαση κάτω από πίεση προθεσμίας, που είναι ο ακριβότερος τρόπος να γίνει.

3. Προσλήψεις και φρένο στην ομάδα

Οι νέοι Vue developers μαθαίνουν Vue 3 και Composition API. Τα μοτίβα του Vue 2. Options API, mixins, Vuex, είναι πλέον γνώση παρελθόντος. Η ένταξη νέων ανθρώπων αργεί, και οι καλοί υποψήφιοι διαβάζουν το «codebase σε Vue 2» ως προειδοποίηση για την υπόλοιπη κουλτούρα σας.

Παράλληλα η ομάδα σας πληρώνει καθημερινό φόρο: χωρίς <script setup>, με φτωχότερη υποστήριξη TypeScript, πιο αργά builds, και πατέντες για βιβλιοθήκες που εγκατέλειψαν το Vue 2.

4. Η ίδια η μετάβαση ακριβαίνει

Αυτό είναι το κόστος που κανείς δεν προϋπολογίζει. Κάθε λειτουργία που βγάζετε πάνω στο Vue 2 προστίθεται στην επιφάνεια της μετάβασης. Κάθε νέο Vuex module, κάθε mixin, κάθε component που γράφεται σήμερα είναι κάτι που θα πληρώσετε για να ξαναγραφτεί αύριο.

Μια μετάβαση που θα ήταν τρεις μήνες δουλειάς το 2023 μπορεί να είναι πέντε μήνες τώρα, όχι επειδή χειροτέρεψαν τα εργαλεία, αλλά επειδή μεγάλωσε το codebase. Η αναμονή δεν αναβάλλει το κόστος. Το ανατοκίζει.

Οι τρεις επιλογές σας

Να μην κάνετε τίποτα. Στέκει μόνο για εσωτερικά εργαλεία χωρίς απαιτήσεις συμμόρφωσης και με σύντομη υπόλοιπη ζωή. Για ένα προϊόν που φέρνει έσοδα, είναι ένα βάρος που μεγαλώνει αθόρυβα μέχρι που ένας έλεγχος, ένα CVE ή μια αλλαγή στους browsers το κάνει θορυβώδες.

Να αγοράσετε extended support. Η ομάδα του Vue συνεργάστηκε με τη HeroDevs για security patches μετά το τέλος υποστήριξης. Είναι μια νόμιμη γέφυρα αν έχετε αυστηρές απαιτήσεις συμμόρφωσης και δεν μπορείτε να κάνετε μετάβαση ακόμα, αλλά είναι επαναλαμβανόμενο κόστος που αγοράζει χρόνο, όχι μέλλον. Εξακολουθείτε να είστε πάνω σε παγωμένο framework.

Να περάσετε στο Vue 3. Η μόνη επιλογή που εξαφανίζει το βάρος αντί να το νοικιάζει. Παίρνετε framework που συντηρείται, καλύτερη απόδοση, πραγματική υποστήριξη TypeScript, και πρόσβαση στο σημερινό οικοσύστημα, μαζί με το Nuxt 3, αν το SSR και το SEO μετράνε για το προϊόν σας.

Πώς κάνω μεταβάσεις χωρίς να σταματήσει η επιχείρηση

Ο μεγαλύτερος φόβος που ακούω από CTOs είναι το downtime: «δεν μπορούμε να παγώσουμε την ανάπτυξη για έξι μήνες». Δεν χρειάζεται. Μια καλά σχεδιασμένη μετάβαση από Vue 2 σε Vue 3 τρέχει παράλληλα με την κανονική παράδοση.

Η διαδικασία μου είναι η ίδια τέσσερα βήματα κάθε φορά. Πρώτα, τεχνικός έλεγχος: χάρτης εξαρτήσεων, καταγραφή components, χρήση του Vuex, και τα πραγματικά εμπόδια, από εκεί βγαίνει το χρονοδιάγραμμα, όχι από εικασίες. Δεύτερον, αρχιτεκτονική και σχέδιο: σειρά μετάβασης, στρατηγική συμβατότητας, και τι αναδιαρθρώνεται σε σχέση με το τι μεταφέρεται ως έχει.

Τρίτον, σταδιακή μετάβαση: η εφαρμογή συνεχίζει να βγάζει δουλειά ενώ τα modules περνούν στο Vue 3, με TypeScript και tests εκεί που αποδίδουν. Τέταρτον, παράδοση με 30 ημέρες εγγύηση, μένω μετά την κυκλοφορία μέχρι να γίνει βαρετή.

Το έχω κάνει για enterprise backoffice πλατφόρμες και SaaS προϊόντα, δείτε το case study της Arcual για το πώς φαίνεται σε πραγματικό codebase. Η ίδια προσέγγιση καλύπτει και frontend της εποχής του jQuery που περνούν κατευθείαν σε Vue 3.

Συχνές ερωτήσεις

Είναι ακόμα ασφαλές να τρέχουμε Vue 2 το 2026;

Τρέχει, αλλά δεν συντηρείται, κάθε νέα ευπάθεια στο Vue 2 ή στο παγωμένο οικοσύστημά του δεν πρόκειται να διορθωθεί από πάνω. Το αν αυτό είναι «ασφαλές» εξαρτάται από τις απαιτήσεις συμμόρφωσης και την ανοχή σας στο ρίσκο, όχι από το πώς συμπεριφέρεται σήμερα το framework.

Πόσο διαρκεί η μετάβαση από Vue 2 σε Vue 3;

Μικρές εφαρμογές: εβδομάδες. Τυπικά SaaS προϊόντα: δύο έως πέντε μήνες παράλληλα με την κανονική ανάπτυξη. Η τίμια απάντηση βγαίνει από έλεγχο εξαρτήσεων και components, που είναι ακριβώς αυτό που κάνω πρώτο, οι εκτιμήσεις χωρίς αυτόν είναι ο λόγος που τινάζονται στον αέρα οι μεταβάσεις.

Γίνεται σταδιακά ή είναι ολικό ξαναγράψιμο;

Σταδιακά, σχεδόν πάντα. Το migration build και ένα σχέδιο ανά module σας επιτρέπουν να βγάζετε λειτουργίες σε όλη τη διάρκεια. Το ολικό ξαναγράψιμο είναι έσχατη λύση, όχι προεπιλογή.

Το extended support (HeroDevs NES) αρκεί αντί για μετάβαση;

Λύνει το θέμα της συμμόρφωσης και αγοράζει χρόνο, και για κάποιες ομάδες αυτή είναι η σωστή γέφυρα. Δεν λύνει τις προσλήψεις, τη μετακίνηση του οικοσυστήματος, ούτε την επιφάνεια της μετάβασης που μεγαλώνει, πληρώνετε για να μείνετε στάσιμοι.

Δείτε πώς μοιάζει η δική σας μετάβαση

Αν τρέχετε Vue 2 σε παραγωγή, το χρήσιμο επόμενο βήμα δεν είναι μια πρόταση, είναι ένας έλεγχος. Σε μια δωρεάν συζήτηση 15 λεπτών κοιτάω το stack σας, εντοπίζω τα πραγματικά εμπόδια και σας λέω ειλικρινά τι μέγεθος και τι χρονοδιάγραμμα βλέπω. Χωρίς παρουσίαση, χωρίς πίεση, ένας μηχανικός που σας λέει τι υπάρχει εκεί μέσα.