2014-01-22 105 views
1

我是網絡編程的新手。過去8年來,我一直擔任桌面應用程序員。現在我的一個項目是創建一個使用HTML 5和一些Java腳本的Web應用程序,該腳本可以在雲上運行,也可以作爲桌面應用程序下載以脫機工作。我不需要任何數據庫來存儲任何數據。我正在考慮用Web瀏覽器控件編寫一個C#win窗體應用程序來加載html頁面和js文件。創建可在線和離線訪問的Web應用程序

我的問題是, 1.是否有可能實現?如果是這樣,除了上面提到的,還有別的方法嗎? 2.如何訪問文件(html文件,Java腳本文件等)的安全問題?這是否可以從本地硬盤調入我的應用程序? 3.如果我可以將其作爲桌面應用程序運行,如何確保源代碼不被客戶機中的任何人訪問?

任何幫助,高度讚賞。

謝謝。

+0

Silverlight(並將其運行在瀏覽器外)如何? –

+0

我想過布拉德克里斯蒂,但我的應用程序更多的是計算HTML和Java腳本是最好的選擇。 – Ram

+1

如果您的web應用程序僅由html,css和javascript構成,那麼無論如何都可以下載所有文件,以便它們可以在本地瀏覽器上呈現/運行。使用Web組件添加窗體將與在瀏覽器內運行沒有區別。 – Scampbell

回答

3
  1. 這是可以實現的,但爲什麼你想要將它包裝在一個C#的Web瀏覽器控件中對我來說沒有任何意義。使用HTML5,您可以定義緩存清單文件來創建在任何支持它的瀏覽器中運行的離線應用程序,只要客戶端具有支持瀏覽器的功能,就不需要包裝它。他們甚至不需要知道它是一個離線應用程序!
  2. 不太清楚你在這裏提到的安全問題。這是一個巨大的話題。只要使用常識,並意識到你存儲在他們的計算機上的任何東西都可以被他們訪問(例如,不要給他們公鑰/私鑰對或存儲任何你不希望他們在你發送的文件中讀取的密碼給他們)並使用安全連接在客戶端和服務器之間來回發送敏感數據。
  3. 如果任何人在他們的機器上訪問源代碼,那麼你確實無法阻止它。在部署之前,您可以做的最好是在合理的程度上對其進行混淆,以便讓試圖閱讀它的人更難。
+0

感謝BoredBlazer。你的回答對我來說更有意義。但是,你能否在緩存清單文件上多加點點燈?有些教程鏈接會很有用。 – Ram

+0

關於數字3:基本上是對的,但IMO反編譯理解一個二進制文件的努力比理解和閱讀純HTML/JavaScript更大,所以它不能那麼容易比較。 – pasty

+0

這是[Mozilla文章](https://developer.mozilla。org/en-US/docs/HTML/Using_the_application_cache)。基本上HTML5引入了一種稱爲應用程序緩存的標準,只要客戶端訪問過一次,就可以使您的Web應用程序100%正常運行。他們將始終使用相同的網絡應用程序URL,但如果您尚未更新它,服務器已關閉,或者他們的網絡已關閉,它將作爲離線應用程序。當您更新應用程序時,只需更新緩存清單文件,並在下次訪問BOOM時獲取更新的應用程序。 – BoredBlazer

相關問題