1. 程式人生 > >一個實現瀏覽器網頁與本地程序之間進行雙向調用的輕量級、強兼容、可擴展的插件開發平臺—本網通

一個實現瀏覽器網頁與本地程序之間進行雙向調用的輕量級、強兼容、可擴展的插件開發平臺—本網通

特殊 git 運行環境 mac office文檔 linu 網頁 中繼 安全

通過本網通插件平臺可實現在網頁中的JavaScript腳本無障礙訪問本地電腦的硬件、調用本地系統的API及相關組件,同時可徹底解決ActiveX組件在Chrome、FireFox、Opera、Edge、Safari等瀏覽器各版本的兼容使用問題。

系統兼容性:
1、全面兼容Windows XP、Vista、7、8、10等各版本桌面系統;
2、全面兼容Windows Server 2003、2008、2012、2016等各版本服務器系統;
3、Linux、Mac、安卓等系統理論上也是可行的,歡迎熟悉這些平臺夥伴的積極參與。

瀏覽器兼容性:
1、IE 8及以上版本;
2、Chrome 16及以上版本;
3、FireFox 11及以上版本;

4、Safari 7及以上版本;
5、Opera 12.1及以上版本;
6、Edge 12及以上版本。

在IE中實現網頁和本地系統雙向調用的方法是使用ActiveX控件技術,而在Chrome、FireFox等瀏覽器有類似的NPAPI插件技術。因為安全隱患及穩定性等問題,微軟新生代瀏覽器Edge不再支持ActiveX控件,目前主流的Chrome瀏覽器也從42版開始NPAPI插件被拋棄,導致原來很多依賴這些技術實現的業務無法在新版瀏覽器中繼續使用。

目前瀏覽器網頁與本地程序之間雙向調用的知名解決方案有以下兩個:
1、firebreath,核心實現采用的是ActiveX控件和NPAPI插件技術,已面臨新版瀏覽器不能全面兼容使用的問題;

2、Node.js,是一個基於Chrome V8引擎的 JavaScript 運行環境,其中FFI模塊可實現在JavaScript中調用本地C語言風格的動態鏈接庫。運行及部署依賴Python和npm,另外需要區別處理32位和64位的程序調用,尤其是不能支持ActiveX控件等面向對象的組件調用。

使用本網通的理由:
1、輕量級:本網通整個程序包很小,不依賴其它第三方程序即可使用;
2、強兼容性:本網通采用HTML5標準中的Web Socket技術,可確保在各個瀏覽器版本的兼容使用;
3、本網通在Windows平臺采用COM組件技術為上層插件開發提供友好的集成支持,支持大多數的開發語言;
4、可配置和靈活的程序分發支持,方便基於本網通的第三方集成到自己的業務系統中。

使用場景舉例:
1、網頁中需要和本地電腦的硬件進行交互,比如B/S架構的OA系統中操作本地打印機;
2、網頁中需要調用本地程序的ActiveX控件實現一些特殊服務,比如Office文檔的在線預覽和編輯;
3、一些軟件系統使用了第三方的DLL模塊,可通過本網通實現在B/S架構中的系統中調用;
4、網銀、在線支付等安全性要求高的網站,可基於本網通開發訪問U盾等的加密模塊提供訪問安全性;
5、開發去中心化的分布式系統應用,如充分利用分散的系統計算能力。

項目地址:https://github.com/wangzuohuai/WebRunLocal QQ交流群:https://jq.qq.com/?_wv=1027&k=5FxgskL

一個實現瀏覽器網頁與本地程序之間進行雙向調用的輕量級、強兼容、可擴展的插件開發平臺—本網通