Γιατί το Electron είναι συχνά καλύτερο από την ανάπτυξη εγγενών εφαρμογών για επιτραπέζιους υπολογιστές

Το κόστος του Electron είναι εύκολο να μετρηθεί σε megabytes. Το κόστος συντήρησης ξεχωριστών εγγενών εφαρμογών αποτυπώνεται στον χρόνο ανάπτυξης, στην ταχύτητα κυκλοφορίας νέων εκδόσεων και στις πλατφόρμες που δεν υποστηρίζονται. Για τα περισσότερα προϊόντα λογισμικού για επιτραπέζιους υπολογιστές, αυτό το δεύτερο κόστος είναι μεγαλύτερο.

5 Οκτωβρίου 2026

Quang Lam · Founder & CEO

Γιατί το Electron είναι συχνά καλύτερο από την ανάπτυξη εγγενών εφαρμογών για επιτραπέζιους υπολογιστές

Αφιερώστε αρκετό χρόνο στο Hacker News ή στο Reddit και κάποια στιγμή θα δείτε την ίδια κριτική: το Electron είναι φουσκωμένο, χρησιμοποιεί υπερβολικά πολλή μνήμη και οι σοβαρές εφαρμογές για υπολογιστές θα έπρεπε να είναι εγγενείς.

Υπάρχει κάποια αλήθεια πίσω από αυτή την κριτική. Οι εφαρμογές Electron έχουν γενικά μεγαλύτερο βασικό αποτύπωμα πόρων, επειδή περιλαμβάνουν το Chromium και το Node.js. Μια προσεκτικά σχεδιασμένη εγγενής εφαρμογή μπορεί να χρησιμοποιεί λιγότερη μνήμη, να ξεκινά γρηγορότερα και να ενσωματώνεται βαθύτερα στο λειτουργικό της σύστημα.

Όμως αυτή η συζήτηση εστιάζει υπερβολικά στον υπολογιστή και όχι αρκετά στην εταιρεία που αναπτύσσει το λογισμικό.

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

Για πολλές σύγχρονες εφαρμογές υπολογιστών, το Electron είναι εξαιρετικά καλό σε αυτό.

Ο σπάνιος πόρος είναι ο χρόνος των μηχανικών λογισμικού

Η εξιδανικευμένη εταιρεία που αναπτύσσει εγγενείς εφαρμογές για υπολογιστές διαθέτει μια εξαιρετική ομάδα για το macOS, μια άλλη ομάδα που αναπτύσσει την εφαρμογή για τα Windows και ίσως άλλη μία που υποστηρίζει το Linux. Κάθε εφαρμογή είναι προσεκτικά βελτιστοποιημένη για την πλατφόρμα της και κάθε μηχανικός γνωρίζει σε βάθος το λειτουργικό σύστημα στο οποίο εργάζεται.

Οι περισσότερες εταιρείες δεν έχουν αυτή την πολυτέλεια.

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

Η εγγενής ανάπτυξη το κάνει αυτό δυσκολότερο, επειδή το macOS, τα Windows και το Linux είναι πραγματικά διαφορετικές πλατφόρμες. Έχουν διαφορετικά πλαίσια διεπαφής χρήστη, API, συστήματα αδειών, συμπεριφορά κύκλου ζωής, προγράμματα εγκατάστασης, μηχανισμούς ενημέρωσης, συστήματα ειδοποιήσεων, διαχείριση παραθύρων, API προσβασιμότητας και ιδιαιτερότητες κάθε πλατφόρμας που έχουν συσσωρευτεί επί χρόνια.

Το Electron αλλάζει αυτή την εξίσωση. Συνδυάζει το Chromium, το Node.js και API για υπολογιστές σε ένα κοινό μοντέλο εφαρμογής για macOS, Windows και Linux. Ο ίδιος μηχανικός TypeScript μπορεί συχνά να αναπτύξει μια λειτουργία, από τη διεπαφή μέχρι τη λογική της εφαρμογής, και να τη διαθέσει σε κάθε πλατφόρμα υπολογιστών. Ο εγγενής κώδικας παραμένει διαθέσιμος όταν είναι πραγματικά απαραίτητος, αλλά γίνεται η εξαίρεση αντί για το θεμέλιο του προϊόντος. Το ίδιο το Electron περιγράφει αυτό ως ένα από τα βασικά πλεονεκτήματά του: μία βάση κώδικα JavaScript και για τις τρεις μεγάλες πλατφόρμες υπολογιστών.

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

Με το Electron, μεγάλο μέρος αυτής της δουλειάς γίνεται μία φορά.

Το Electron δίνει προτεραιότητα στην ταχύτητα των κύκλων βελτίωσης

Τα προϊόντα σπάνια γίνονται εξαιρετικά επειδή η πρώτη υλοποίηση ήταν τέλεια. Γίνονται εξαιρετικά μέσα από διαδοχικούς κύκλους βελτίωσης.

Μια ομάδα κυκλοφορεί κάτι. Οι πελάτες το χρησιμοποιούν. Η ομάδα μαθαίνει. Αλλάζει τη λειτουργία. Περισσότεροι άνθρωποι τη χρησιμοποιούν. Ένα άλλο πρόβλημα γίνεται ορατό. Η ομάδα τη βελτιώνει ξανά.

Όσο συντομότερος είναι ο κύκλος μεταξύ ιδέας, υλοποίησης, ανατροφοδότησης και βελτίωσης, τόσο γρηγορότερα βελτιώνεται ένα προϊόν.

Το Electron είναι ιδιαίτερα καλό στο να συντομεύει αυτόν τον κύκλο, επειδή βασίζεται σε τεχνολογίες που οι εταιρείες λογισμικού ήδη χρησιμοποιούν παντού: JavaScript, TypeScript, HTML, CSS, React, Chromium, Node.js και npm.

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

Ένας μηχανικός frontend δεν παύει ξαφνικά να είναι χρήσιμος επειδή η εταιρεία χρειάζεται βοήθεια με την εφαρμογή για Windows. Ένας μηχανικός εφαρμογών υπολογιστών μπορεί να συνεισφέρει στη διαδικτυακή εφαρμογή. Ένας μηχανικός full-stack που χρησιμοποιεί TypeScript μπορεί να μετακινείται μεταξύ προϊόντων καθώς αλλάζουν οι προτεραιότητες.

Για μια μικρή ή μεσαία εταιρεία, αυτή η ευελιξία μπορεί να αξίζει πολύ περισσότερο από την εξοικονόμηση 100 MB RAM.

Δείτε ποιοι χρησιμοποιούν πραγματικά το Electron

Το Electron περιγράφεται μερικές φορές ως μια εύκολη λύση για εταιρείες που δεν θέλουν να επενδύσουν σε μια «σωστή» εφαρμογή για υπολογιστές. Τα προϊόντα που έχουν αναπτυχθεί με αυτό κάνουν αυτό το επιχείρημα όλο και πιο δύσκολο να υποστηριχθεί.

Το ίδιο το έργο Electron προβάλλει προϊόντα όπως τα Slack, Discord, Signal, ChatGPT, Claude, Visual Studio Code, Notion, Docker, Loom και Canva. Δεν πρόκειται για απλά βοηθητικά προγράμματα. Πολλά συγκαταλέγονται στις πιο εξελιγμένες και ευρέως χρησιμοποιούμενες εφαρμογές παραγωγικότητας στον κόσμο.

Το Visual Studio Code είναι ένα ιδιαίτερα χρήσιμο παράδειγμα. Η Microsoft θα μπορούσε να αναπτύξει τον κορυφαίο επεξεργαστή κώδικά της με σχεδόν οποιαδήποτε τεχνολογία Windows ήθελε, κι όμως το VS Code χρησιμοποιεί Electron σε Windows, macOS και Linux. Περιλαμβάνει τερματικά, αποσφαλμάτωση, διακομιστές γλωσσών προγραμματισμού, ενσωμάτωση Git, απομακρυσμένη ανάπτυξη, notebooks, επεκτάσεις και επεξεργαστές με εκτεταμένη προσαρμογή.

Το ενδιαφέρον ερώτημα δεν είναι αν η Microsoft θα μπορούσε να εξοικονομήσει μνήμη αναπτύσσοντας τρεις ξεχωριστές εγγενείς εκδόσεις. Φυσικά και θα μπορούσε.

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

Το ChatGPT και το Claude δείχνουν τη διαφορά στην προσέγγιση

Η αντίθεση μεταξύ ChatGPT και Claude είναι επίσης διδακτική.

Η OpenAI αρχικά ανέπτυξε μια ειδική εγγενή εφαρμογή macOS για το ChatGPT. Η Anthropic, αντίθετα, ανέπτυξε το Claude Desktop με Electron και είχε από την αρχή μια κοινή βάση εφαρμογής υπολογιστών για όλες τις πλατφόρμες.

Αυτή η διαφορά έγινε πιο σημαντική καθώς τα προϊόντα επεκτείνονταν. Το Claude Desktop μπορούσε να συνεχίσει να προσθέτει δυνατότητες όπως ενσωματώσεις MCP, επεκτάσεις και το Claude Code στην ίδια διαπλατφορμική εφαρμογή. Η Anthropic πλέον υποστηρίζει το Claude Code απευθείας μέσα στην εφαρμογή της για υπολογιστές, συμπεριλαμβανομένων πολλαπλών τοπικών και απομακρυσμένων συνεδριών.

Αργότερα, και η OpenAI στράφηκε προς το Electron για τη νεότερη διαπλατφορμική κατεύθυνση των εφαρμογών της για υπολογιστές, και το Electron πλέον κατατάσσει τόσο το ChatGPT όσο και το Claude μεταξύ των σημαντικών εφαρμογών Electron.

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

Αυτό είναι ακριβώς το είδος πλεονεκτήματος που γίνεται πιο πολύτιμο καθώς μεγαλώνει ένα προϊόν για υπολογιστές.

Το Evernote έμαθε το κόστος της συντήρησης ξεχωριστών εφαρμογών-πελατών

Το Evernote είναι ένα από τα πιο ξεκάθαρα ιστορικά παραδείγματα αυτού του προβλήματος.

Για χρόνια, το Evernote συντηρούσε διαφορετικές εφαρμογές για Mac, Windows, κινητές συσκευές και τον ιστό. Με τον καιρό, αυτά τα προϊόντα συσσώρευσαν διαφορετικές συμπεριφορές, διαφορές στην απόδοση του περιεχομένου, παραδοχές που κληρονομήθηκαν από παλαιότερες εκδόσεις και προβλήματα συγχρονισμού.

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

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

Όταν ένα προϊόν διαθέτει έναν πλούσιο επεξεργαστή, αποθήκευση εκτός σύνδεσης, αναζήτηση, συνημμένα, συνεργασία, εργασίες, ημερολόγια και σύνθετο συγχρονισμό, η συντήρηση αρκετών ανεξάρτητων υλοποιήσεων γίνεται όλο και πιο δαπανηρή. Τα σφάλματα συμπεριφέρονται διαφορετικά. Η απόδοση του περιεχομένου διαφέρει. Η λογική συγχρονισμού αλληλεπιδρά με διαφορετικές τοπικές αρχιτεκτονικές. Κάθε ουσιαστική αλλαγή στο προϊόν πρέπει να μεταφέρεται σε αρκετές εφαρμογές-πελάτες.

Μια κοινή αρχιτεκτονική δεν εξαφανίζει τα δύσκολα προβλήματα. Επιτρέπει στην εταιρεία να λύνει περισσότερα από αυτά μία φορά.

Το Linux ίσως είναι το πιο υποτιμημένο πλεονέκτημα του Electron

Το Linux κάνει τα επιχειρήματα υπέρ του Electron ακόμη ισχυρότερα.

Η σωστή υποστήριξη του Linux είναι δύσκολη. Σε αντίθεση με το macOS ή τα Windows, το «Linux για υπολογιστές» δεν είναι μία αυστηρά ελεγχόμενη πλατφόρμα. Οι προγραμματιστές πρέπει να αντιμετωπίζουν διαφορετικές διανομές, μορφές πακέτων, περιβάλλοντα επιφάνειας εργασίας, στοίβες γραφικών, βιβλιοθήκες συστήματος και πρωτόκολλα προβολής.

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

Το Electron αλλάζει τα οικονομικά δεδομένα.

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

Τα Visual Studio Code, Slack, Discord, Signal, 1Password, Postman, Obsidian και πολλά άλλα εργαλεία μπορούν να υποστηρίζουν το Linux χωρίς να συντηρούν μια εντελώς ξεχωριστή εφαρμογή GTK ή Qt.

Το Electron αναλαμβάνει επίσης μεγάλο μέρος της πολυπλοκότητας που αφορά ειδικά το Linux για λογαριασμό των προγραμματιστών εφαρμογών. Ένα καλό παράδειγμα είναι η μετάβαση από το X11 στο Wayland. Οι συντηρητές του Electron έχουν περιγράψει πώς η μετάβαση του Chromium στο Wayland ουσιαστικά παρέσυρε μαζί της και τις εφαρμογές Electron, μειώνοντας τη δουλειά στη στοίβα προβολής που έπρεπε να κάνει ανεξάρτητα κάθε ομάδα εφαρμογής.

Χωρίς πλαίσια όπως το Electron, πολλές εταιρείες δεν θα ανέπτυσσαν εγγενείς εφαρμογές για Linux. Απλώς θα υποστήριζαν macOS και Windows και θα άφηναν τους χρήστες Linux με μια καρτέλα στο πρόγραμμα περιήγησης.

Το Electron πιθανότατα έχει κάνει περισσότερα για το εμπορικό λογισμικό υπολογιστών στο Linux απ’ όσα του αναγνωρίζονται.

Ακόμη και η Microsoft επιλέγει όλο και περισσότερο τεχνολογίες ιστού

Η Microsoft είναι ίσως το ισχυρότερο αντιπαράδειγμα στην ιδέα ότι το σοβαρό λογισμικό για Windows πρέπει πάντα να χρησιμοποιεί εγγενή πλαίσια διεπαφής χρήστη των Windows.

Η Microsoft ελέγχει τα Windows. Ελέγχει τα Win32, .NET, WinUI, WebView2 και μεγάλο μέρος της πλατφόρμας πάνω στην οποία αναπτύσσουν οι προγραμματιστές. Αν η πλήρως εγγενής ανάπτυξη για Windows ήταν πάντα η προφανής απάντηση, η Microsoft θα βρισκόταν στην καλύτερη δυνατή θέση για να τη χρησιμοποιεί παντού.

Δεν το κάνει.

Το Visual Studio Code χρησιμοποιεί Electron. Το Teams εξακολουθεί να βασίζεται σε React, TypeScript και Chromium, ακόμη και αφού η Microsoft αντικατέστησε το Electron με ένα πιο βελτιστοποιημένο περιβάλλον φιλοξενίας WebView2. Το νέο Outlook για Windows βασίζεται επίσης σε μεγάλο βαθμό σε τεχνολογίες ιστού, και η Microsoft περιγράφει ρητά αυτή την αρχιτεκτονική ως τρόπο βελτίωσης της ευελιξίας, ταχύτερης διάθεσης λειτουργιών και δημιουργίας μιας πιο συνεπούς εμπειρίας.

Το Teams είναι ιδιαίτερα διδακτικό. Η Microsoft ήθελε να βελτιώσει τις επιδόσεις και να μειώσει την κατανάλωση πόρων, οπότε άλλαξε την αρχιτεκτονική. Δεν ξαναέγραψε όμως τη διεπαφή χρήστη ως μια παραδοσιακή εγγενή εφαρμογή Windows.

Κράτησε τη στοίβα τεχνολογιών ιστού και έκανε βελτιστοποιήσεις γύρω από αυτή.

Αυτή η διάκριση έχει σημασία. Η Microsoft αποφάσισε ότι τα οργανωτικά πλεονεκτήματα των React, TypeScript και Chromium άξιζε να διατηρηθούν, ακόμη και ενώ βελτίωνε εντατικά τις επιδόσεις.

Υπάρχει και ένα άλλο δίδαγμα εδώ. Η ίδια η Microsoft έχει εισαγάγει πολλές γενιές τεχνολογιών εφαρμογών Windows με τα χρόνια: Win32, WPF, UWP, WinUI και άλλες. Μια εταιρεία που επιλέγει «εγγενή ανάπτυξη για Windows» δεν επιλέγει απαραίτητα μια διαχρονική πλατφόρμα. Συχνά στοιχηματίζει σε μία γενιά του πλαισίου που προτιμά η Microsoft.

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

Οι προσλήψεις είναι μέρος της αρχιτεκτονικής

Οι επιλογές πλαισίων καθορίζουν επίσης ποιους μπορείτε να προσλάβετε.

Οι προγραμματιστές JavaScript και TypeScript αποτελούν μία από τις μεγαλύτερες δεξαμενές μηχανικών στον κλάδο. Μια εταιρεία που αναπτύσσει με Electron μπορεί να προσλαμβάνει από αυτή τη δεξαμενή αντί να χρειάζεται ξεχωριστές ομάδες έμπειρων ειδικών σε macOS, Windows και Linux.

Οι ειδικοί στην εγγενή ανάπτυξη παραμένουν πολύτιμοι. Τα σοβαρά προϊόντα για υπολογιστές εξακολουθούν να χρειάζονται μηχανικούς που κατανοούν σε βάθος τα λειτουργικά συστήματα. Όμως το Electron αλλάζει τον αριθμό των ειδικών που χρειάζεστε.

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

Αυτό έχει ακόμη μεγαλύτερη σημασία όταν μια εταιρεία διαθέτει ήδη μια διαδικτυακή εφαρμογή. Τα στοιχεία React μπορούν μερικές φορές να χρησιμοποιούνται από κοινού. Οι βιβλιοθήκες TypeScript μπορούν να επαναχρησιμοποιούνται. Η λογική του προϊόντος μπορεί να μεταφέρεται μεταξύ ιστού και υπολογιστών. Οι μηχανικοί μπορούν να αλλάζουν ομάδες χωρίς να μαθαίνουν ένα εντελώς διαφορετικό οικοσύστημα.

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

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

Εγγενές δεν σημαίνει αυτόματα καλύτερο λογισμικό

Οι προγραμματιστές συχνά χρησιμοποιούν τη λέξη «εγγενές» σχεδόν ως συνώνυμο του «γρήγορου».

Δεν είναι.

Τα εγγενή API δίνουν στους προγραμματιστές τη δυνατότητα να δημιουργήσουν μια πολύ αποδοτική εφαρμογή. Το αν το τελικό προϊόν το πετυχαίνει πραγματικά εξαρτάται από την αρχιτεκτονική, την ομάδα, τον προϋπολογισμό και το πόση δουλειά βελτιστοποίησης μπορεί να χρηματοδοτήσει η εταιρεία.

Μια εγγενής εφαρμογή μπορεί και πάλι να είναι αργή, γεμάτη σφάλματα, απαιτητική σε μνήμη, ασυνεπής ή κακοσυντηρημένη.

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

Φανταστείτε ότι μια εταιρεία έχει έξι διαθέσιμους μηχανικούς για το προϊόν της για υπολογιστές. Μια επιλογή είναι να τους μοιράσει μεταξύ Mac και Windows, αφήνοντας ίσως το Linux χωρίς υποστήριξη. Μια άλλη είναι να τοποθετήσει σχεδόν και τους έξι σε μία κοινή εφαρμογή Electron που εξυπηρετεί και τις τρεις πλατφόρμες.

Ποια προσέγγιση δίνει στην εταιρεία μεγαλύτερη δυνατότητα να βελτιώσει τον χρόνο εκκίνησης, να διορθώσει διαρροές μνήμης, να τελειοποιήσει τις αλληλεπιδράσεις, να βελτιώσει την προσβασιμότητα, να μειώσει τις καταρρεύσεις και να ανταποκριθεί στους χρήστες;

Δεν είναι προφανές ότι οι εγγενείς εφαρμογές δίνουν το καλύτερο προϊόν.

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

Το Electron σας δίνει μια ελεγχόμενη πλατφόρμα

Το Electron έχει επίσης ένα ακόμη πλεονέκτημα που είναι εύκολο να παραβλέψει κανείς: περιλαμβάνει το περιβάλλον εκτέλεσης Chromium με το οποίο αναπτύχθηκε και δοκιμάστηκε η εφαρμογή.

Αυτό αφαιρεί μια σημαντική μεταβλητή από τη διαπλατφορμική ανάπτυξη.

Τα πλαίσια που βασίζονται στις προβολές ιστού των λειτουργικών συστημάτων μπορούν να παράγουν μικρότερες εφαρμογές, αλλά το αντάλλαγμα είναι ότι το ίδιο frontend μπορεί να εκτελείται στο WebView2 στα Windows, στο WKWebView στο macOS και στο WebKitGTK στο Linux. Αυτές οι μηχανές έχουν διαφορετικές δυνατότητες, σφάλματα, χρονοδιαγράμματα κυκλοφορίας και συμπεριφορά απόδοσης.

Το Electron κάνει έναν διαφορετικό συμβιβασμό: συμπεριλαμβάνει το περιβάλλον εκτέλεσης και το καθιστά μέρος της εφαρμογής.

Ναι, αυτό κοστίζει χώρο στον δίσκο.

Δίνει όμως στους προγραμματιστές έναν πολύ πιο συνεπή στόχο σε τρία πολύ διαφορετικά λειτουργικά συστήματα.

Η συνέπεια έχει τεράστια αξία για την ανάπτυξη λογισμικού.

Όταν το Electron δεν αρκεί, μπορείτε και πάλι να χρησιμοποιήσετε εγγενή κώδικα

Η επιλογή του Electron δεν σημαίνει ότι εγκαταλείπετε την πρόσβαση σε εγγενείς δυνατότητες.

Οι εφαρμογές Electron μπορούν να χρησιμοποιούν εγγενείς μονάδες και κώδικα ειδικό για κάθε πλατφόρμα όπου χρειάζεται. Αυτό σημαίνει ότι η αρχιτεκτονική επιλογή δεν είναι στην πραγματικότητα:

100% εγγενής κώδικας ή 100% JavaScript.

Για πολλά προϊόντα, ένα καλύτερο μοντέλο είναι:

το μεγαλύτερο μέρος της εφαρμογής κοινό, με μικρή ποσότητα εγγενούς κώδικα όπου το λειτουργικό σύστημα τον απαιτεί πραγματικά.

Ο εγγενής κώδικας γίνεται μια διέξοδος αντί για το θεμέλιο ολόκληρου του προϊόντος.

Αυτή είναι μια πολύ καλύτερη κατανομή της προσπάθειας ανάπτυξης για πολλές εταιρείες.

Οι χρήστες νοιάζονται για τα προϊόντα, όχι για τα πλαίσια

Υπάρχει μια μικρή ομάδα χρηστών με προχωρημένες τεχνικές γνώσεις που ανοίγουν την Παρακολούθηση δραστηριότητας, παρατηρούν αρκετές διεργασίες Chromium και αμέσως παραπονιούνται ότι μια εφαρμογή χρησιμοποιεί Electron.

Οι περισσότεροι χρήστες δεν το κάνουν.

Δεν τους νοιάζει ότι το Slack χρησιμοποιεί Electron. Δεν τους νοιάζει ότι το VS Code έχει αναπτυχθεί με τεχνολογίες ιστού. Δεν γνωρίζουν ποιο πλαίσιο χρησιμοποιεί το Claude. Τους νοιάζει αν το λογισμικό τούς βοηθά να κάνουν τη δουλειά τους.

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

Το αντίστροφο ισχύει εξίσου. Μια εγγενής εφαρμογή δεν γίνεται αυτόματα καλό προϊόν επειδή χρησιμοποιεί Swift ή WinUI.

Το λογισμικό ανταγωνίζεται σε επίπεδο προϊόντος, όχι σε επίπεδο πλαισίου.

Βελτιστοποιήστε την εταιρεία, όχι μόνο το εκτελέσιμο αρχείο

Το Electron έχει πραγματικό κόστος. Χρησιμοποιεί περισσότερο χώρο στον δίσκο. Το βασικό του αποτύπωμα μνήμης είναι συνήθως υψηλότερο από εκείνο μιας μικρής εγγενούς εφαρμογής. Υπάρχουν σαφώς προϊόντα όπου αυτό το κόστος κάνει το Electron λανθασμένη επιλογή.

Ένα μικροσκοπικό βοηθητικό πρόγραμμα στη γραμμή μενού μάλλον δεν χρειάζεται το Chromium. Ένα πρόγραμμα οδήγησης συσκευής σίγουρα δεν το χρειάζεται. Τα παιχνίδια, το επαγγελματικό λογισμικό ήχου και οι εφαρμογές με εξαιρετικά αυστηρές απαιτήσεις καθυστέρησης έχουν διαφορετικές ανάγκες. Και αν το προϊόν σας πρόκειται να λειτουργεί αποκλειστικά σε ένα λειτουργικό σύστημα, η εγγενής ανάπτυξη γίνεται πολύ ευκολότερο να δικαιολογηθεί.

Όμως ένα τεράστιο ποσοστό του σύγχρονου λογισμικού για υπολογιστές δεν ανήκει σε αυτές τις κατηγορίες.

Αποτελείται από σύνθετες διεπαφές συνδεδεμένες με υπηρεσίες cloud. Πρέπει να λειτουργεί σε Windows και macOS, και όλο και περισσότερο οι χρήστες περιμένουν και υποστήριξη Linux. Πρέπει να εξελίσσεται συνεχώς. Ανταγωνίζεται προϊόντα που κυκλοφορούν αλλαγές κάθε εβδομάδα. Και συνήθως αναπτύσσεται από μια εταιρεία με περιορισμένο αριθμό μηχανικών.

Για αυτά τα προϊόντα, η παραγωγικότητα των προγραμματιστών είναι μέρος των επιδόσεων της εφαρμογής.

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

Μπορείτε εύκολα να μετρήσετε το κόστος του Electron σε megabyte.

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

Αυτό το κόστος δεν εμφανίζεται στην Παρακολούθηση δραστηριότητας.

Για την εταιρεία όμως που αναπτύσσει το λογισμικό, μπορεί να είναι σημαντικά μεγαλύτερο.

Ο στόχος της ανάπτυξης λογισμικού δεν είναι να παραχθεί το μικρότερο εκτελέσιμο αρχείο.

Είναι να αναπτυχθεί το καλύτερο προϊόν που ο οργανισμός σας μπορεί να κυκλοφορήσει, να συντηρήσει και να βελτιώνει συνεχώς.

Για μια εκπληκτικά μεγάλη κατηγορία εφαρμογών υπολογιστών, το Electron παραμένει ένας από τους πιο αποδοτικούς τρόπους για να γίνει ακριβώς αυτό.