The stack
We rock thesetechnologies.
Όχι επειδή είναι της μόδας. Επειδή πάνω τους είναι χτισμένα τα μεγαλύτερα προϊόντα του internet. Έχουν δοκιμαστεί σε κλίμακα που κανένας πελάτης μας δεν θα φτάσει ποτέ. Δεν ανήκουν σε κανέναν. Και θα βρείτε developers γι’ αυτά σε όλο τον κόσμο.
The interface layer
React
Το χρησιμοποιούν
- Meta
- Netflix
- Airbnb
- Uber
- Shopify
- Atlassian
Η βιβλιοθήκη που έχει καθιερωθεί στο σύγχρονο web.
Το React είναι σήμερα ο βασικός τρόπος να χτίζονται interfaces. Δημιουργήθηκε στο Facebook για ένα πρόβλημα που έχει αργά ή γρήγορα κάθε μεγάλο προϊόν: να συμφωνεί αυτό που δείχνει η οθόνη με αυτό που λένε τα δεδομένα. Το έλυσε τόσο πειστικά που έγινε το πρότυπο του κλάδου, όχι μία επιλογή ανάμεσα σε άλλες.
Για μια επιχείρηση αυτό μετράει, και δεν έχει καμία σχέση με τη μόδα. Έναν κώδικα σε React μπορεί να τον συνεχίσει ένας developer οπουδήποτε στον κόσμο. Οι developers που το ξέρουν είναι περισσότεροι από όσους ξέρουν οποιοδήποτε άλλο εργαλείο λογισμικού, και η τεκμηρίωσή του είναι εξαντλητική. Και τα περισσότερα προβλήματα που θα συναντήσετε τα έχει ήδη λύσει, δοκιμάσει και περιγράψει κάποιος άλλος.
- Not a framework you rent
- Το React είναι open source και οι αποφάσεις για αυτό παίρνονται δημόσια. Κανείς δεν μπορεί να ανεβάσει την τιμή του, να αλλάξει την άδειά του εις βάρος σας ή να το καταργήσει. Αυτή την εγγύηση δεν μπορεί να τη δώσει καμία κλειστή πλατφόρμα.
- Components, not pages
- Το interface συναρμολογείται από κομμάτια που φτιάχνονται μία φορά και χρησιμοποιούνται παντού. Μια αλλαγή σε ένα κουμπί είναι αλλαγή σε κάθε κουμπί. Γι' αυτό ένα προϊόν σε React γίνεται φθηνότερο στις αλλαγές όσο μεγαλώνει, όχι ακριβότερο.
- A hiring pool, not a dependency
- Αν εξαφανιζόμασταν αύριο, θα βρίσκατε ανθρώπους για να το συνεχίσουν. Αυτό το επιλέξαμε σκόπιμα. Και είναι η πιο σημαντική ερώτηση που μπορείτε να κάνετε για το stack οποιουδήποτε γραφείου.
The application framework
Next.js
Το χρησιμοποιούν
- Nike
- OpenAI
- TikTok
- Notion
- Hulu
- Target
- Twitch
React, με τα δύσκολα ήδη αποφασισμένα.
Το React σχεδιάζει το interface. Το Next.js αποφασίζει πώς αυτό φτάνει στον browser. Σε αυτή την απόφαση κερδίζεται ή χάνεται το μεγαλύτερο μέρος της ταχύτητας ενός site και σχεδόν όλη η ορατότητά του στην αναζήτηση. Και το Next.js επιτρέπει να την πάρετε για κάθε σελίδα χωριστά, όχι μία φορά για όλο το προϊόν.
Μια σελίδα marketing μπορεί να φτιαχτεί από πριν και να σερβίρεται σε χιλιοστά του δευτερολέπτου από servers κοντά στον επισκέπτη. Ένα dashboard μπορεί να φτιάχνεται τη στιγμή που το ζητάτε, μόνο για τον συγκεκριμένο χρήστη. Ένας κατάλογος μπορεί να ανανεώνεται αθόρυβα στο παρασκήνιο όσο αλλάζει το απόθεμα. Ίδιος κώδικας, τρεις διαφορετικές στρατηγικές, η καθεμία εκεί όπου ταιριάζει.
- Fast by construction
- Οι εικόνες παίρνουν αυτόματα το σωστό μέγεθος και μορφή. Οι γραμματοσειρές φορτώνουν μόνο ό,τι χρειάζεται, και νωρίς. Ο JavaScript κώδικας χωρίζεται, ώστε κάθε σελίδα να στέλνει μόνο ό,τι τρέχει. Η δουλειά για την ταχύτητα, που αλλού γίνεται αργότερα και κοστίζει, εδώ γίνεται από μόνη της.
- Search sees everything
- Οι σελίδες φτάνουν ως έτοιμο HTML, όχι ως άδειο κέλυφος που πρέπει να εκτελέσει ένας crawler. Είναι η διαφορά ανάμεσα στο να καταχωρίζεστε σωστά στη Google και στο να ελπίζετε.
- One codebase, front and back
- Τα API, η σύνδεση χρηστών και η λογική του server ζουν δίπλα στο interface που εξυπηρετούν. Λιγότερα κομμάτια σημαίνουν λιγότερα σημεία σύνδεσης, και στα σημεία σύνδεσης χαλάνε τα προϊόντα.
The server runtime
Node.js
Το χρησιμοποιούν
- Netflix
- PayPal
- Uber
- eBay
- NASA
Μία γλώσσα, από τον browser ως τη βάση δεδομένων.
Το Node έφερε τη JavaScript στον server. Έτσι έβγαλε από τη μέση το πιο παλιό βάρος του web development: δύο γλώσσες, δύο ομάδες, δύο τρόποι να περιγράψεις το ίδιο πράγμα, και ανάμεσά τους ένα επίπεδο μετάφρασης όπου ζουν τα λάθη.
Είναι φτιαγμένο ακριβώς για τη δουλειά που κάνει ένα σύγχρονο προϊόν: χιλιάδες συνδέσεις που περιμένουν ταυτόχρονα μια βάση δεδομένων, ένα API ή έναν πάροχο πληρωμών. Το Node τις χειρίζεται όλες μαζί χωρίς να ξοδεύει μνήμη για κάθε αίτημα χωριστά. Γι' αυτό βρίσκεται κάτω από τόσο μεγάλο μέρος του λογισμικού πραγματικού χρόνου στον κόσμο.
- Shared language, shared logic
- Οι κανόνες ελέγχου, η λογική των τιμών και οι τύποι δεδομένων γράφονται μία φορά και χρησιμοποιούνται και στις δύο πλευρές. Η φόρμα και ο server δεν μπορούν να διαφωνήσουν για το ποια παραγγελία είναι έγκυρη.
- Built for waiting
- Η περισσότερη δουλειά ενός server είναι αναμονή για κάτι άλλο. Το Node είναι σχεδιασμένο γύρω από αυτό. Γι' αυτό αντέχει πολλά ταυτόχρονα αιτήματα σε μέτριο hardware.
- The largest ecosystem in software
- Ό,τι κι αν χρειάζεται να συνδέσετε, έναν πάροχο πληρωμών, ένα ERP, μια μεταφορική, υπάρχει ήδη έτοιμη βιβλιοθήκη, συντηρημένη και δοκιμασμένη στην πράξη.
The mobile layer
React Native
Το χρησιμοποιούν
- Shopify
- Discord
- Microsoft
- Coinbase
- Bloomberg
Πραγματικά native, από έναν κώδικα.
Το React Native χρησιμοποιεί τα πραγματικά στοιχεία κάθε πλατφόρμας, έναν αληθινό διακόπτη του iOS, το αληθινό εφέ αφής του Android, και τα κινεί με το ίδιο React που γράφει ήδη η ομάδα του web. Δεν είναι ένα website μέσα σε περιτύλιγμα, και η διαφορά φαίνεται μόλις το πιάσετε στο χέρι.
Το εμπορικό επιχείρημα είναι ακόμα πιο απλό. Δύο native apps σημαίνουν δύο κώδικες, δύο ομάδες και δύο κύκλους εκδόσεων, που μέσα σε έναν χρόνο αρχίζουν να διαφέρουν μεταξύ τους. Ένας κώδικας React Native βγαίνει και στα δύο stores, μοιράζεται τη λογική του με το website, και κάθε διόρθωση γράφεται μία φορά.
- Native where it counts
- Η πλοήγηση, οι κινήσεις και οι δονήσεις είναι αυτές της πλατφόρμας. Όπου μια οθόνη χρειάζεται πραγματικό native κώδικα, γράφεται και μπαίνει στη θέση της. Αυτή η δυνατότητα μένει πάντα ανοιχτή.
- One team, two stores
- Οι άνθρωποι που έφτιαξαν το website σας φτιάχνουν και το app σας. Μοιράζονται τύπους δεδομένων, λογική και στοιχεία του design, αντί να τα ξαναγράφουν δύο φορές και να ελπίζουν ότι θα ταιριάξουν.
- Ship without waiting for review
- Μεγάλο μέρος του app ενημερώνεται απευθείας στα κινητά. Μια διόρθωση σε ένα κείμενο ή μια αλλαγή τιμής δεν περιμένει στην ουρά για έλεγχο από το App Store.
The database
PostgreSQL
Το χρησιμοποιούν
- Apple
- Spotify
- Twitch
- Robinhood
Τριάντα χρόνια μετά, ακόμα η μόνη σοβαρή επιλογή.
Η PostgreSQL αναπτύσσεται συνεχώς από τη δεκαετία του 1980 και είναι, με μεγάλη διαφορά, η πιο ικανή open source βάση δεδομένων που υπάρχει. Είναι η βαρετή, σωστή επιλογή. Και σε ένα σύστημα που κρατά τις παραγγελίες σας, τους πελάτες σας και τα χρήματά σας, «βαρετή και σωστή» είναι ακριβώς ό,τι χρειάζεστε.
Αρνείται να χάσει δεδομένα. Μια συναλλαγή ή ολοκληρώνεται ή δεν ολοκληρώνεται. Δεν υπάρχει περίπτωση να έχει χρεωθεί μια πληρωμή και να μην έχει γραφτεί η παραγγελία. Η εγγύηση ακούγεται αυτονόητη, μέχρι να δουλέψετε με μια βάση που δεν τη δίνει.
- Correct under pressure
- Πλήρεις συναλλαγές ACID, κανόνες που εφαρμόζονται πάντα και σχέσεις ανάμεσα στα δεδομένα που δεν σπάνε. Η ίδια η βάση απορρίπτει δεδομένα που δεν στέκουν, αντί να εμπιστεύεται κάθε κομμάτι κώδικα που γράφει σε αυτήν.
- One engine, many jobs
- Πίνακες, έγγραφα JSON, αναζήτηση σε κείμενο και γεωγραφικά ερωτήματα σε ένα σύστημα. Έτσι ένα προϊόν σπάνια χρειάζεται δεύτερη βάση δεδομένων δίπλα του.
- Nobody owns it
- Open source με ελεύθερη άδεια, και διαθέσιμη ως διαχειριζόμενη υπηρεσία σε κάθε μεγάλο cloud. Μπορείτε να αλλάξετε πάροχο hosting χωρίς να ξαναγράψετε ούτε μία γραμμή. Αυτό είναι το αντίθετο από κάθε κλειστή εναλλακτική.
Why it matters to you
Όλα είναι open source. Κανείς δεν μπορεί να ανεβάσει την τιμή τους, να αλλάξει τους όρους ή να τα καταργήσει. Και κάθε ικανός developer, οπουδήποτε στον κόσμο, μπορεί να συνεχίσει ό,τι σας παραδίδουμε.
Δεν είναι τεχνική προτίμηση. Είναι η διαφορά ανάμεσα στο να σας ανήκει αυτό που πληρώσατε και στο να το νοικιάζετε από όποιον το έφτιαξε. Διαλέγουμε εργαλεία που θα παραδίδαμε άνετα σε κάποιον άλλο. Γιατί ένα προϊόν που δεν μπορείτε να πάρετε μαζί σας φεύγοντας δεν είναι δικό σας.
Initiate the blueprint
Built on foundations that outlast us.
Πείτε μας τι ετοιμάζετε. Θα σας πούμε ακριβώς πάνω σε τι θα στηριχτεί και γιατί.