我已經開發出一種RShiny應用程序,我想與我的同事分享內部(託管在服務器上的應用程序,是不是在這個階段的一個選項)。部署[R閃亮的應用程序作爲一個獨立的應用程序
我正在探索各種選擇,並且我遇到了一種將您的應用程序作爲獨立桌面應用程序綁定到安裝程序文件的技術,然後您可以分享這些文件。 (該方法是解釋here & here) 這是非常整齊,因爲用戶安裝它不需要有R(以及任何其他所需的軟件包)安裝並運行應用程序(它具有R,鉻等的便攜版本)
我能夠按照該方法創建一個獨立的桌面應用程序,並帶有一個安裝程序文件,我現在可以開始共享。
不過,這是我所關注: 理想情況下,我不希望我的用戶能夠訪問源代碼。有沒有辦法限制這種訪問?在本教程(第一個鏈接,我貼),這就是筆者這樣說:
*
最後,請記住,你的源代碼是很方便。如果 這是您所關心的問題(例如,如果您分發給客戶端 ,那麼應該無法訪問代碼),您可以通過首先將敏感源代碼編譯爲二進制 包來阻止 訪問。也就是說,任何知道R(並具有足夠意圖)的用戶都可以簡單地將代碼轉儲到控制檯。
*
有沒有更好的,更多的防呆的方式來阻止訪問?
謝謝!
感謝您的意見!我確實考慮過shinyapps.io,可能我會進一步探索它。但是我的擔心是成本(在某種程度上),更重要的是數據隱私部分(考慮到應用程序使用的數據非常敏感)。我所工作的組織對數據隱私和相關問題有相當嚴格的指導。所以我可能會遇到一些路障。其次,用戶不應該看到代碼並不是非常重要。因此,如果沒有簡單的方法來屏蔽代碼,那麼我最終只會發佈整個包。 – Dataminer
如果您沒有太多使用它,成本是免費的。如果你擔心成本和隱私,那麼[使用你自己的閃亮服務器](http://deanattali.com/2015/05/09/setup-rstudio-shiny-server-digital-ocean/)。 這樣它仍然由您託管,您可以控制它。我想這取決於你是否希望應用程序完全交付給客戶端,或者如果你想要託管它。它作爲一個獨立的軟件給予他們,這意味着你不能更新它並修復錯誤。 –