nw.js: Rangka kerja untuk membina aplikasi asli menggunakan teknologi web
berbanding dengan rangka kerja aplikasi hibrid yang lain, elektron, NW.JS mempunyai kelebihan berikut: sokongan untuk krom. dan mengintegrasikan node.js dalam pekerja web.
Proses membuat aplikasi hibrid menggunakan NW.JS termasuk menubuhkan struktur projek, mewujudkan fail yang nyata, dan mewujudkan pandangan utama. Anda boleh merujuk kepada aplikasi sampel pada GitHub.
nw.js boleh dibangunkan dan dihasilkan dan dipasang menggunakan pakej
dan nw
masing -masing. Proses pembungkusan dan pengedaran boleh dipermudahkan dengan menambahkan skrip NPM ke fail nw-builder
. package.json
Artikel ini dikaji semula oleh Tim Sevien dan Joan Yin. Terima kasih kepada semua pengulas rakan sebaya SitePoint untuk membuat kandungan SitePoint sempurna!
NW.JS adalah rangka kerja untuk membuat aplikasi asli menggunakan teknologi web seperti HTML, JavaScript dan CSS. Ringkasnya, anda menggunakan proses biasa untuk membangunkan aplikasi web. Pada akhir proses, anda menjalankan penjana yang menyusun segala -galanya ke dalam aplikasi asli, dan aplikasi memaparkan aplikasi web anda seperti penyemak imbas. Aplikasi ini dipanggil "aplikasi hibrid."
Aplikasi hibrid sangat bagus bukan sahaja kerana mereka ditulis dalam bahasa yang sudah anda kenal (HTML, JavaScript, dan CSS), tetapi juga kerana mereka mempunyai kelebihan penting berikut mengenai aplikasi web biasa:
Kawalan penyemak imbas dan versi penyemak imbas (anda tahu penyemak imbas mana aplikasi anda dipanggil). Aplikasi hibrid NW.JS dipaparkan menggunakan Chromium (pelayar sumber terbuka yang berjalan di belakang Google Chrome). Oleh itu, aplikasi yang dijalankan di Chrome juga harus dijalankan dengan NW.Js.
terdengar baik? Kemudian mari kita mulakan. Dalam artikel ini, kita sebenarnya akan belajar tentang NW.JS dan belajar bagaimana untuk membuat aplikasi hibrid. Anda boleh mencari contoh aplikasi yang dibina menggunakan arahan dalam artikel ini di GitHub.
Pertama sekali, satu perkara yang disebutkan: NW.JS bukanlah satu -satunya rangka kerja untuk aplikasi hibrid. Pesaing lain dipanggil Electron. Ia dilancarkan pada tahun 2013, dua tahun di belakang NW.JS, tetapi dengan cepat menjadi terkenal kerana ia datang dari GitHub. Sekarang anda mungkin berminat dengan perbezaan di antara mereka. Berikut adalah kelebihan NW.JS berbanding dengan elektron:
Sebaliknya, aplikasi elektron menentukan fail JavaScript sebagai titik masuknya. Fail JavaScript ini dibuka dalam proses utama yang berasingan, dan fail HTML kemudiannya boleh dibuka di GUI. Ini bermakna bahawa dalam teori anda boleh menjalankan aplikasi elektron tanpa GUI. Juga, menutup GUI tidak menutup proses utama;
Walaupun Electron membuka pintu untuk aplikasi desktop yang ditulis dalam JavaScript dan tanpa GUI, aplikasi NW.JS mungkin lebih mudah untuk disediakan jika anda hanya ingin memaparkan aplikasi berasaskan HTML.
Nota: Jika anda benar -benar menyukai kelebihan elektron, lihat artikel terbaru SitePoint mengenai membuat aplikasi desktop dengan elektron.
Mari mula membuat aplikasi yang akan disusun menjadi aplikasi asli kemudian. Memandangkan terdapat banyak cara untuk menyediakan aplikasi web - menggunakan pelbagai bahasa JS (typescript, coffeescript, dll.), Pemuat modul (memerlukanJs, webpack, systemjs, dll.), Rangka kerja (AngularJS, React, vue.js, dan lain -lain) dan preprocessors (SCSS, kurang, HAML, dll.) - dan setiap orang mempunyai keutamaan mereka sendiri, kami hanya menggunakan teknologi HTML, CSS dan JS (ES6 standard) asas.
tidak ada nw.js boilerplate (projek mula) untuk sebarang tetapan. Semua ini dibina untuk rangka kerja tertentu, loader modul, atau preprocessor. Oleh itu, kami akan melaksanakan aplikasi NW.JS yang mudah dari awal. Sangat mudah difahami dan anda boleh menyesuaikannya dengan mudah kemudian ke keperluan anda, atau beralih ke boilerplate.
Pertama, kita perlu membuat struktur dan fail projek kita:
<code>nw.js-example/ ├── src/ │ ├── app/ │ │ └── main.js │ ├── assets/ │ │ └── icon.png │ ├── styles/ │ │ └── common.css │ ├── views/ │ │ └── main.html │ └── package.json └── package.json</code>
Arahan:
<code>{ "name":"nw.js-example", "main":"views/main.html", "window":{ "min_width":400, "min_height":400, "icon":"assets/icon.png" } }</code>
Buat paparan rumah
anda memutuskan apa aplikasinya. Saya mencipta contoh Projek NW.JS-Examples pada GitHub untuk menunjukkan beberapa ciri NW.JS seperti Integrasi Node.js dan akses papan klip. Jangan ragu untuk mencubanya dalam permohonan anda. Tetapi anda boleh menggunakan kandungan lain juga.
Untuk apa sahaja yang anda memutuskan, anda mesti sekurang -kurangnya membuat fail src/views/main.html kerana ia adalah titik masuk aplikasi. Ia mungkin kelihatan seperti ini:
<code>nw.js-example/ ├── src/ │ ├── app/ │ │ └── main.js │ ├── assets/ │ │ └── icon.png │ ├── styles/ │ │ └── common.css │ ├── views/ │ │ └── main.html │ └── package.json └── package.json</code>
Dalam aplikasi sebenar, anda mungkin mempunyai beberapa fail pandangan lain dan memuatkannya menggunakan AJAX. Untuk kesederhanaan, anda juga boleh membuat hiperpautan asli dan rujukan fail HTML yang lain. Contohnya:
<code>{ "name":"nw.js-example", "main":"views/main.html", "window":{ "min_width":400, "min_height":400, "icon":"assets/icon.png" } }</code>
Pasang nw.js
untuk melakukan ini, kita memerlukan dua pakej berikut:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>NW.js-example | main</title> <link rel="stylesheet" href="../styles/common.css"> </head> <body> <h1>Hello World :-)</h1> <🎜> </body> </html>
<a href="https://www.php.cn/link/58c1dbad4977b4c106bca8015477757e">Something</a>
Pembungkusan dan pengedaran
{ "name":"nw.js-example", "version":"1.0.0", "devDependencies":{ "nw":"^0.18.2", "nw-builder":"^3.1.2" } }
$ npm install
Pembinaan Pengeluaran
untuk menjalankan pengeluaran pengeluaran kami, hanya jalankan:
{ "name":"nw.js-example", "version":"1.0.0", "devDependencies":{ "nw":"^0.18.2", "nw-builder":"^3.1.2" }, "scripts":{ "dev":"nw src/", "prod":"nwbuild --platforms win32,win64,osx64,linux32,linux64 --buildDir dist/ src/" } }
akan mengambil sedikit masa ...
Apabila selesai, periksa dist/folder anda. Ia sepatutnya kelihatan seperti ini:
Hebat, kami hampir selesai!
$ npm run dev
Ujian dan Debug
<code>nw.js-example/ ├── src/ │ ├── app/ │ │ └── main.js │ ├── assets/ │ │ └── icon.png │ ├── styles/ │ │ └── common.css │ ├── views/ │ │ └── main.html │ └── package.json └── package.json</code>
Automasi
Jika aplikasi anda tidak menggunakan kaedah API khusus NW.JS, anda secara teorinya boleh menyimpan aliran kerja aplikasi web biasa anda-sebagai contoh, menggunakan karma sebagai pelari spesifikasi, digabungkan dengan melati sebagai rangka kerja ujian.
Kesimpulan
Saya harap artikel ini akan memberi anda pemahaman yang mendalam tentang kelebihan dan penggunaan kes-kes NW.JS. Terdapat banyak sebab mengapa menggunakan aplikasi hibrid lebih baik daripada mengedarkan folder .zip yang mengandungi fail HTML (dan kemudian berjalan dari sistem fail). NW.JS juga boleh digunakan sebagai pengganti aplikasi asli, kerana anda tidak perlu memberi tumpuan kepada GUI kompleks, dan anda mempunyai banyak ciri terbina dalam seperti pemain video. Oleh kerana anda dapat mengesan persekitaran, anda juga boleh membangunkan aplikasi yang boleh dijalankan pada pelayan web dan mesin klien biasa menggunakan NW.JS. Dengan beberapa helah, dan terima kasih kepada enjin Chromium yang kuat, pengguna tidak dapat merasakan perbezaan dari aplikasi asli.
Apakah model pilihan anda? Atau teknologi apa yang anda pilih untuk membangunkan aplikasi NW.JS? Adakah ia berkesan untuk menggunakan contoh NW.JS dan bukannya pelaksanaan aplikasi tugasan dalam artikel ini? Tolong beritahu saya dalam komen.
nw.js adalah alat yang berkuasa untuk membangunkan aplikasi desktop silang platform. Tidak seperti kerangka lain, NW.JS membolehkan pemaju menulis kod dalam HTML, CSS, dan JavaScript, yang biasanya digunakan dalam pembangunan web. Ini memudahkan pemaju web beralih ke pembangunan aplikasi desktop. Di samping itu, NW.JS mempunyai ciri unik yang membolehkan akses langsung ke API Node.js di DOM, membolehkan ciri -ciri yang lebih kompleks dan berkuasa.
Untuk memulakan dengan nw.js, anda perlu memuat turun dan memasangnya dari laman web rasmi. Sebaik sahaja pemasangan selesai, anda boleh membuat direktori projek baru, tambahkan fail HTML, CSS, dan JavaScript anda, dan kemudian jalankan aplikasi anda menggunakan NW.JS Executable. Dokumentasi NW.JS menyediakan panduan terperinci tentang cara memulakan.
Ya, anda boleh menggunakan NW.JS untuk projek komersial. NW.JS adalah sumber terbuka dan tersedia secara percuma, menjadikannya penyelesaian kos efektif untuk membangunkan aplikasi desktop silang platform. Walau bagaimanapun, perlu diperhatikan bahawa mana-mana modul pihak ketiga yang digunakan mungkin mempunyai keperluan pelesenan sendiri.
Pembungkusan dan pengedaran aplikasi NW.JS melibatkan membuat fail yang boleh dilaksanakan secara mandiri yang boleh dijalankan pada platform sasaran. Ini boleh dilakukan menggunakan alat seperti NW-Builder atau Webpack. Setelah dibungkus, aplikasi itu boleh diedarkan melalui pelbagai saluran, seperti muat turun langsung atau kedai aplikasi.
nw.js menyokong pelbagai platform. Ia boleh digunakan untuk membangunkan aplikasi untuk Windows, Mac, dan Linux. Sokongan rentas platform ini adalah salah satu kelebihan utama menggunakan NW.JS kerana ia membolehkan pemaju menulis kod sekaligus dan dijalankan pada pelbagai platform.
Debugging Aplikasi NW.JS adalah serupa dengan aplikasi web debugging. Anda boleh debug menggunakan alat pemaju Chrome yang disediakan oleh bundle NW.JS. Alat ini menyediakan banyak fungsi untuk memeriksa dan menyahpepijat kod.
Ya, salah satu ciri utama NW.JS adalah keupayaan untuk menggunakan modul Node.js secara langsung di DOM. Ini membolehkan fungsi yang lebih kompleks dan berkuasa dilaksanakan dalam permohonan anda. Anda boleh menggunakan mana -mana beribu -ribu modul yang terdapat pada NPM dalam aplikasi NW.JS anda.
Mengemas kini aplikasi NW.JS melibatkan menggantikan versi lama aplikasi dengan versi baru aplikasi. Ini boleh dilakukan secara manual oleh pengguna, atau anda boleh menggunakan modul seperti NW-updater untuk melaksanakan kemas kini automatik dalam aplikasi.
Ya, nw.js membolehkan akses langsung ke API asli melalui Node.js. Ini bermakna anda boleh menggunakan ciri -ciri asli seperti sistem fail, rangkaian, peranti, dan lain -lain dalam aplikasi anda. Ini adalah kelebihan utama NW.JS melalui teknologi web tradisional.
Mengoptimumkan prestasi aplikasi NW.JS melibatkan pelbagai teknologi seperti meminimumkan dan menghubungkan fail JavaScript, mengoptimumkan imej, dan menggunakan algoritma yang cekap dan struktur data. Di samping itu, anda boleh menggunakan alat pemaju Chrome untuk menganalisis dan menyahpepijat isu prestasi.
Output yang disemak semula ini mengekalkan penempatan dan format imej asal, ayat -ayat dan perenggan untuk keaslian semasa memelihara makna teras, dan menggunakan bahasa yang lebih ringkas dan berkesan.
Atas ialah kandungan terperinci Membina aplikasi desktop silang platform dengan nw.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!