Web tarayıcı motorları, tarayıcının kullanıcıya yansıtılan yüzünde (front-end) yazılmış olan kodları derleyen motorlardır. Örneğin HTML, XML, CSS, XLS veya görsel dosyalarını tarayıcıların derleyebilmesi için bir motorları vardır.
Neden ortak bir tarayıcı motoru yok?
Bilindiği üzere farklı tarayıcılar aynı alt yapıyı kullanmadıkları için kendilerine ait bir alt yapı oluşturabiliyorlar. Öyle ki en büyük örneğimiz Chrome ve Firefox. Farklı alt yapılara sahip oldukları için kendilerine ait bu motorları nasıl geliştirirlerse kullanıcılarda onlara ayak uyduruyor diyebiliriz. İşte tam olarak bu noktada bir web sitesinin farklı tarayıcılarda nasıl olurda farklı gözükür sorusuna cevap bulmuş oluyoruz.
2017 Aralık Ayına Ait StatCounter Verileri
Bazı tarayıcı motorlarını inceleyelim:
Blink
Kullanıyor: Chrome, Opera, UC Browser, Vivaldi, Yandex Browser
Destekliyor: Windows, MacOS, Linux, Unix
Desteklemiyor: Symbian OS
C++ programlama dili ile oluşturulmuş olan blink tarayıcı motoru, Chromium projesine zemin oluşturulmuş ve geliştirilmeye devam eden tarayıcı motorlarından biridir. Birçok web geliştiricisi tarafından hazırlanan kod bloklarını problemsiz olarak kullanıcıya aktarabilmektedir. Özellikle CSS alanında eklenen birçok yeniliği kısa sürede hazırlayarak desteğini yayınlamıştır. Kullanıcıların büyük çoğunluğunun chromium alt yapısına ait web tarayıcıları kullanması sebebi ile geliştiricilerin önceliğini vererek kodlamalarının kontrolünü yaptığı tarayıcı motoru diyebiliriz.
EdgeHTML
Kullanıyor: Edge
Destekliyor: Windows
Desteklemiyor: MacOS, Linux, Unix, Symbian OS
Microsoft tarafından C++ programlama dili ile geliştirilemeye devam eden EdgeHTML, son zamanlarda birçok desteği sağlaması ile popülerliği artmaya başlamıştır. Özellikle Win10 ile birlikte varsayılan tarayıcı olarak gelen Edge tarayıcısını ilk test eden kullanıcıların IE'den kalan fikirlerini değiştirmek için kolları sıvayan Microsoft ekibi, güncellemeleri yakından takip ediyor gibi gözüküyor.
Gecko
Kullanıyor: Mozilla Firefox, Netscape, SeaMonkey, Avant
Destekliyor: Windows, MacOS, Linux, Unix
Desteklemiyor: Symbian OS
Mozilla tarafından yine C++ programlama dili ile geliştirilen Gecko, temelde birçok desteğe sahip fakat CSS komutlarında özellikle yapılması gereken düzenlemelerin olduğunu vurguluyorlar. Bu konuda CSS geliştirileri için basit bir örnek vermek gerekirse border-radius komutunun Gecko alt yapısına sahip tarayıcılarda desteklenebilmesi için şöyle bir kullanımı olmalıdır.
-moz-border-radius: 10px;
Bu tip birçok alanda dikkat edilmesi gereken detayları olan Gecko tarayıcı motoru, geliştiricilerin de bir web yazılımı hazırlarken yayına açmadan önce mutlaka Gecko alt yapısını destekleyen bir tarayıcı tarafında kontrol etmesi gerekiyor.
WebKit
Kullanıyor: Apple Safari, Maxthon, Midori, Torch
Destekliyor: Windows, MacOS, Linux, Unix, Symbian OS
Desteklemiyor: -
Safari için Apple tarafından C++ programlama dili ile geliştirilen WebKit, CSS geliştiricilerini yine zorlayan bir başka unsur diyebiliriz. Gecko için verdiğimiz örnek üzerinden gitmemiz gerekirse eğer Safari tarayıcısından da sitenin sorunsuz görüntülenmesini istiyorsanız mutlaka bir takım alanları yeniden gözden geçirmeniz gerekecektir.
-webkit-border-radius: 10px;
Trident
Kullanıyor: Internet Explorer, Avant, Maxthon, SlimBrowser
Destekliyor: Windows
Desteği Çekti: MacOS ve Unix
Desteklemiyor: Linux ve Symbian OS
Microsoft tarafından Internet Explorer için geliştirilmiş olan Trident tarayıcı motoru, günümüzde birçok alanda geri kalmış durumda olmasına karşın Windows'un eski sürümlerine ilk kurulumdan itibaren otomatik olarak gelen ve hala daha birçok kesim tarafından kullanılmaya devam etmektedir. Bu sebeple geliştiricilerin ayağına dolanması gerçekten de can sıkıcı bir durum.. Hatta bazı geliştiriciler bu konuya çözüm amaçlı doğrudan Internet Explorer üzerinden yapılan girişlerde ziyaretçiyi siteye yönlendirmek yerine daha güncel bir web tarayıcısı kullanmaya yönlendirmeye kadar gitmişler.