Merhaba. Uzun zaman önce IE yerine CEF kullanmaya başlamıştım. Birkaç ay önce WebView2 SDK yardımıyla CEF yerine WebView2 geçiş yaptım. Bilmeyenler için WebView2, Windows'un modern tarayıcısı olan Edge'in geliştiriciler için sunmuş olduğu sürümü.
Benim kullanma sebebim ise CEF'in anlamsız çökmelere sebebiyet vermesi, kütüphane dosyalarıyla genel olarak uyumsuzluk yaratması ve işletim sisteminden bağımsız çalışıyor olmasının bir avantaj olmasının yanında oyun projesini 200mb arttırması.
Bir dakikadan daha kısa sürecek düzenlemeler ile projenize entegre edebilirsiniz. Ancak bunlardan önce size detaylı şekilde karşılaştırma sunmam gerekiyor.
Özet:
Kurulum:
Kurulum esnasında herhangi bir dosyaya bir düzenleme yapmayacağız. Sadece yeni dosyalar ekleyeceğiz ve CWebBrowser projesinde düzenlemeler yapmamız gerekecek.
1.Verilen dosyayı indirip ilgili klasörlere atalım.
2.CWebBrowser projesine sağ tıklayarak Add->Existing Item(Ekle->Varolan Öğe) seçeneğini seçelim.

3.CWebBrowser.cpp dosyasını projeye dahil edelim.

4.CWebBrowser projesine sağ tıklayarak Properties(Özellikler) seçeneğine girelim. Additional Include Directories kısmında "../../Extern/include" ifadesini ekleyelim.

5.Projeyi temizleyip tekrar derleyelim. WebView2 hazır.

Honorable Mention: @Koray'
Benim kullanma sebebim ise CEF'in anlamsız çökmelere sebebiyet vermesi, kütüphane dosyalarıyla genel olarak uyumsuzluk yaratması ve işletim sisteminden bağımsız çalışıyor olmasının bir avantaj olmasının yanında oyun projesini 200mb arttırması.
Bir dakikadan daha kısa sürecek düzenlemeler ile projenize entegre edebilirsiniz. Ancak bunlardan önce size detaylı şekilde karşılaştırma sunmam gerekiyor.
| Özellik | Internet Explorer (IE) | Chromium Embedded Framework (CEF) - Google Chrome | WebView2 (Microsoft Edge) |
|---|---|---|---|
| Temel Teknoloji | Microsoft’un Trident motoru | Chromium motoru (Google Chrome tabanlı) | Microsoft Edge Chromium motoru |
| Performans (TTL) | Yavaş, özellikle eski sürümlerde (IE 9, 11) | Yüksek performans, düşük yükleme süreleri | Rakipsiz performans, CEF’e benzer |
| Modern Web Desteği | Zayıf (HTML5, CSS3, WebGL desteği zayıf) | Tam destek (HTML5, CSS3, WebGL, WebRTC, vb.) | Tam destek (HTML5, CSS3, WebGL, WebRTC, vb.) |
| Güvenlik TLS/SSL | Eski sürümlerde güvenlik açıkları, sınırlı TLS/SSL | Güncel Chromium yamaları, modern TLS/SSL desteği | Güncel Edge Chromium yamaları, modern TLS/SSL |
| Platform Desteği | Yalnızca Windows | Windows, macOS, Linux | Windows, macOS (sınırlı), Linux (deneysel) |
| Sürüm Uyumluluğu | Standart | Geliştirici kontrolünde, güncel Chromium sürümleri | Microsoft’un güncel Edge sürümlerine bağlı |
| Özelleştirme Esnekliği | Sınırlı, Microsoft’un tarayıcı motoruna bağımlı | Yüksek, açık kaynaklı ve özelleştirilebilir | Orta, Microsoft’un API’lerine bağlı |
| Güncelleme Sıklığı | Azalan destek, özellikle IE 11 sonrası geliştirmenin sonlandırılması ile destek bitti. | Sık güncellemeler (Chromium tabanlı) - Bu güncellemeler geliştirici tarafından yapılmalı. | Düzenli güncellemeler (Edge Chromium tabanlı) |
| Kullanıcı Deneyimi | Eski arayüz, yavaş rendering, sınırlı dinamik özellik | Modern, akıcı ve zengin arayüz deneyimi | Modern, akıcı, CEF’e benzer deneyim |
| Geliştirme Kolaylığı | Zor, eski API’ler ve dokümantasyon eksikliği | Orta, kapsamlı dokümantasyon ve topluluk desteği | Orta-yüksek, Microsoft’un desteğiyle kolay API’ler |
| Lisans | Microsoft’un proprietary lisansı | Açık kaynak (BSD lisansı) | Microsoft’un proprietary lisansı, ücretsiz kullanım |
Özet:
- Internet Explorer: Eski teknoloji, sınırlı modern web desteği ve güvenlik riskleri nedeniyle ödeme sayfaları gibi kritik özellikler için uygun değil.
- CEF: Yüksek performans, modern web desteği ve platform esnekliği bulunuyor. Ancak entegrasyon için daha fazla geliştirme çabası gerekebilir.
- WebView2: CEF’e benzer modern özellikler sunar, Microsoft ekosistemiyle daha uyumlu ve entegrasyonu kolay. Ancak platform desteği CEF kadar geniş değil. WebView2 bulunmayan eski windows sürümlerinde çalışmaz.
Kurulum:
Kurulum esnasında herhangi bir dosyaya bir düzenleme yapmayacağız. Sadece yeni dosyalar ekleyeceğiz ve CWebBrowser projesinde düzenlemeler yapmamız gerekecek.
1.Verilen dosyayı indirip ilgili klasörlere atalım.
2.CWebBrowser projesine sağ tıklayarak Add->Existing Item(Ekle->Varolan Öğe) seçeneğini seçelim.

3.CWebBrowser.cpp dosyasını projeye dahil edelim.

4.CWebBrowser projesine sağ tıklayarak Properties(Özellikler) seçeneğine girelim. Additional Include Directories kısmında "../../Extern/include" ifadesini ekleyelim.

5.Projeyi temizleyip tekrar derleyelim. WebView2 hazır.

Honorable Mention: @Koray'



