Kluczowe dania na wynos
- Electron to opakowanie, które uruchamia strony internetowe jako aplikacje na twoim komputerze.
- Te aplikacje wieloplatformowe są łatwiejsze i szybsze w budowie.
- Aplikacje rzadko są tak dopracowane lub zintegrowane jak oficjalnie obsługiwane aplikacje.
Aplikacje internetowe są w całym Internecie, a teraz przejmują kontrolę nad Twoim komputerem.
„Elektron” to nazwa, która może wywołać drżenie nawet najbardziej okazjonalnym użytkownikom komputerów Mac. Jest to sposób dla programistów, aby raz napisać swoją aplikację i uruchomić ją w systemach Windows, Mac i w przeglądarce internetowej. Ale to dlatego, że aplikacje Electron działają w przeglądarce, przeglądarce opartej na Chromium zamaskowanej jako aplikacja. A teraz Agile Bits, twórca 1Password, porzuca swoją oficjalną aplikację Mac dla Electrona. To nie brzmi tak źle, więc dlaczego ludzie są tacy źli?
"Dzięki silnikowi Chromium, z Electron, aplikacje są renderowane tak, jakby działały w przeglądarce. Ma to jednak koszt: wysokie zużycie procesora i pamięci RAM w porównaniu z [oficjalnie wspieranymi] aplikacjami, " – twórca aplikacji Burak Özdemir powiedział Lifewire e-mailem.
Więcej elektronów, więcej problemów
Özdemir trafia prosto w sedno. Największym problemem z Electron, z praktycznego punktu widzenia, jest to, że zużywa on zasoby komputera. Uruchamia przeglądarkę internetową wraz z kilkoma dodatkowymi procesami pomocniczymi dla każdej używanej aplikacji Electron.
Te przeglądarki pochłaniają absurdalną ilość pamięci roboczej komputera, a także obciążają procesor. Krótko mówiąc, komputer będzie się nagrzewał i zużywał więcej energii, tym samym szybciej rozładowując baterię.
Deweloperzy kopią Electron, ponieważ jest to mniej pracy. Wystarczy napisać aplikację tylko raz i działa ona na każdej platformie obsługującej Electron.
Ale może cię to nie obchodzi. Może używasz dużego, wydajnego komputera stacjonarnego, który jest zawsze podłączony do zasilania i nie zależy Ci na marnowaniu energii elektrycznej. To prowadzi nas do drugiego i być może ważniejszego powodu, dla którego użytkownicy komputerów Mac nie lubią Electrona.
Każda platforma komputerowa ma wygląd i styl. Na komputerze Mac wszystkie okna dialogowe wyglądają tak samo. Skróty klawiaturowe są spójne we wszystkich aplikacjach, klawisz ⌘ powoduje wyświetlenie okna preferencji aplikacji itd.
Aplikacje elektronowe łamią tę spójność, chociaż starają się tego nie robić - tłumaczą powiadomienia i menu na wersje odpowiednie dla platformy, ale ogólny projekt aplikacji rzadko jest zgodny z konwencjami platformy. Wydaje się to nieuniknione, jeśli tworzysz aplikację działającą zarówno w systemie Windows, jak i macOS – nie możesz zmieścić się na obu platformach.
Co gorsza, aplikacje Electron często nie zachowują się jak ich wbudowane odpowiedniki. Na przykład aplikacja Slack Mac robi wszelkiego rodzaju dziwne rzeczy po naciśnięciu klawiszy strzałek lub użyciu standardowych skrótów klawiaturowych systemowych do poruszania się po wpisanym tekście. I nie ma standardowego panelu preferencji - zamiast tego otrzymujesz stronę internetową.
Dlaczego programiści go używają
Deweloperzy kopią Electron, ponieważ jest to mniej pracy. Wystarczy napisać aplikację tylko raz i działa ona na każdej platformie obsługującej Electron. To znaczące dobrodziejstwo, gdy budujesz startup. W dzisiejszych czasach sama sieć jest często główną platformą, z aplikacjami dla komputerów Mac, Windows lub Linux na odległym trzecim miejscu po iPhonie, iPadzie i Androidzie.
„Wielu programistów będzie korzystać z aplikacji opartych na Electron dla komputerów Mac, ponieważ platforma pozwala na jednorazowe zakodowanie aplikacji i wdrożenie jej w systemie macOS” – powiedział Lifewire inżynier sieci Eric McGee. „Ta struktura zapewnia również bogaty interfejs użytkownika dla zbudowanych na niej aplikacji komputerowych”.
Programowanie elektronów jest również łatwe dla osób, które już tworzą aplikacje internetowe. Wykorzystuje dokładnie tę samą technologię - HTML, CSS i JavaScript - więc nie ma potrzeby uczenia się nowego języka ani zatrudniania nowych programistów, którzy je znają.
Najpierw iPhone
Dlaczego więc Electron nie jest również używany na urządzeniach mobilnych? Deweloperom może się to podobać i byłoby to o jedno zadanie mniej, ale Electron po prostu nie jest wystarczająco dobry.
„[Electron] zużywa dużą ilość pamięci RAM i wymaga ogromnej ilości pamięci, co czyni go złym wyborem dla aplikacji na iOS, które muszą być szybkie, lekkie i wywierać minimalny nacisk na pamięć RAM”, mówi McGee.
Innym powodem jest to, że Apple na to nie pozwoli. Apple utrudnia życie programistom przesyłanie aplikacji Electron do Mac App Store, ale jest to możliwe, a także łatwe jest po prostu pobranie aplikacji i zainstalowanie jej bezpośrednio.
Największym problemem z Electron, z praktycznego punktu widzenia, jest to, że zużywa on zasoby komputera.
W systemie iOS firma Apple nie zezwala żadnym aplikacjom na uruchamianie własnego silnika renderowania stron internetowych. Oznacza to, że aplikacje mogą korzystać tylko z WebKit, co jest podstawą działania Safari. Nawet rzeczywiste przeglądarki internetowe na iOS-Chrome, Firefox, Brave-all używają WebKit zamiast własnej technologii.
Oznacza to, że nie możesz uruchomić back-endu Chromium wymaganego przez aplikacje Electron, co z kolei zmusza programistów do tworzenia odpowiednich aplikacji.
Elektron prawdopodobnie nigdzie się nie wybiera - nie, dopóki internet i urządzenia mobilne pozostają głównymi platformami usług i aplikacji. Ale to nie znaczy, że musisz lubić aplikacje Electron lub pozwolić im wysysać baterię, jednocześnie brzydąc komputer. Może trzymaj się oficjalnie obsługiwanych aplikacji tam, gdzie możesz.