1Jul
Czy zauważyłeś, że wiele nowych aplikacji na komputery wygląda jak strony internetowe? To nie twoja wyobraźnia.
Od Trello do Slack, od WordPress.com do Github, staje się coraz bardziej powszechne w przypadku tak zwanych aplikacji komputerowych do pakowania strony internetowej z kilkoma natywnymi funkcjami, takimi jak powiadomienia, dostęp do systemu plików i menu. Najpopularniejszą technologią, która umożliwia to, jest Electron, i jest używana przez kilka aplikacji, których nawet nie podejrzewasz, takich jak aplikacja Dyskord Discord i kod Visual Studio Microsoft.
Electron ułatwia programistom jednoczesne wydawanie aplikacji w systemach Windows, macOS i Linux, ale są też wady dla użytkowników. Aplikacje elektronowe są ogromne, z jednej strony. Slack, aplikacja do czatu, zajmuje 237 MB miejsca na dysku twardym na moim Macu, a zużycie pamięci też nie jest niskie. Co obejmuje wszystkie te zasoby? Dlaczego deweloperzy używają czegoś tak nieefektywnego?
Aplikacje elektroniczne są dość łatwe do wykonania Aplikacje
do komputerów stacjonarnych są trudne do wykonania, szczególnie jeśli chcesz, aby były one wieloplatformowe. Dostęp do systemu plików działa inaczej w systemie Windows niż na przykład w Linuksie, a powiadomienia działają inaczej w systemie MacOS niż w Windows. Oznacza to, że każdy, kto chce napisać aplikację dla wszystkich trzech systemów operacyjnych( lub nawet dwóch z nich), musi przepisać wiele swoich kodów podczas przenoszenia z jednego do drugiego.
Electron "rozwiązuje" to, oferując pojedynczą platformę, która działa na wszystkich trzech głównych komputerowych systemach operacyjnych. Oznacza to, że programiści mogą napisać kod dla takich rzeczy jak jednorazowe powiadomienia i oczekiwać, że będzie działał natywnie w każdym systemie operacyjnym. Jeszcze lepiej dla programistów: wszystko można zbudować przy użyciu technologii JavaScript, HTML i CSS, które są dobrze znane każdemu, kto koduje w Internecie.
Aplikacje elektroniczne są dostarczane z całkiem dużą ilością Chromium
Jak to jest możliwe? Po części dlatego, że każda aplikacja Electron łączy kompletną przeglądarkę internetową: Chromium, wersję Google Chrome o otwartym kodzie źródłowym. Jest on dołączany razem z instrukcjami specyficznymi dla platformy, aby zapewnić, że wszystko zachowuje się dokładnie tak, jak deweloperzy oczekują na wszystkich systemach. Właśnie dlatego komputerowa wersja Slacka zajmuje ponad 200 MB miejsca na dysku twardym: większość Chrome jest tam w pakiecie.
Każda uruchomiona aplikacja Electron jest mniej więcej pełnym wystąpieniem Chrome. Jak zauważył bloger Joseph Gentle, nie jest to idealne rozwiązanie:
Możesz myśleć o Slacku jako małym programie javascript działającym w innej maszynie wirtualnej VM( chrome), którą musisz uruchomić, aby zasadniczo rozmawiać na IRC.Nawet jeśli masz otwarty prawdziwy chrom, każda aplikacja elektronowa uruchamia własną, dodatkową kopię całej maszyny wirtualnej.
Więc tak, są wady dla użytkowników. Po pierwsze, każda pobierana aplikacja elektronu zawiera większość Chromium, a każda uruchomiona aplikacja wykonuje dobry fragment tego kodu. Nie ma tutaj podziału zasobów, tak jak w przypadku aplikacji natywnych, co oznacza, że aplikacje elektroniczne zajmą więcej miejsca na dysku i pamięci niż aplikacja opracowana specjalnie z myślą o tej platformie. Jeśli wydajność jest czymś, na czym naprawdę zależy, możesz chcieć uniknąć aplikacji elektronowych.
Poczekaj, więc czy elektron jest dobry czy zły?
W tym momencie komputery są tak potężne, że większość użytkowników nawet nie zauważy, jak nieefektywne są aplikacje elektronowe. W rzeczywistości ogromna większość nigdy nie słyszała o Electron. Większość moich współpracowników tego nie robiła i codziennie używają Slacka. Wielu z nich było podekscytowanych faktem, że pojawiła się komputerowa wersja Trello i znowu nie miał pojęcia, że to aplikacja firmy Electron.
Te aplikacje naprawdę lepiej integrują się z systemem operacyjnym niż strony internetowe.Żyją we własnym oknie. Oferują świetne skróty klawiaturowe, natywne powiadomienia i inne rzeczy, których nie możesz zrobić w taki sam sposób, używając tylko przeglądarki.
I jest dobrze, że aplikacje takie jak Slack, Trello i WordPress.com nie zadałyby sobie trudu, by zaoferować wersję na komputery stacjonarne, gdyby Electron nie istniał, skupiając się na wersjach mobilnych i przeglądarkowych. Nie chodzi więc o to, czy elektron jest zły;chodzi o to, czy aplikacje elektronowe są lepsze niż nic. Jestem gotów powiedzieć tak, ale rozsądni ludzie mogą się nie zgodzić.(I hej, dla tych ludzi, zawsze jest wersja internetowa.)