Coraz więcej rankingów wskazuje, że to JavaScript jest dziś najpopularniejszym językiem programowania. Dla wielu nie świadczy to dobrze o kierunku, w jakim zmierza oprogramowanie, a sytuacji nie poprawia ElectronJS. Czy jesteśmy skazani na zasobożerne quasiaplikacje uruchamiane z wykorzystaniem javascriptowych frameworków? A może na horyzoncie rysuje się już perspektywa rozsądnej alternatywy?
Poszukwanie alternatywy dla Electrona
Korzystanie z JavaScriptu i Electrona do dostarczania aplikacji na pulpity (więc poza przeglądarkę) ma swoją niezaprzeczaną zaletę. Stosunkowo niewielkimi nakładami pracy możliwe jest dostarczenie tej samej aplikacji w zasadzie na wszystkie systemy operacyjne, bo praktycznie wszędzie można dziś uruchomić Chrome’a. O wadach pisaliśmy już wielokrotnie – ociężałość i ogromny apetyt na RAM sprawiają, że pecety, które jeszcze kilka lat temu bez problemu radziły sobie nawet z grami, dziś wypadają kiepsko w konfrontacji z aplikacją do regulacji jasności ekranu.
W rezultacie rodzi się pytanie – czy istnieje lub będzie istniał sposób, który zachowa dobrodziejstwa Electrona, ale pod względem apetytu na zasoby będzie porównywalny z oprogramowaniem stricte natywnym? Niewykluczone, że odpowiedź stanowią zaprezentowane podczas tegorocznej odsłony FOSDEM przez Siergieja Zajcewa biblioteki Lorca. Pozwalają one na tworzenie multiplatformowego oprogramowania w języku Golang z interfejsem zarojektowanym w HTML-u 5.
Golang + HTML 5 + Chrome = Lorca
Lorca rzecz jasna także wykorzystuje Chrome’a (wersja co najmniej 70), ale zamiast uruchamiać każdą kolejną instancję per aplikacja, w pierwszej kolejności wykorzystuje tę już zainstalowaną i działającą. To sprytne zagranie jest możliwe za pośrednictwem protokołu Chrome DevTools, a zatem narzędzi deweloperskich. Podobnie jak one tworzą nową instancję po edycji witryny, nie uruchamiając całej nowej instancji Chrome’a, podobnie Lorca wykorzystuje mechanizmy trybu deweloperskiego do uruchamiania oprogramowania w Golang/HTML5.
Takie rozwiązanie zdaje się mieć sporą przewagę nad Electronem. Przede wszystkim mamy do czynienia z Golang i same aplikacje powinny być mniejsze i wydajniejsze, niż to ma miejsce w przypadku JS. Po drugie, zamiast każdorazowo klonować instancje Chrome’a, Lorca w sprytny sposób wykorzystuje patenty znane z narzędzi deweloperskich. Czy tyle wystarczy, by zdobyć sobie serca programistów? Nietrudno się przekonać – biblioteki Lorca dostępne są już na GitHubie na licencji MIT.