Sedikit tentang Neutralino.js

Apa itu neutralino.js?


Teknologi ini merupakan analog yang agak menarik dari Electron dan NodeWebkit yang saat ini didirikan . Apa bedanya dengan solusi teknologi di atas? Jika Anda meyakini pernyataan yang diberikan dalam dokumentasi resmi, arsitektur konstruksi aplikasi itu sendiri sangat bagus, yang memungkinkan Anda membuat aplikasi lintas platform pada teknologi web dengan ukuran bangunan akhir yang cukup kecil.

gambar

Bagaimana instalasinya?


Berdasarkan dokumentasi resmi, kami dapat membedakan dua opsi untuk menginstal dan menggunakan teknologi yang dijelaskan dalam pengembangan aplikasi lintas platform kami sendiri pada teknologi web.

  1. Unduh SDK portabel yang sudah jadi .
  2. Menggunakan antarmuka CLI khusus dengan nama neu-cli.

Pada artikel ini, kami akan mempertimbangkan dengan tepat opsi pemasangan kedua, karena menurut pendapat subjektif saya sendiri, solusi yang diberikan adalah yang paling holistik baik dalam hal arsitektur maupun praktis.

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

#  yarn
$ ~ yarn global add @neutralinojs/neu

Catatan untuk pengguna sistem * nix
, webkit2gtk. Neutralino.js.

#  Linux Arch   
$ ~ sudo pacman -S webkit2gtk

#  Debian   
$ ~ sudo apt-get install libwebkit2gtk


Fitur arsitektur utama


Teknologi ini diimplementasikan berdasarkan arsitektur client-server, dan juga ditandai dengan penggunaan sistem perakitan yang tidak sepele, yang didasarkan pada file-file biner yang telah disiapkan untuk setiap sistem operasi.
Juga, mungkin, perlu dicatat bahwa ada beberapa variasi perangkat lunak mulai dan debugging, yaitu:

  1. Cloud - ditandai oleh kemampuan untuk menghubungkan produk perangkat lunak apa pun, dengan mempertimbangkan popularitas port yang digunakan untuk itu.
  2. Browser - ditandai dengan pembukaan otomatis browser utama di komputer pengguna. Sistem token digunakan.
  3. Jendela adalah metode utama yang digunakan untuk mendistribusikan perangkat lunak Anda. Seperti pada versi sebelumnya, sistem token digunakan, yang tertanam dalam dokumen html Anda.

Folder dan Sistem File


β”œβ”€β”€ 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.


Pengembang teknologi ini mencoba mematuhi lingkungan minimalis untuk aplikasi akhir Anda, dan dari sinilah beberapa kesalahan dan masalah yang agak menarik terjadi.

Pertama, ada fungsi yang agak terbatas. Apa yang akan terjadi jika kurang? Persis. Anda harus menggunakan solusi teknologi yang sama sekali berbeda.
Kedua, tidak ada interaksi antara proses render dan server dalam dokumentasi resmi. Dalam hal ini Anda hanya memiliki satu opsi untuk menyelesaikan masalah Anda - melihat kode sumber dari pengembang.

Ketiga, sistem perakitan yang digunakan tidak sesuai dengan set data minimalis, karena untuk distribusi perangkat lunak Anda perlu secara bersamaan mendistribusikan kedua file untuk sistem * nix dan untuk Windows.

Keempat, minimalisme deklarasi akhir dinyatakan dalam perakitan aplikasi uji Bereaksi. Bangunan terakhir berjalan sekitar 180-190 MiB.

Kesimpulan


Teknologi yang dijelaskan dalam artikel ini adalah solusi arsitektur yang menarik untuk menulis aplikasi desktop berbasis pada teknologi web, tetapi pada saat yang sama produk yang sangat kasar, yang pada saat ini sama sekali tidak mampu memberikan persaingan yang layak tidak hanya untuk Electron, tetapi juga untuk NodeWebkit .

Menurut pendapat saya sendiri, masalah ini justru terletak pada solusi arsitektur yang digunakan dan dokumentasi yang tidak memadai dari teknologi itu sendiri. Mungkin Anda harus memperluas fungsionalitas aplikasi akhir? Dan perlukah minimalis seperti itu pada waktu tertentu? Lagi pula, perolehan 20-30 MiB untuk RAM cukup kecil menurut standar perangkat keras saat ini.

All Articles