"JavaScript'in baskınlığı tarihi bir kaza mı yoksa başka bir şey mi?"
Ben şahsen, JS'nin başarısının, birçoğunun olduğu kadar sadece bir kaza değil, sadece oyun alanındaki ilk çocuk olması nedeniyle onu itiraf etmeye çalışan bir tasarım meselesi olduğu kanaatindeyim.
Her ne kadar Java geliştiricilerine hitap edecek ve Java'nın C tabanlı sözdizimi gibi sözdizimi de Java geliştiricilerine hitap edecek şekilde adlandırılsa da, Brendan Eich, www'nin tarihindeki asıl dil mekaniği için Scheme'den çekilecek en cesur kararlardan birini aldı. ilham, Java geliştiricilerinin hiç hoşuma gitmediği bir şeydir (ki çok eğlenceli buluyorum).
JavaScript, OOP için son derece esnek / granüler prototip kalıtım kullanır, kapanışları vardır, türleri% 100 dinamiktir, işlevlerin kendileri birinci sınıftır ve diğer herhangi bir nesne veya veri türü gibi aktarılmalarına ve farklı bağlamlarda ve hatta yeniden kullanılmalarına izin verir en başından itibaren gerçek nesne üyeleri olarak ilan edilmiş gibi anında nesnelere uygulanır. Bir ton tescilli çöpü normalleştirmesi veya oldukça doğrusal olmayan UI sorunlarını ele alması gereken olay güdümlü mimariler için pratik olarak çığlık atıyor.
Web'in şafağının sonunda, Netscape ve IE'nin işleri farklı bir şekilde yapmaya çalıştığı gerçek bir tarayıcı savaşı ve ardından 10 yıldan fazla bir tarayıcı ile tarayıcıları normalleştirme görevini ciddiye alan tek dil. MS'nin tembel olduğu ve tarayıcı haklılığıyla sonuçlanan bazı aptal rekabete aykırı anti-uygulamalara kendisinin gömülü olduğu ve şimdi tarayıcıların HTML ile ilgili aynı genel spesifikasyon üzerinde anlaşmaya başladığı bir dünya olduğu için IE CSS ve DOM API ile IE, Google'ın performans sayılarının bu kadar acıklı görünmesini sağlayan JIT derleyicilerini patlatması nedeniyle 10'dan ziyade en son gelişmelerden 2-3 yıl geride kalıyor, böylece MS, nihayet lanet tarayıcılarını düzgün bir şekilde modernize etmekten utanıyordu.IE9, DOM API desteğini Netscape'in 2000ish'te desteklediği düzeylere yükselten ilk kişidir.
JS, Java Applets ve Adobe'nin Flash için ActionScript biçiminde rekabet etti. Bu ciddi yarışmacı cephesinde. MS VB'yi zorlamaya çalıştı ama perişan oldu çünkü ... iyi ... VB. Ayrıca, tescilli. Aslında çoğu insanın düşündüğünden çok daha fazla Flash sitesi vardı. Sadece arama motorları ile aptalca şeyler bulamadınız. Applets kendi şeylerini yaptı ve çirkin oldu. Gerçekten çirkin. JS, eşleşmeleri gereken özellikleri kimin belirlediğine karar vermeyen insanlar tarafından birden fazla tarayıcı bağlamında çalışma sorununu gerçekten ele alan tek dildi.
Son yıllarda JS çok daha geniş bir uygulama alanına dönüşüyor. Diğer web teknolojileri ile birlikte, temelde diğer tüm çözümleri mobil cepheye devirmek için tasarlandı çünkü gerçekten bir uygulama yazmak ve her şey üzerinde çalışmak istiyorsanız, web teknolojisi gerçekten şu anda tek gerçekçi seçim.
Yani hayır, ve evet ben büyük bir hayranıyım, ama artık istemci tarafındaki diğer tüm yarışmacıları kazara tarayıcının dışında patlayıcı olarak popüler hale gelmekten daha fazla kaza geçirdiğini sanmıyorum. JS'den önce, öncelikle akademik olmayan birçok Şema benzeri dil yoktu. Bu JS'ye bazı güçlü avantajlar sağladı ve müşteri tarafının benzersiz ihtiyaçları, bu avantajların yavaş yavaş kristal berraklığında olmasını mümkün kıldı.