Sekarang setelah TideSDK mati secara efektif, saya telah mencari alternatif 'pembungkus' untuk menjalankan aplikasi HTML / CSS / JS sebagai aplikasi desktop yang berdiri sendiri. Tiga opsi yang layak saya jalankan sejauh ini, adalah NW.js (sebelumnya node-webkit), shell-kurung , dan Electron (sebelumnya atom-shell).
Masalahnya adalah bahwa tampaknya tidak ada perbandingan yang cukup lengkap antara ketiganya dalam hal set fitur, kompatibilitas, dll. Saya berharap untuk mengubah ini menjadi untaian kanonik yang lebih atau kurang tentang perbedaan (objektif) antara ketiganya, khususnya mengenai:
- Dukungan platform ; sistem operasi, dependensi, dll.
- Dukungan fitur bahasa , sejauh menyangkut HTML5, CSS3, dan JavaScript. Pikirkan hal-hal seperti "apakah video HTML5 berfungsi, dan jika ya, codec apa yang tersedia?"
- Fitur tambahan non-standar , seperti ikon baki, pemberitahuan sembulan, dan bilah menu yang diberikan OS.
- Ekstensibilitas ; misalnya. kemampuan untuk 'menyambungkan' kode asli, berbicara dengan Node.js, dan sebagainya.
- Arsitektur ; khususnya perbedaan arsitektur yang memengaruhi penggunaan sehari-hari sebagai pengembang.
- Debugging ; termasuk alat pengembangan, kompatibilitas dengan alat yang biasa digunakan seperti
node-inspector
, dll. - ... dan seterusnya.
Apa tujuan, perbedaan teknis yang penting saat membuat pilihan di antara mereka sebagai pengembang aplikasi?
html
node-webkit
electron
brackets-shell
Sven Slootweg
sumber
sumber
Jawaban:
Saya melakukan penelitian serupa sekitar dua bulan lalu, dan pada akhirnya saya pergi dengan node-webkit. Sisi positif terbesar pada node-webkit adalah node.js dan npm. Manajemen paket npm sangat bagus, dan node telah melakukan akses sistem file dengan baik.
Brackets-shell terlihat menarik, tetapi selain IDE yang bagus, saya tidak benar-benar mengerti apa yang membuat ini sebagus atau lebih baik dari yang lain. Mereka sangat jelas bahwa "Shell-kurung hanya dikelola untuk digunakan oleh proyek kurung", yang berteriak lari ke saya.
https://github.com/adobe/brackets-shell#overview
Atom-shell tampaknya baru-baru ini aktif, tetapi sepertinya banyak tanda kurung di mana mereka benar-benar menulis dan editor / IDE yang kebetulan dilampirkan ke runtime webkit. Itu juga dibangun di atas node.js. Yang satu ini memiliki kelemahan karena sulit untuk mencari barang secara online tanpa diingatkan tentang kimia sekolah menengah Anda.
Saya benar-benar tidak menginginkan editor baru, dan sebagian besar programmer sudah memiliki favorit mereka. Untuk pengembangan aplikasi yang sebenarnya, mereka bekerja hampir sama, dan seharusnya, karena mereka semua menggunakan webkit. Anda pada dasarnya menulis 90-95% dari itu seperti situs web, dan kemudian berurusan dengan bagian asli, dan beberapa konfigurasi.
Hal-hal ini berlaku untuk ketiga platform - berjalan di Windows, Mac, dan dukungan bahasa Linux - HTML5, CSS3 dan Javascript: karena mereka menjalankan javascript Anda dapat mengunduh dan menjalankan hampir semua pustaka / kerangka kerja yang Anda inginkan.
Peringatan besar di webkit adalah dukungan codec. Biasanya Anda akan memiliki masalah dengan codec video tidak bebas, kecuali jika Anda membangun kembali dll untuk mendukungnya. Misalnya node-webkit yang dikirim tidak akan memutar video mp4.
sumber
bracket-shell
dan Atom dibangun di atasatom-shell
, tetapi Anda dapat menggunakan editor atau IDE pilihan untuk membuat kode dengan mereka. Saya pikir apa yang diinginkan OP lebih pada perbedaan teknis antara 3. Akan manis melihat sesuatu seperti TodoMVC di 3 lingkungan seperti runtime.Saya telah bermain dengan Atom-Shell selama beberapa hari terakhir, dan saya sangat menyukainya sejauh ini.
Bagian terbaik tentang itu adalah bahwa itu didukung oleh GitHub .. yang seharusnya memungkinkan Anda untuk menetap di platform untuk jangka panjang, terutama jika mendapatkan banyak pengikut. Ini juga dimungkinkan oleh perbaikan Node.js langsung berdasarkan kontrak dengan StrongLoop , yang merupakan kontributor Node.js utama (mereka mengklaim mempekerjakan lebih banyak pengembang inti Node.js daripada perusahaan lain, bahkan Joyent).
Saya juga merasa agak nyaman untuk memulai. Butuh waktu sekitar satu hari untuk mempelajari struktur dan mendapatkan bukti pertama saya konsep berjalan. Sangat keren.
Poin Peluru:
Pembaruan (11/25/14): Saya belum menemukan case use untuk Atom-Shell dalam kapasitas resmi apa pun, tetapi saya telah menggunakannya untuk membangun beberapa aplikasi kecil untuk saya gunakan sendiri, yang paling kompleks adalah aplikasi yang menarik log waktu saya dari perangkat lunak PM saya dan membuat faktur Paypal.
Pendapat saya tentang platform tetap positif. Cukup mengagumkan.
Pada aplikasi faktur waktu saya, saya berhasil membawa Contoh Template Dasbor Bootstrap 3 dan beberapa modul simpul (bluebird, Paypal SDK, Klien PM Teamwork) untuk membuat aplikasi yang agak rumit. Saya butuh beberapa hari dan melakukan tugasnya dengan baik.
Saya benar-benar tidak bisa memikirkan sesuatu yang negatif untuk dikatakan tentang Atom-Shell, yang solid, stabil, cepat, dan mudah dikodekan. Saya harap ini membantu seseorang.
sumber
Selain sepenuhnya mendukung standar Web, NW.js mendukung daftar fitur non-standar untuk pengembangan aplikasi asli termasuk:
Ada banyak lagi yang bisa dilihat di wiki termasuk Menu, Baki, dll.
sumber
Saya telah bekerja dengan kurung-shell untuk beberapa waktu sekarang, berikut adalah beberapa temuan saya:
Dokumentasi bisa lebih baik
dukungan platform Mereka mendukung Windows, Mac dan Linux. Paket penginstal juga dapat dibuat. Saya hanya mengujinya pada Win dan Mac, itu berfungsi dengan baik.
sumber
Satu hal yang perlu diperhatikan (jika Anda peduli), adalah bahwa Elektron secara resmi tidak mendukung Windows Vista. Pangsa pasar Vista sekitar setengah antara OSX 10.9 dan 10.10 (keduanya didukung sepenuhnya oleh Electron). Vista juga masih didukung oleh Microsoft hingga 2017.
NW.js berfungsi dengan baik di Vista, serta OSX 10.9+. NW.js bekerja di Ubuntu, Debian, Zorin, Manjaro, Arch, dan sebagian besar OS Linux berbasis Debian lainnya. Electron telah menolak PR untuk memperbaiki bug spesifik Ubuntu pada platform mereka yang memprihatinkan.
NW.js juga berfungsi di XP. Saat ini 18% pasar masih di XP. Jadi jika Anda aplikasi desktop lebih bersifat umum atau ingin memiliki akses ke pengadopsi yang terlambat masih di XP, Anda mungkin lebih baik dengan NW.js (0.14.7) karena Electron hanya mendukung Win 7 dan lebih tinggi.
Jika Anda menggunakan NW.js 0.12.3 Anda juga dapat mendukung OSX 10.6+ dan versi yang sangat lama dari Linux berbasis Debian seperti Ubuntu, dan Win XP +. Disarankan agar Anda melakukan build khusus hanya untuk sistem lawas itu dan menggunakan versi NW.js yang lebih baru untuk OS yang lebih baru.
sumber