Mari kita asumsikan dua asumsi berikut ini benar.
- Seluruh pengguna Anda memiliki akses broadband di mana-mana
- Ada browser imajiner X yang mengimplementasikan seluruh spesifikasi rancangan grup HTML5 dan WHATWG, secara konsisten dan semua pengguna menggunakan browser X.
Apa batasan intrinsik aplikasi web HTML5 publik komersial yang kami perlukan untuk aplikasi desktop publik komersial?
Saya tertarik pada batasan aplikasi web tanpa plugin yang tidak mengandalkan jembatan Flash / Java / SilverLight / etc untuk fitur tambahan atau bergantung pada plugin browser untuk fitur tambahan.
Kemungkinan Batasan yang tidak berlaku:
- Basis data? Kami memiliki WebSQL dan indexedDB.
- Mengajukan IO? Kami memiliki API File HTML5 yang dapat membaca dan menulis.
- Kecepatan? Dengan perlombaan mesin JavaScript baru-baru ini, browser tidak lagi lambat. Native C ++ hanya 3 kali lebih cepat dari mesin V8 chrome.
- Alat Pengembangan? Web telah matang dan ada berbagai macam alat yang tersedia yang terlalu banyak untuk disebutkan.
- Sumber Tertutup? Ya, semua kode adalah open source. Ini adalah pedang bermata dua dan ada banyak pendapat tentang penggunaan kode sumber tertutup atau sumber terbuka. Saya pribadi percaya kelebihan kode sumber terbuka lebih besar daripada kerugiannya.
- JavaScript / HTML5? Argumen seperti "Saya pribadi berpikir HTML5 dan EcmaScript adalah platform pengembangan yang mengerikan" tidak masuk hitungan.
Keterbatasan yang Diketahui:
- Kode kritis waktu nyata / keamanan (rahasia) bukan milik web, juga bukan miliknya. Itu perlu ditulis dalam bahasa tingkat rendah, sangat dapat dikontrol seperti C atau C ++.
- Alat apa pun yang perlu berinteraksi dengan perangkat keras pihak ketiga asing yang terpasang pada komputer Anda akan kesulitan berbicara dengan aplikasi web Anda.
Ada juga serangkaian program yang bukan milik web. Sistem operasi, driver, perangkat lunak server, API tingkat rendah. Saya mengetahui hal itu tetapi saya tidak menggolongkannya sebagai aplikasi "publik komersial", ini adalah jenis perangkat lunak yang dapat diinstal sebelumnya pada komputer.
Selain itu, saya tahu kedua asumsi itu sangat tidak realistis, tetapi kita mungkin mencapainya dalam 5/10/20/30 tahun. Saya tertarik pada jenis aplikasi dan fitur aplikasi yang membuatnya benar - benar tidak kompatibel dengan web.
Motivasi:
Inti nya:
Mengingat serangkaian masalah di mana aplikasi desktop adalah solusi yang valid.
- Mengapa aplikasi web bukan solusi yang valid?
- Bagaimana saya mengidentifikasi apakah saya dapat menggunakan aplikasi web atau tidak sebagai solusi.
Saya sudah mencoba untuk menghilangkan kesulitan utama dengan aplikasi web (koneksi internet dan dukungan browser) dengan menyatakan mereka tidak ada.
Selain itu, aplikasi offline HTML5 dan Modernizr berada di jalur untuk menyelesaikan kedua masalah tersebut.
Apa kesulitan lain dengan pengembangan aplikasi web?
Jawaban:
Dari atas kepalaku ...
sumber
Pada dasarnya, apa pun yang dapat dimasukkan ke dalam model server / klien dapat membuat aplikasi web yang bagus dan bahkan sebaliknya dapat dikatakan benar juga. Tren untuk pindah ke web telah berlangsung sangat cepat karena melihat bagaimana sebagian besar program dapat dimodelkan menjadi Model / Controller / View, program dapat memisahkan model dan pengontrol dari pandangannya.
Tentu saja untuk alasan efisiensi, beberapa pengontrol ditempatkan juga di sisi klien untuk menghindari kelebihan server dengan permintaan dan data yang salah.
Maksud saya adalah: program apa yang tidak cocok dengan model / pengontrol / tampilan arsitektur perangkat lunak, karena mereka kemungkinan program yang sama yang tidak pernah dikonversi menjadi aplikasi web. Contoh bagus yang muncul dalam pikiran adalah sistem operasi, penjadwal tugas, prompt perintah, perlindungan virus, perlindungan spyware. Masing-masing kemungkinan tidak diimplementasikan pada situs web karena tidak sesuai dengan model. Dan bukan kebetulan bahwa setiap program ini sangat bergantung pada sistem Anda. Sebagian besar membutuhkan akses langsung ke perangkat keras sementara yang lain hanya membutuhkan keamanan yang lebih tinggi untuk dapat dijalankan dan tidak dapat dipercaya untuk dilakukan oleh situs web internet.
Tentu saja, Google sepenuhnya mengadaptasi ulang konsep ini dengan sistem operasi baru mereka. Seharusnya, tidak seperti Windows, itu bukan hanya sebuah sistem yang tumbuh untuk menggunakan internet, melainkan sebuah sistem yang sangat bergantung padanya. Segera Anda mungkin melihat semua program ini tersedia secara online, memungkinkan akses ke perangkat keras dan perangkat lunak Anda, diberikan otentikasi sertifikat yang ketat untuk mencegah sembarang situs dapat melakukan hal itu tetapi lebih pada situs tepercaya. Saya ingin sekali melihat apa yang muncul, karena saya berpikir dalam 20 tahun mendatang, komputer tidak akan lagi dibuat dengan perangkat lunak yang dapat diinstal. Sebaliknya semua layanan akan tersedia secara online.
sumber
Perangkat lunak yang saya kerjakan sekarang memiliki aspek desktop dan juga aspek berbasis web karena ia perlu mengumpulkan data dari perangkat pihak ketiga. Kebutuhan pengembangan untuk driver, dan program desktop klien untuk menjembatani kesenjangan antara Perangkat dan Web.
Namun ini tidak mengecualikan aplikasi web karena jenis aplikasi desktop ini bisa tipis dengan logika yang sebagian besar berada di server.
Pada catatan lain orang dapat mengatakan dengan aspek cloud computing dan virtualisasi massa bahwa tidak ada aplikasi yang perlu dibatasi oleh keterbatasan dan celah keamanan teknologi web. Menjalankan aplikasi desktop dari lingkungan tervirtualisasi pada terminal bisu (Mirip seperti Citrix) telah menjadi jauh lebih mudah untuk dicapai dan mungkin pengembangan "mode" selanjutnya.
Intinya adalah bahwa ada lebih banyak pilihan sekarang daripada sebelumnya dan lebih banyak kepala bicara yang menggunakan teknologi masa depan sebagai cara "Terbaik".
sumber
Ok, maka inilah intinya: Browser itu pada dasarnya tidak aman. Jadi Anda meminta kami untuk membuat tradeoff di antara keduanya. Namun, melewati itu, dan dengan asumsi bahwa kita memang memiliki javascript (yang Anda singgung di posting Anda) maka jawaban bahwa tidak ada aplikasi yang tidak dapat ditulis hanya menggunakan HTML5 / Javascript. Namun, kami menganggap browser yang tidak menghalangi.
Masalahnya memiliki toko db lokal, dapat membuat panggilan ke platform lain menggunakan permintaan HTTP (yang RESTafarian akan memberitahu Anda sudah cukup) dan dapat menarik (melalui Kanvas) apa saja yang Anda inginkan. Sudah ada game 3D yang ditulis menggunakan standar terbuka (OpenGL ish) dan ada API untuk melakukan apa saja yang Anda inginkan.
Satu-satunya kelemahan nyata adalah kecepatan. Butuh waktu untuk melakukan panggilan API HTTP ke sistem lain (basis data). Butuh waktu untuk memproses permintaan FILE (COM1 :) (untuk membaca lebih dari perangkat serial pada Windows misalnya) jadi itulah masalah yang saya harapkan. Tentu saja, saya juga berasumsi bahwa driver ditulis untuk diakses seperti file, yang saya yakin tidak benar lagi. Tetapi mereka dapat mengekspos mekanisme semacam itu;)
Bagi pengguna, tidak banyak yang akan berbeda sama sekali.
sumber