Μετάβαση στο περιεχόμενο

Πώς επιλέγεται ένα stack για το οποίο θα βρίσκετε ανθρώπους σε τρία χρόνια

Οι τεχνολογικές επιλογές συζητιούνται συνήθως σαν το ερώτημα να είναι ποια είναι η καλύτερη. Για κάτι που πρέπει να τρέχει χρόνια, αυτό δεν είναι το ερώτημα — και το καλύτερο δεν έχει σχεδόν καμία σχέση με την τεχνολογία.

Δημοσιεύθηκε3 λεπτά ανάγνωσης

Το «ποιο είναι το καλύτερο stack» δεν έχει απάντηση, γι’ αυτό και η συζήτηση μπορεί να τρέχει επ’ άπειρον και να μοιάζει παραγωγική όσο τρέχει. Το ερώτημα που απαντιέται είναι στενότερο: τι θα χρειαστεί να ισχύει για αυτό το συγκεκριμένο σύστημα, σε τρία χρόνια, ώστε να εξακολουθεί να είναι φθηνό να αλλάξει;

Αυτή η αναδιατύπωση κάνει το μεγαλύτερο μέρος της δουλειάς. Μετακινεί την απόφαση μακριά από τα benchmarks και προς τέσσερα πράγματα που είναι βαρετά, ελέγξιμα και πολύ καλύτεροι δείκτες.

Τέσσερα φίλτρα

1. Πόσοι άνθρωποι μπορούν να δουλέψουν πάνω του;

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

2. Πώς δείχνει το ιστορικό εκδόσεων;

Πηγαίνετε τρία χρόνια πίσω. Υπήρξαν breaking changes, και πώς αντιμετωπίστηκαν; Υπήρχε διαδρομή μετάβασης, κάποιο codemod, μεγάλο παράθυρο απόσυρσης — ή μια σημείωση ότι ο παλιός τρόπος έφυγε; Ένα έργο που έχει ήδη περάσει τους χρήστες του από μια μεγάλη μετάβαση έκδοσης έχει αποδείξει κάτι που καμία τρέχουσα δημοφιλία δεν αποδεικνύει.

3. Τι κοστίζει να το αφήσετε;

Κάθε επιλογή έχει τιμή εξόδου. Μια βιβλιοθήκη που μορφοποιεί ημερομηνίες αντικαθίσταται σχεδόν δωρεάν. Ένα framework που κατέχει το routing, το rendering και την ανάκτηση δεδομένων σας, όχι. Πληρώστε την τιμή εξόδου συνειδητά: εκεί όπου το πράγμα σας δίνει πραγματική μόχλευση, όχι για μια ευκολία που θα μπορούσατε να γράψετε μόνοι σας σε μια μέρα.

4. Τι σπάει αν δεν το συντηρεί κανείς;

Υποθέστε ότι το έργο εγκαταλείπεται αύριο. Το σύστημά σας συνεχίζει να δουλεύει επ’ αόριστον, συνεχίζει μέχρι να αλλάξει κάτι άλλο, ή σταματά; Οι περισσότερες front-end βιβλιοθήκες αποτυγχάνουν ήπια. Οτιδήποτε κρατά τα δεδομένα σας, την ταυτοποίηση ή τις χρεώσεις σας, όχι. Βάλτε τον περισσότερο σκεπτικισμό εκεί όπου η αποτυχία είναι χειρότερη, όχι εκεί όπου η απόφαση είναι πιο θορυβώδης.

Βαρετά στη μέση, ενδιαφέροντα στις άκρες

Το χρήσιμο σχήμα δεν είναι «όλα βαρετά». Είναι βαρετά εκεί όπου στηρίζονται όλα, και ελεύθερα να είναι ενδιαφέροντα εκεί όπου ένα λάθος είναι φθηνό.

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

Οι περισσότερες μετανιωμένες επιλογές stack προέρχονται από το ανάποδο — καινοτομία στα θεμέλια, συντηρητισμός στην επιφάνεια, όπου κανείς δεν θα είχε πρόβλημα ούτως ή άλλως.

Με τι χτίζουμε, και γιατί

Χρησιμοποιούμε Astro για sites με περιεχόμενο, Next.js για εφαρμογές και Tailwind και στα δύο. Κανένα από αυτά δεν είναι ισχυρισμός ότι είναι τα καλύτερα διαθέσιμα. Περνούν τα τέσσερα φίλτρα: μπορούμε να βρούμε ανθρώπους γι’ αυτά, έχουν χειριστεί breaking changes υπεύθυνα, το κόστος εξόδου είναι γνωστό, και όταν κάποιο από αυτά πάψει τελικά να είναι η σωστή απάντηση, τα μέρη του συστήματος που μετράνε περισσότερο δεν θα είναι αυτά που θα πρέπει να μετακινηθούν.

Αυτό το τελευταίο είναι και ο πραγματικός στόχος. Ένα stack που αντέχει δεν είναι αυτό που δεν αλλάζει ποτέ. Είναι αυτό όπου η αλλαγή ενός μέρους δεν σημαίνει ξαναχτίσιμο του συνόλου.

Έχετε κάποιο έργο στο μυαλό σας;

Ξεκινήστε ένα έργο→