Bugün Internet Computer Protocol blok zincirini tanıyıp Hello World örneğiyle bu merkeziyetsiz geliştirme ortamına ilk adımımızı...
DOM (Document Model) Belge Nesne Modeli
Kemal İKİZOĞLUDOM nasıl doğdu?
DOM 0
Nesne Modeli kavramının ilk versiyonudur. Başlarda sadece Netscape Navigator tarafından tam olarak destekleniyordu. En büyük yeniliği, JavaScript ile sayfadaki HTML elementlerine erişmeye izin vermesiydi. Daha sonra Microsoft, Internet Explorer 3?te DOM 0?ı aynen destekledi. Tabii daha sonraları bu barış havasından pek eser kalmadı 🙂
DOM 0+Images
En önemli değişikliği, Netscape Navigator 3.0 ile birlikte sunulan Image nesnesiydi. Başlangıçta sadece src niteliği kullanılabilir olsa da o yıllarda geliştiriciler için yeterli olsa gerek 🙂 Ama Microsoft, Image nesnesini desteklemeyerek bugün ?Tarayıcı Savaşları? adını verdiğimiz, tarayıcılar arasındaki uyumsuzlukların temelini attı.
Tarayıcı savaşları başlıyor!
Netscape Cephesi
Netscape Navigator 4.0 sürümüyle birlikte, olay yönetimi tamamen geliştiricinin kontrolü altına girdi. Olay yönetiminin temel çalışma prensibi; olayın tetiklendiği en üst noktadan başlayarak, gerçek nedeniyle doğru yayılması şeklinde açıklanabilir.
Netscape Navigator 4.0?ın bir diğer yeniliği de katman mimarisi ve HTML elementiydi. Bu yeni element, sayfayı farklı katmanlara ayırmaya ve gerektiğinde nesneleri farklı katmanlar arasına taşımayı sağlıyordu.
Microsoft Cephesi
Microsoft, Internet Explorer sürümüyle birlikte tüm HTML elementlerine erişim imkanı sağladı. Ayrıca, bana göre yeni sürümdeki en büyük yenilik CSS için eklenen style özelliğidir. Bugün gelinen noktada, en çok kullanılan özelliklerden biri olduğunu söylemek yanlış olmaz.
Tüm bu yeniliklerin yanında, Microsoft?un Netscape?in olay yönetimine getirdiği farklı bakış açısı, tarayıcılar arası uyum sorunlarını farklı noktaya taşıdı. Internet Explorer 4, olay kabarcıkları(event bubbling) denilen, gerçek olay nedeninden başlayarak window nesnesine ulaşan bir işleyişe sahipti.
Bu farklılığın ortaya çıkardığı en büyük problem, olay yakalamada yaşanan farklılıklardı. Ancak günümüzde, modern tarayıcılarda kendi nesne modellerine ek olarak, W3C DOM level 2?nin de desteklenmesiyle büyük oranda çözülmüştür.
Son yenilik ise, halen diğer modern tarayıcılar ve W3C DOM tarafından desteklenmeyen filtrelerdir. Bu filtreler, başta saydamlık olmak üzere pek çok görsel değişikliğe olanak sağlamaktaydı.
Modern tarayıcılardaki son durum ?
Tarayıcılar arasında halen devam eden karışıklıklara rağmen, modern tarayıcılar kendi nesne modelleri yanı sıra, W3C DOM’u da destekleyerek geliştiricilerin işini bir nebze de olsa kolaylaştırmaya başladı. Buna rağmen örneğin, Microsoft Internet Explorer ve Mozilla Firefox’ta JavaScript ile herhangi bir yazıyı kopyalamak için iki farklı kod yazmak zorunda kalıyoruz.
W3C DOM, yukarıdaki paragraflarda da anlattığımız tarayıcılar arası farklılıkları ortadan kaldırmak amacıyla, önde gelen tarayıcı üreticilerinin de desteğiyle geliştirilmeye başlanmıştır. W3C DOM Level 2, tüm tarayıcılar tarafından desteklenen en güncel sürümdür. W3C DOM Level 3, halen geliştirilme aşamasındadır. Başta olay yönetimi olmak üzere birçok konuda büyük değişikler yaşanacaktır. HTML 5‘in tamamlanmasıyla ortaya çıkışının fazla zaman almayacağını umuyorum 🙂
Konu hakkında daha fazla içeriğe şuradan ve örneklere şuradan ulaşabilirsiniz..
Son Yorumlar..