一:
上一篇的鏈接:
二:
相關資源介紹:
chrome Frame:
讓IE有一顆chrome的心,看起來不錯,但我沒有深入研究這個東西。
http://www.google.com/chromeframe?hl=zh-CN&quickenable=true
https://developers.google.com/chrome/chrome-frame/
WebKit.Net
已經有一段時間沒人更新這個開源項目了,沒有研究過
http://sourceforge.net/projects/webkitdotnet/
CEF
研究過,很不錯的類庫,但是是C和C++寫的
https://code.google.com/p/chromiumembedded/
http://www.cnblogs.com/think/archive/2011/10/06/CEF-Introduce.html(園友譚振林寫的相關文章)
Xilium.CefGlue
基於CEF,用.net包裝過,很不錯,我就用的這個類庫(Xilium.CefGlue/3)
https://bitbucket.org/xilium/xilium.cefglue/wiki/Home
O.N.E
國內的人開發的,沒研究過,貌似收費的。
node-webkit
園子里的人開發的,非常不錯的點子,node和chromium的結合,贊
https://github.com/rogerwang/node-webkit/
http://www.cnblogs.com/zhchbin/
qt
我在這方面花費了大量的時間和精力,結果是一個坑跟着一個坑,但到現在還是不忍放棄
http://qt-project.org/downloads
open-webkit-sharp
園友推薦的,我大概看了一下介紹,感覺很不錯的樣子!
https://code.google.com/p/open-webkit-sharp/
另外
這里說到的很多資源都是園友在上一篇文章中提到的。
謝謝你們。
三:
CEF有兩個版本,CEF1和CEF3
CEF1是單進程的,實現了更多的特性,內存使用更少,與客戶端應用更能完美的結合,使用的是WebKit的API,但是FLASH無法在這個框架中正常播放,不支持html5的音頻和視頻,只支持NPAPI插件。關於NPAPI插件的相關知識,請參閱這里:http://developer.chrome.com/extensions/npapi.html(好像要翻牆)
CEF3是多進程的,使用異步消息的方式來完成主進程和其他進程的通信(其他進程有可能是Webkit,也有可能是V8的解析引擎進程),使用的是chromium官方的內容呈現API,支持NPAPI和PPAPI插件,有一個單獨的進程用於調試,相對於CEF1來說,雖然可以播放FLASH等視頻,但是還有很多問題沒有處理掉,社區里的人認為CEF1更穩定一些,CEF3的issues列表,請參閱這里:https://code.google.com/p/chromiumembedded/issues/list
我們選用的是CEF3和Xilium.CefGlue,Xilium.CefGlue是對CEF項目的.net的包裝,它是用P/Invoke的方式來調用CEF類庫的,請參見:https://bitbucket.org/xilium/xilium.cefglue/wiki/Home
還有一個CEFSharp的項目,是用C++/CLI的方式來調用CEF類庫的,請參見:https://github.com/chillitom/CefSharp
四:
下載最新版的CEF的動態鏈接庫
下載地址為:http://xilium.bitbucket.org/cefglue/
一定要在這個頁面來下載!因為只有這個頁面給出的動態鏈接庫才是Xilium.CefGlue所支持的
目前看到的是3.1353.1236版本(我沒有下載debug版本的)
五:
下載最新的Xilium.CefGlue代碼
下載地址:https://bitbucket.org/xilium/xilium.cefglue/overview
右側點“下載”就可以了
六:
把下載到的兩個壓縮包都解壓縮
把\cef_binary_3.1453.1236_windows_xilium\Release目錄里的文件復制出來
粘帖到:\xilium-xilium.cefglue-50e94efc4182\CefGlue.Demo.WinForms\bin\Debug目錄下
七:
打開\xilium-xilium.cefglue-50e94efc4182\目錄下的解決方案文件
把CefGlue.Demo.WinForms設為啟動項目
注意事項:
1.
把程序集CefGlue.Demo.GtkSharp卸載掉,
這個程序集是給mono平台用的,你也可以把WPF相關的程序集也卸載掉
2.
右鍵單擊CefGlue.Demo.WinForms程序集,點屬性,選擇調試,
取消選中“啟用visual studio承載進程”,
因為CEF3是基於多進程的,VS無能力承載,所以只有取消掉這個選項
3.
右鍵單擊CefGlue.Demo.WinForms程序集,點屬性,選擇生成,把目標平台改成X86
(這一項如果編譯不通過再來修改也無礙)
八:
編譯並執行,
你就可以看到CefGlue為你寫的DEMO了。
你如果嫌這個DEMO里的代碼比較復雜
你也可以看看CefGlue.Client這個程序集
這個程序集是個比較簡單的DEMO,
你也可以按照上面的步驟讓這個DEMO跑起來
九:
上面的DEMO看起來是這個樣子的:
在這個DEMO的samples菜單中有幾個簡單的示例
這給開發者提供方便的,開發者在寫自己的程序時,經常會看這幾個DEMO
但幾個DEMO實在是太少了。
十:
打開cef_binary_3.1453.1236_windows_xilium目錄中的工程文件
(這才是CEF項目,前面說的是基於CEF開發的CefGlue項目)
編譯並運行
你會看到一個類似這樣的界面:
這個DEMO中,主菜單中的test是為開發人員准備的DEMO
明顯比CefGlue要多一些!
如果你有一些C和C++功底(不用很高)也能看懂這里的例子
十一:
說實在的,這個項目還是有挺多的坑的,我已經碰到了好幾個。
跌跌撞撞總算走過來了,我一步一步的把我的經驗都分享給園友
請持續關注我的后續文章