Saya bekerja pada aplikasi web yang membutuhkan data yang hanya dapat diperoleh dari browser aplikasi asli yang diinstal secara lokal.
Bagaimana Anda bisa menyiasati kotak pasir peramban sehingga Anda dapat berkomunikasi (dengan aman, karena data berpotensi sensitif), dengan aplikasi asli.
Dalam satu-satunya contoh yang saya temukan, pengguna secara manual memindahkan beberapa token dan file di antara keduanya, yang merupakan pengalaman pengguna yang mengerikan yang ingin saya hindari.
web-applications
Zak Kus
sumber
sumber
Jawaban:
Anda dapat menyematkan server web di aplikasi asli, lalu klien Anda dapat membuat panggilan ke sana melalui tautan yang dikodekan ke http: // localhost / xyz (Anda mungkin harus khawatir tentang peringatan skrip lintas situs di sini, dan / atau menjalankan server pada port non-http). Jika Anda menggunakan soket web, aplikasi asli Anda bahkan dapat mendorong data ke browser web begitu browser memulai komunikasi.
Saya melakukannya sendiri secara lokal, kontrol browser web tertanam meminta data visualisasi dari server web kustom dan ketika mengembangkan saya menjalankan keduanya pada PC yang sama.
Ada banyak server web tertanam kecil dan efisien untuk C / C ++ (Mongoose, NxWeb, civetweb dll), C # cenderung untuk server WCF full-on, python hadir dengan server web kecil di dalamnya IIRC.
sumber
Ada beberapa cara untuk menggabungkan aplikasi asli dan aplikasi browser.
Anda dapat menyematkan browser di dalam aplikasi asli, seperti halnya aplikasi PhoneGap di ponsel. Itu akan memungkinkan Anda untuk memperpanjang mesin javascript browser, dan memungkinkan Anda melakukan panggilan di antara keduanya.
Atau, pikirkan kembali arsitektur Anda. Biarkan aplikasi asli dan aplikasi berbasis browser menggunakan server sebagai perantara. Jadi baik peramban dan aplikasi asli hanya berbicara ke server web, yang meneruskan informasi di antara keduanya sebagaimana diperlukan.
Atau jika Anda memerlukan fungsionalitas asli ... buat saja satu aplikasi asli.
Saya tidak merekomendasikan pendekatan 'server web lokal' untuk hal lain selain aplikasi yang berjalan di lingkungan yang terkendali. Jika perangkat lunak Anda dimaksudkan untuk menginstal dan dijalankan pada mesin pengguna akhir dengan persyaratan dukungan minimal, Anda akan berhadapan dengan sejumlah besar masalah terkait firewall dan perangkat lunak anti-virus.
sumber