Ein bisschen ĂŒber Neutralino.js

Was ist neutralino.js?


Diese Technologie ist ein ziemlich interessantes Analogon zum derzeit etablierten Electron und NodeWebkit . Wie unterscheidet es sich von den oben genannten technologischen Lösungen? Wenn Sie den Aussagen in der offiziellen Dokumentation glauben, ist die Architektur der Anwendungskonstruktion selbst hervorragend, sodass Sie plattformĂŒbergreifende Anwendungen auf Webtechnologien mit einer ausreichend geringen GrĂ¶ĂŸe des endgĂŒltigen Builds erstellen können.

Bild

Wie lÀuft die Installation?


Basierend auf der offiziellen Dokumentation können wir zwei Optionen fĂŒr die Installation und Verwendung der beschriebenen Technologie bei der Entwicklung unserer eigenen plattformĂŒbergreifenden Anwendungen fĂŒr Webtechnologien unterscheiden.

  1. Laden Sie das fertige tragbare SDK herunter .
  2. Verwendung einer speziellen CLI-Schnittstelle unter dem Namen neu-cli.

In diesem Artikel werden wir genau die 2. Installationsoption betrachten, da meiner Meinung nach die gegebene Lösung sowohl in architektonischer als auch in praktischer Hinsicht die ganzheitlichste ist.

#  npm
$ ~ npm install -g @neutralinojs/neu

#  yarn
$ ~ yarn global add @neutralinojs/neu

Hinweis fĂŒr Benutzer von * nix-Systemen
, webkit2gtk. Neutralino.js.

#  Linux Arch   
$ ~ sudo pacman -S webkit2gtk

#  Debian   
$ ~ sudo apt-get install libwebkit2gtk


Wichtige architektonische Merkmale


Diese Technologie wird auf der Grundlage der Client-Server-Architektur implementiert und zeichnet sich auch durch die Verwendung eines eher nicht trivialen Build-Systems aus, das auf vorbereiteten BinĂ€rdateien fĂŒr jedes Betriebssystem basiert.
Vielleicht ist es auch erwÀhnenswert, dass es verschiedene Varianten des Startens und Debuggens von Software gibt, nÀmlich:

  1. Cloud - gekennzeichnet durch die FĂ€higkeit, jedes Softwareprodukt zu verbinden, unter BerĂŒcksichtigung der Beliebtheit des dafĂŒr verwendeten Ports.
  2. Browser - gekennzeichnet durch das automatische Öffnen des Hauptbrowsers auf dem Computer des Benutzers. Ein Tokensystem wird verwendet.
  3. Fenster ist die Hauptmethode zum Verteilen Ihrer Software. Wie in der vorherigen Version wird ein Tokensystem verwendet, das in Ihr HTML-Dokument eingebettet ist.

Ordner und Dateisystem


├── app
| ├── assets
| | ├── app.css
| | ├── app.js
| | └── neutralino.js
| ├── index.html
| └── settings.json
└── neutralino-win.exe
└── neutralino-linux
└── neutralino-mac
└── storage

  1. app/assets — , Neutralino.js , . , app.css app.js.
  2. index.html — .
  3. settings.json — , .
  4. appname-linux — Linux.
  5. appname-win.exe — Windows.
  6. appname-mac — macOS.
  7. storage — JSON , .

. API-


  1. Settings — , «settings.json».
  2. File System — . , , .
  3. OS — . ,
  4. Computer — . .
  5. Storage — JSON- «storage».
  6. Debug — . .
  7. App — . exit.


Die Entwickler dieser Technologie versuchen, eine minimalistische Umgebung fĂŒr Ihre endgĂŒltige Anwendung einzuhalten, und daraus ergeben sich einige interessante Fehler und Probleme.

Erstens gibt es eine ziemlich stark eingeschrĂ€nkte FunktionalitĂ€t. Was passiert, wenn es fehlt? Genau. Sie mĂŒssen eine völlig andere technologische Lösung verwenden.
Zweitens gibt es in der offiziellen Dokumentation keine Interaktion zwischen dem Render- und dem Serverprozess. In diesem Fall haben Sie nur eine Option zur Lösung Ihres Problems - das Anzeigen von Quellcodes von Entwicklern.

Drittens entspricht das verwendete Assembly-System keinem minimalistischen Datensatz, da Sie fĂŒr die Softwareverteilung beide Dateien gleichzeitig fĂŒr das * nix-System und fĂŒr Windows verteilen mĂŒssen.

Viertens endet der deklarierte Minimalismus des endgĂŒltigen Builds mit der Zusammenstellung einer Testreact-Anwendung. Der endgĂŒltige Bau geht um 180-190 MiB.

Fazit


Die in diesem Artikel beschriebene Technologie ist eine interessante Architekturlösung zum Schreiben von Desktop-Anwendungen, die auf Webtechnologien basieren, aber gleichzeitig ein sehr grobes Produkt, das zu diesem Zeitpunkt nicht nur Electron, sondern auch NodeWebkit einfach keinen angemessenen Wettbewerb bieten kann .

Meiner Meinung nach liegt dieses Problem gerade in den verwendeten architektonischen Lösungen und der unzureichenden Dokumentation der Technologie selbst. Vielleicht sollten Sie die FunktionalitĂ€t der endgĂŒltigen Anwendung erweitern? Und wird ein solcher Minimalismus zu einem bestimmten Zeitpunkt benötigt? Immerhin ist der Gewinn von 20-30 MiB fĂŒr RAM im Vergleich zur heutigen Hardware recht gering.

All Articles