Rehber Tarayıcı Motoru Nedir?

IIBySinyoRII

Kilopat
Katılım
19 Ağustos 2014
Mesajlar
138
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
Meslek
Makina Mühendisi
Web tarayıcısı World Wide Web üzerinde bulunan bilgi kaynaklarını edinmeye ve göstermeye yarayan yazılımların adıdır. Bu bilgi kaynakları yazılar, resimler, ses dosyaları veya başka içerikler olabilir.

İlk web içerikleri hazırlanırken yalnızca yazılar olurdu ve tarayıcılar bu yazıları indirip size göstermekle sorumluydu. Web içeriklerini oluştururken, yazılara düzen vermek için tarayıcıların anlayabileceği, ancak içeriği görüntüleyenlere gösterilmeyecek bir dizi kural sistemi oluşturuldu, bu sistemin ismi HTML dir.

İlk tarayıcı, sunucudan indirdiği bir içeriği direktmen gösterirdi. Örneğin sunucuda "Merhaba Dünya" yazısı yüklüyse bu yazıyı indirir ve size LUI(Line User Interface) aracılığı ile gösterirdi böylece bilgiye erişmiş olurdunuz. Ancak çok zaman geçmeden paylaşılan bilgi boyutu artmaya başlayınca yazıları düzenleyecek bir işaretleme sistemine ihtiyaç duyuldu. Bu sistemde işaret kodlarını yazıların arasına yazıyorsunuz ve tarayıcı içeriği indirirken işaret kodlarınıda indirmiş oluyor. Ancak tarıyıcıya bir başka fazladan görev yüklenmiş oluyor. Tarayıcı, sunucu(server)'dan indirdiği işaret kodlarını tek tek okuyup yorumluyor ve istemciye(client yani kullanıcı) bu kodlara göre içeriği düzenleyerek gösteriyor. Tarayıcılarda bu işi yapan kısma. HTML motoru veya Tarayıcı Motoru deniyor.

Ufak bir örnek verelim. Sunucuda şöyle bir yazı olsun "Okan<br>bugün çok hasta." Bunu HTML motoru olmayan bir tarayıcı indirip gösterdiğinde bizim ekranda göreceğimiz yazı şudur.
HTML:
Okan<br>bugün çok hasta.

Ancak eğer HTML motoru olan bir tarayıcı ile dosyaya erişirsek bu tarayıcı bize şu sonucu gösterir.
HTML:
Okan
bugün çok hasta.

Gördüğünüz gibi HTML motoru yazının içindeki, yazıyı düzenlemek için yazılmış kodları algılayıp, yazıyı kodlara göre düzenleyerek bize gösteriyor.

Daha sonra zamanla HTTP protokolündeki gelişmeler ve programlamanın web ortamına entegre edilmesiyle, fotoğraf gösteren(<img>), tablolar oluşturan(<table>) HTML etiketleride çıkmıştır. 1996 da artık sayfaların boyutunun büyümesi ve içeriğin barındırdığı bilgi türünün artmasıyla HTML de yetersiz kalmaya başlamış ve yeni bir dizi kural olan CSS kodları oluşturulmuştur. Bundan sonra tarayıcı geliştiricilerine bir yük daha binip, birde css kodlarını algılayıp yorumlayan motor yazmak zorunda kalmışlardır. Bu motorda HTML motorunun bir parçası durumundadır.

CSS ile aynı zamanlarda web sayfası içinde, client tarafında bazı dinamik kontrolleri yaptırmak için Javascript çıkmıştır. Javascript'in sunucu taraflı programlamadan farkı, sunucuda değil clientda yani sayfayı gösteren kişinin bilgisayarında çalışmasıdır. Bu sayede sayfanın zaman içindeki işleyişi ile yalnızca sayfayı gösteren kişide değişiklikler oluşur. Örneğin bir sliderda resim değiştirmek için bir butona bastığınızda, resim değiştirme işlemi yalnızca sizin bilgisayarınızda olur. Sayfayı yenilerseniz ilk baştaki kodlar tekrar indirildiğinden sayfa tekrar değiştirilmeden önceki resimle açılır.

Sunucu taraflı yazdığınız kodlarla ise tüm kullanıcıların gördüğü veya erişebildiği değişiklikler yapılır. Örneğin bir sayfada yazdığınız yorum sunucuda değişiklik yapar. Bu sayede yorumu sayfayı yenileseniz dahi görebilirsiniz ve eğer istenirse sayfaya erişen herkes görebilir.

Tabi istemci taraflı çalışacak bir dilin(javascript) çıkması tarayıcı geliştiricilerine birkez daha yük bindiriyor. Tahmin ettiğiniz gibi sunucu taraflı dilin tarayıcılarla bir alakası yok. Sunucuda o dili çalıştırıcak bir interpeter veya compiler olması yeterli. Ancak günümüzde web teknolojilerinin çok gelişmesinden dolayı tarayıcılar sunucu ile ilişkilerini kontrol eden bazı önlemler(three handshake gibi) ve çeşitli güvenlik algoritmaları geliştiriyorlar.

Burada anlattığımız gibi HTML, CSS ve JS kodlarını tarayıcılar indirip yorumluyor ve sayfayı ona göre gösteriyor. Ancak bu kodları yorumlayan tarayıcı motoru bir tane değil. Çeşitli firmalar ve gruplar kendi tarayıcı motorlarını yazıyor ve geliştiriyorlar. Bundan dolayı farklı tarayıcı motorunu kullanan bir tarayıcı sayfayı daha farklı gösterebilir.

Şimdi bazı meşhur motorlara biraz bakalım.

Blink Motoru
C++ programlama dili ile GNU lisansı altında açık kaynak kodlu oluşturulmuş olan blink tarayıcı motoru, Chromium projesinde kullanılan yeni motordur. Chromium kapsamında Webkitin bir dallanması olarak geliştirilmeye başlanmıştır. Birçok web geliştiricisi tarafından hazırlanan kod bloklarını problemsiz olarak kullanıcıya aktarabilmektedir. Blink motorunu kullanan başlıca tarayıcılar Chrome, Yandex Browser ve Opera olarak sayılabilir.

Not: Chromium projesi Google tarafından başlatılan açık kaynak kodlu bir tarayıcı projesidir. Tüm dünya ile kaynak kodlarını paylaşır. Bu projeyi temel alarak Google ayrıyeten birde Chrome isimli tarayıcı geliştirmektedir. Aslında Chrome tarayıcısı Chromium un birebir aynısıdır, sadece ek olarak bir kaç özellik daha içerir. Chromiumu temel alarak yapılan bir başka tarayıcıda Yandex Browser'dır. Chromium motor olarak blink kullandığından dolayı google chrome ve yandex browserda blink kullanmış oluyor.

Edge HTML
Microsoft ekibinin Winows10 ile birlikte ie(internet explorer) deki eski fikirleri değiştirerek modern tarayıcı ihtiyacını karşılamak ve Windows yüklü bilgisayarlarda üçüncü parti başka bir yazılıma ihtiyacı ortadan kaldırmak için geliştirdiği motordur. C++ ile geliştirilmektedir.

Gecko Motoru
Mozilla Firefox ve Netscape tarayıcılarında kullanılıyor. Mozilla Vakfı tarafından C++ programlama dili ile açık kodlu ve ücretsiz olarak geliştiriliyor.

Webkit Motoru
KDE projesi kapsamında geliştirilen ve KHTML kütüphanelerini kullanan bir motordur. Safari bu motoru kullanıyor, eskiden Chromium projeside bu motoru kullanırdı. C++ programlama dili ile Apple,Nokia,Google gibi şirketler tarafından geliştirilmektedir.

Trident Motoru
İnternet Explorerın kullandığı motordur. Microsoft tarafından Internet Explorer için geliştirilmiş olan Trident tarayıcı motoru, günümüzde birçok alanda geri kalmış durumdadır.

KHTML Motoru
Konqueror, Nokia, Apple kullanmıştır. KDE masaüstü ortamı kapsamında geliştirilen bir motordur.


Not: Yazıda KDE den bol bol bahsettik KDE bir masaüstü ortamı yazılım projesidir. Bazı işletim sistemlerinde kullanılmak üzere grafiksel olarak C++ ile geliştirilmeye başlanmıştır. KDE projesi kapsamında kendi masaüstünde hazır olarak yüklü gelecek bir tarayıcıda geliştirilmek istenmiş ve KHTML motoru geliştirilmiştir. Daha sonra başka şirketler ve projeler KHTML den faydalanarak çeşitli tarayıcı motorları geliştirmiştir.

Açık kaynak yazılım dünyası bu şekilde işler. Bir proje başlar daha sonra başka bir grup veya şirket o projeyi dallandırarak veye devam ettirerek yeni proje başlatır. Blink motoru Webkitten, webkit ise KHTML den dallanarak devam etmiş.
 
Son düzenleyen: Moderatör:
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Yeni konular

Geri
Yukarı