Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >Bolehkah javascript menulis program desktop?

Bolehkah javascript menulis program desktop?

青灯夜游
青灯夜游asal
2022-03-28 17:08:274836semak imbas

Javascript boleh menulis program desktop. Dalam JavaScript, rangka kerja perisian Electron boleh digunakan untuk membangunkan program desktop Electron ialah perpustakaan sumber terbuka untuk membina aplikasi desktop merentas platform Ia menyediakan API tempatan yang kaya, membolehkan pembangun menggunakan JS tulen untuk mencipta aplikasi desktop.

Bolehkah javascript menulis program desktop?

Persekitaran pengendalian tutorial ini: sistem Windows 7, versi JavaScript 1.8.5, komputer Dell G3.

Apakah itu aplikasi desktop, yang juga dikenali sebagai program GUI? (Antara Muka Pengguna Grafik), tetapi terdapat beberapa perbezaan daripada program GUI. Aplikasi desktop mengubah atur cara GUI daripada GUI kepada "desktop", menjadikan konsep sejuk komputer seperti sekeping kayu lebih berperikemanusiaan, lebih jelas dan dinamik.

Bolehkah javascript menulis program desktop?Jadi bolehkah javascript menulis program desktop?

Javascript boleh menulis program desktop.

Dunia JavaScript semakin berkuasa dan anda boleh menggunakan rangka kerja seperti Eletron untuk membangunkan aplikasi desktop dengan mudah. Electron ialah perpustakaan pembangunan desktop javascript merentas platform Electron ialah perpustakaan sumber terbuka yang dibangunkan oleh Github yang menggunakan HTML, CSS dan JavaScript untuk membina aplikasi desktop merentas platform. Electron melakukan ini dengan menggabungkan Chromium dan Node.js ke dalam persekitaran masa jalan yang sama dan membungkusnya sebagai apl untuk sistem Mac, Windows dan Linux.

Electron menyediakan API asli (sistem pengendalian) yang kaya yang membolehkan anda mencipta aplikasi desktop menggunakan JavaScript tulen. Tidak seperti pelbagai masa jalan Node.js yang lain, Electron memfokuskan pada aplikasi desktop dan bukannya pelayan web. Elektron membenarkan anda menggunakan JavaScript tulen untuk memanggil API asli yang kaya untuk mencipta aplikasi desktop. Anda boleh menganggapnya sebagai varian io.js yang memfokuskan pada aplikasi desktop dan bukannya pelayan web.

Sebab menggunakan Elektron untuk pembangunan:

Menggunakan teknologi web dengan ekologi yang kukuh untuk pembangunan, kos pembangunan rendah, Skala yang kuat, UI yang lebih sejukMerentas platform, satu set kod boleh dibungkus ke dalam tiga set perisian untuk Windows, Linux dan Mac, dan penyusunannya pantas

    Sudah tentu, kita juga mesti mengenali kelemahannya: prestasi adalah lebih rendah daripada aplikasi desktop asli, dan aplikasi berpakej terakhir jauh lebih besar daripada aplikasi asli.
  • Pengalaman pembangunan
  • Keserasian

  • Walaupun anda masih membangun menggunakan teknologi WEB, Tetapi anda tidak perlu lagi mempertimbangkan isu keserasian Anda hanya perlu mengambil berat tentang versi Chrome yang sedang anda gunakan Secara umumnya, ia cukup baharu untuk membolehkan anda menggunakan API dan sintaks terkini. . Begitu juga, anda tidak perlu risau tentang isu keserasian gaya dan kod dengan penyemak imbas yang berbeza.
  • Persekitaran nod

Ini mungkin ciri yang diimpikan oleh ramai pembangun bahagian hadapan Menggunakan API berkuasa yang disediakan oleh Node.js dalam antara muka WEB bermakna itu anda Anda boleh mengendalikan fail secara terus, memanggil API sistem, dan juga mengendalikan pangkalan data pada halaman WEB. Sudah tentu, sebagai tambahan kepada API Node penuh, anda juga boleh menggunakan ratusan ribu modul npm tambahan.

Rentas domainAnda boleh terus menggunakan modul permintaan yang disediakan oleh Node untuk membuat permintaan rangkaian, yang bermaksud anda tidak perlu lagi bermasalah dengan merentas domain.

Skala yang berkuasa

Gunakan node-ffi untuk menyediakan kebolehskalaan yang berkuasa untuk aplikasi (akan diperkenalkan secara terperinci dalam bab berikut).

Siapa yang menggunakan Electron > telah dibangunkan, termasuk klien

biasa,

klien,

klien, dsb. Saya sangat kagum dengan copywriting Xunlei apabila ia mengeluarkan Xunlei X

tahun lepas:

Bermula dari Xunlei Thunder X menggunakan rangka kerja baharu dengan sempurna boleh menyokong paparan definisi tinggi seperti 2K dan 4K, dan pemaparan teks dalam antara muka juga lebih jelas dan tajam. Dari perspektif teknikal, rangka kerja baharu adalah lebih fleksibel dan cekap daripada rangka kerja lama dari segi lukisan antara muka dan pemprosesan acara, jadi kelancaran antara muka juga jauh lebih baik daripada rangka kerja lama Thunder. Bagi penambahbaikan khusus? Anda akan tahu apabila anda mencubanya.

Anda boleh membuka dan klik [Bantuan] [Tukar Alat Pembangun] untuk nyahpepijat antara muka klien.

Prinsip pengendalian elektron

Bolehkah javascript menulis program desktop?

Electron menggabungkan Chromium, Node.js dan API untuk memanggil fungsi setempat sistem pengendalian.

1. Chromium

Chromium ialah projek sumber terbuka yang dilancarkan oleh Google untuk membangunkan Chrome penyemak imbas Chromium adalah bersamaan dengan versi kejuruteraan atau versi percubaan Chrome , fungsi baharu akan dilaksanakan pada Chromium dahulu, dan akan digunakan pada Chrome selepas pengesahan Oleh itu, fungsi Chrome akan menjadi agak mundur tetapi lebih stabil.

Chromium menyediakan Electron dengan keupayaan UI yang berkuasa untuk membangunkan antara muka tanpa mengambil kira keserasian.

2. Node.js

Node.js ialah platform pembangunan yang membolehkan JavaScript dijalankan pada pelayan Node menggunakan model I/O yang dipacu peristiwa menjadi ringan dan cekap.

sahaja tidak boleh mempunyai keupayaan untuk mengendalikan secara langsung Chromium GUI menyepadukan Electron, yang membolehkannya membangunkan antara muka sambil juga mempunyai sistem pengendalian asas Nodejs Keupayaan, API. dan modul lain yang biasa digunakan dalam Nodejs boleh digunakan terus dalam Path、fs、Crypto. Electron

3. API Sistem

Untuk menyediakan sokongan

untuk sistem asli, GUI mempunyai antara muka program aplikasi asli terbina dalam untuk memanggil beberapa fungsi sistem, seperti memanggil pemberitahuan sistem dan membuka fail sistem Klip menyediakan sokongan. Electron

Dalam mod pembangunan,

sistem panggilan Electron dan antara muka lukisan dibangunkan secara berasingan Mari kita lihat API tentang cara proses dibahagikan. Electron

4. Proses utama

membezakan dua proses: proses utama dan proses rendering, yang masing-masing bertanggungjawab untuk fungsinya sendiri. Electron

Bolehkah javascript menulis program desktop?

Proses menjalankan skrip Electron package.json dipanggil proses utama. Aplikasi main sentiasa mempunyai satu dan hanya satu proses utama. Electron

Tanggungjawab:

    Buat proses pemaparan (boleh berbilang)
  • Kawal kitaran hayat aplikasi (mula, keluar
  • dan Lakukan beberapa pemantauan acara untuk APP) APP
  • Panggil fungsi asas sistem dan panggil sumber asli

API Boleh Panggil:

  • Node.js API
  • Proses utama yang disediakan oleh Electron (termasuk beberapa fungsi sistem dan APIfungsi tambahan) Electron
5 >

Memandangkan

menggunakan

untuk memaparkan halaman Electron, seni bina berbilang proses Chromium turut digunakan. Setiap halaman web dalam Chromium berjalan dalam proses pemaparannya sendiri. Electronweb

Proses utama menggunakan contoh BrowserWindow untuk mencipta halaman. Setiap contoh BrowserWindow menjalankan halaman dalam proses pemaparannya sendiri. Apabila tika BrowserWindow dimusnahkan, proses pemaparan yang sepadan juga akan ditamatkan.

Anda boleh menganggap proses pemaparan sebagai tetingkap penyemak imbas Ia boleh wujud berbilang dan bebas antara satu sama lain, tetapi tidak seperti penyemak imbas, ia boleh memanggil
.

Node API

Tanggungjawab:

Gunakan
    dan
  • untuk memaparkan antara mukaHTMLCSSGunakan
  • untuk melakukan beberapa interaksi antara muka
  • JavaScript
API Boleh Panggil:

  • DOM API
  • Node.js API
  • Rendering disediakan Proses
  • ElectronAPI
  • [Cadangan berkaitan:
tutorial video javascript

, bahagian hadapan web]

Atas ialah kandungan terperinci Bolehkah javascript menulis program desktop?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn