Mengapa HTML, CSS, dan JavaScript tidak digunakan untuk aplikasi desktop? [Tutup]

17

HTML, CSS, dan JavaScript dapat digunakan untuk membuat UI yang indah (dan bermanfaat) (terutama sekarang kami memiliki HTML5 dan CSS3), dan banyak orang sudah mengetahuinya. Meskipun masih jauh dari jangkauan saya, seberapa sulitkah untuk membawa seluruh aplikasi web ke aplikasi desktop? Kami sudah menguji aplikasi di server lokal kami sebelum hosting mereka.

Menurut pendapat saya, ini ide yang bagus dan sederhana yang akan membuat ledakan di aplikasi desktop. Plus, mengingat bahwa aplikasi ini sudah berbagi banyak kode dengan aplikasi web, mereka mungkin dapat menawarkan konektivitas yang lebih baik.

Mengapa itu tidak dilakukan?

kapv89
sumber
15
Bukankah ini baru saja diumumkan sebagai Windows 8?
ChrisF
sry, tidak banyak penggemar windows, apa yang sebenarnya saya tanyakan adalah kerangka kerja open source untuk mengembangkan aplikasi desktop berbasis db yang dapat terhubung ke internet, dan ya, akhirnya sesuatu pemecahan jalur dari ms
kapv89
Mengapa kertas tidak digunakan untuk membuat mobil? (Ya, ini waktu analogi yang buruk :))
haylem
@ ChrisF Apakah itu pernah berjalan untuk Windows 8 atau hanya hype?
developerwjk

Jawaban:

30

Adobe sudah melakukannya dengan Adobe Air , dan Mozilla juga dengan Prism . Google juga mencoba menjembatani kesenjangan antara desktop dan web dengan Google Gears .

Namun secara umum, teknologi web tidak cocok untuk banyak jenis aplikasi desktop, berikut beberapa alasannya:

  • Tidak ada akses perangkat keras lengkap yang segera tersedia.
  • Tidak ada akses sistem level rendah.
  • Tidak ada akses sistem file yang mudah tersedia (teknologi yang saya sebutkan di atas memungkinkan Anda untuk mendapatkan akses fs tetapi masing-masing dari mereka sebagai solusi yang berbeda).
  • Performa. Aplikasi asli yang dikompilasi umumnya lebih cepat daripada aplikasi Javascript.
  • Mudah bagi pesaing untuk mencuri kode sumber
  • Tidak ada perpustakaan yang tersedia untuk tugas-tugas khusus. Ex. pemrosesan gambar, pengodean suara, akses basis data, pemrograman jaringan dll ...
Trasplazio Garzuglio
sumber
Agar adil, tidak semua aplikasi membutuhkan perangkat keras penuh atau akses tingkat rendah. Bahasa VM seperti Java pasti bekerja dengan baik tanpa akses semacam itu
TheLQ
6
Nah, apakah Anda tahu banyak aplikasi Java desktop?
Yoni Roit
bagaimana dengan javascript di google v8, saya telah membaca sangat cepat (secepat java), saya dapat melihat perbedaannya sendiri ketika saya menjalankan animasi js yang berat di chrome dan browser lainnya. Dan dengan menumbuhkan api untuk html5, js benar-benar membawa banyak ke meja, dengan hal-hal kanvas, Anda dapat melakukan pemrosesan gambar dan semua ... jadi saya tidak berpikir js benar-benar memiliki seperangkat alat yang buruk, sebagai plus, ini lebih merupakan bahasa pemrograman fungsional, (fungsi adalah objek kelas satu)
kapv89
1
baru saja memeriksa prisma (sekarang WebRunner) dan google gears, hal-hal yang menyenangkan untuk
diutak-
3
@YoniRoit: Eclipse, Vuze, sistem pesanan apoteker saya ...
haylem
2

Kerangka kerja yang terlintas dalam pikiran adalah Adobe Air. Ini memungkinkan pengembang web untuk menggunakan Javascript / HTML untuk mengembangkan aplikasi desktop. Javascript / HTML itu sendiri tidak cocok untuk aplikasi desktop karena seringkali aplikasi desktop membutuhkan akses ke layanan yang disediakan oleh sistem operasi, misalnya membuka file, meluncurkan aplikasi lain, dll. Javascript sendiri tidak mengizinkan akses ke layanan tersebut jadi Anda membutuhkan sesuatu yang ekstra dan kerangka kerja seperti Adobe Air memberikan lem ekstra.

davidk01
sumber
1

Ada beberapa cara untuk melakukan ini sekarang. Ada Kerangka Aplikasi Mozilla yang sering digunakan oleh browser web seperti Firefox tetapi juga digunakan oleh, misalnya, IDE Komodo dari ActiveState .

Ada juga Qt, yang di Qt Quick memiliki CSS dan bahasa seperti Javascript.

Andrew Dalke
sumber
bagus, akan melihat ke dalam kerangka kerja aplikasi Mozilla
kapv89
1

IMO, saya tidak mengadopsi HTML dan CSS sebagai cara untuk layout GUI karena tidak ada kompiler yang saya tahu untuk bahasa-bahasa ini. Jika saya memiliki kesalahan dalam kode, saya harus mencarinya sendiri atau saya mungkin tidak menyadarinya (atau pergi ke situs HTML untuk mengujinya).

Dalam c ++ saya suka itu tidak akan membiarkan saya mengkompilasi kecuali kodenya benar (kecuali untuk menangkap masalah runtime).

Saya juga tidak percaya CSS & HTML bermain dengan sangat baik bersama-sama, seperti menggunakan float di CSS - tergantung pada kode HTML Anda & penggunaan - hasil float akan memiliki hasil yang berbeda - kurangnya konsistensi dibandingkan dengan menggunakan positioning absolut di win32 atau pengelola tata letak Java Swing yang hebat.

pengguna14321
sumber
3
Validator HTML dan CSS yang pada dasarnya akan melakukan apa yang dilakukan oleh kompiler C ++ Anda: pemeriksaan sintaks dan ketik pemeriksaan. Saya percaya bahwa beberapa IDE yang kuat datang dengan validator seperti itu.
Arnaud Le Blanc
1
Untuk bagian penentuan posisi, CSS juga memiliki penentuan posisi absolut, dan HTML5 memiliki lebih banyak daripada pengelola tata letak Swing. Beberapa editor juga akan membiarkan Anda mendesain GUI dengan gaya WYSIWYG.
Arnaud Le Blanc
0

Salah satu alasan utama adalah bahwa jika Anda tidak ingin aplikasi Anda mudah dicuri dan disalin Anda juga harus membuat aplikasi yang memegang WebControl yang langsung terhubung ke file Anda dikemas dalam beberapa cara.
Bahkan, ada aplikasi yang melakukan ini. Appcelerator Titanium adalah satu. Saya tidak menyarankan Anda menggunakannya karena terakhir kali saya melihatnya penuh dengan bug dan kurang didukung. Anda harus melakukan penelitian sendiri apakah layak atau tidak.

James P. Wright
sumber
0

Agak terlambat, tetapi jika Anda menggunakan AsYouWish di Firefox (atau membuat add-on Firefox jika Anda tidak keberatan zip file dan pengujian dengan alat mereka), Anda dapat membuat aplikasi dalam HTML yang memiliki hak desktop. Jika Anda menggunakan WebAppFind (saat ini hanya Windows), Anda juga dapat membuka file desktop dari desktop langsung ke aplikasi web (tanpa perlu drag and drop).

Penafian: Pengaya (sumber terbuka) ini dibuat oleh saya.

Brett Zamir
sumber
1
Anda harus mengungkapkan afiliasi Anda dengan produk yang Anda iklankan.
Rob W
0

Anda dapat menggunakan Javascript, HTML dan CSS untuk membangun aplikasi untuk Windows Store, Windows Phone dan - saya berasumsi - XBox melalui "Universal Apps". (Agar lebih jelas, mulai di Visual Studio menggunakan File | New Project ...)

Ini menggunakan hal di atas untuk membangun UX Anda dan kode aplikasi terhadap implementasi API asli .

Tentu saja bukannya ini dilihat sebagai upaya oleh Microsoft untuk membuka platform untuk lebih banyak pengembang, itu dianggap sebagai dev dev berbasis C # dan XAML - yang tentu saja mereka tidak tapi itu tidak sebagus cerita ... terlepas dari sementara ini bukan jenis aplikasi desktop yang dianggapnya asli.

Murph
sumber