jak Node-Webkit, Electron zapewnia platformę do pisania na pulpicie aplikacji z JavaScript i HTML, i ma integrację Node na przyznać dostęp do systemu niskiego poziomu na stronach internetowych.
Ale są też zasadnicze różnice pomiędzy tymi dwoma projektami które sprawiają Electron całkowicie odrębny produkt z Node-Webkit:
1 - Wejście stosowania
W NW.js głównym punktem wejścia Aplikacja to strona internetowa lub skrypt JS . Użytkownik określa plik html lub js w pliku package.json i otwiera go w oknie przeglądarki jako główne okno aplikacji (w przypadku punktu wejścia html) lub skrypt jest wykonywany.
Podczas gdy w Electron, punktem wejścia jest skrypt JavaScript, zamiast , podając bezpośrednio adres URL, musisz ręcznie utworzyć okno przeglądarki i załadować plik HTML w odpowiednim interfejsie API. Musisz także przesłuchać zdarzenia w oknie, aby zdecydować, kiedy zamknąć aplikację.
Więc Electron działa bardziej jak runtime node.js, a API są bardziej niski poziom , można również użyć Electron dla celów testowania internetowych, takich jak phantomjs,
2 - system budowania
W celu Aby uniknąć złożoności budowania całego Chromium, Firma Electron korzysta z biblioteki libchromiumcontent, aby uzyskać dostęp do interfejsu API treści Chromium, . Biblioteka libchromiumcontent to pojedyncza, udostępniona biblioteka, która zawiera moduł zawartości chromu i wszystkie jego zależności. Użytkownicy nie potrzebują więc potężnej maszyny do budowy atom-shell.
3 - węzeł integracja
W Node-Webkit, integracja Węzeł na stronach internetowych wymaga łatania Chromium do pracy, podczas gdy w Electron wybraliśmy inną drogę do zintegrować pętlę libuv do wiadomości pętli każdej platformy, aby uniknąć hackowanie Chromium, zobacz kod node_bindings, jak to zrobić.
4 - Multi-context
Jeśli jesteś doświadczonym użytkownikiem Node-Webkit, należy zapoznać się z koncepcją kontekście Node i kontekstu internetowej, koncepcje te były wymyślona, ponieważ, jak węzeł-Webkit został wdrożony.
Korzystając z funkcji wielokrotnego kontekstu węzła, Electron nie wprowadza nowego kontekstu JavaScript na stronach internetowych w postaci .
** E ** lectron kontra ** N ** W.js (April'17). Stackoverflow questions [E: 2,630] (http://stackoverflow.com/questions/tagged/electron) vs [N: 269] (http://stackoverflow.com/questions/tagged/nw.js), Github pull wnioski [E: 102] (https://github.com/electron/electron/pulse/monthly) vs [N: 6] (https://github.com/nwjs/nw.js/pulse/monthly), aplikacje zbudowane na [Electron] (https://electron.atom.io/apps/) kontra [NW.js] (https://github.com/nwjs/nw.js/wiki/List-of-apps-and -companies-using-nw.js) i wreszcie [Google Trends] (https://trends.google.com/trends/explore?q=nwjs,electron%20js) - Electron wydaje się lepszym wyborem. – wildloop