Buna bir güncelleme ekleyeceğim, çünkü JS’nin müşteri tarafında web’de ortaya çıkmasının yıllar içinde birkaç önemli noktada yanlış anlaşıldığını düşünüyorum.
Ajax değildi
Ajax’ın JS’yi bir dil olarak anlamanın evrimi için önemli olmadığını söylemiyorum, ancak müşteri tarafı tarayıcı egemenliği için verilen mücadele, Ajax terimi kurulmadan çok önce sona erdi.
Şehirdeki tek oyundu çünkü değildi.
Java uygulamaları, Flash ve VBScript vardı. 90'larda bile başka betik seçenekleri olduğunu duydum (ancak gerekli IIRC eklentileri). Java oldukça popüler ancak uygulamalar kötü bir başarısızlık yaşadı. Çirkindiler ve sık sık güvenlik İsviçre peyniri oldular ama daha önemlisi Java'nın daha sonra gireceğim sebepler için uygun olduğunu sanmıyorum. Flash çok popülerdi ve birkaç yıl boyunca güçlü bir dayanak noktası vardı, ancak Flash sonunda SEO seçeneklerine sahip olsalar bile, genellikle Flash siteleri keşfetmek çok zor hale gelmiş, genellikle kullanılmamışlardı. Şimdi bile, çoğumuz düzenli olarak Flash'ı güncelleriz, böylece filmleri izleyebiliriz, ancak gerçek Aşil topuğu. Tarayıcılarda tescilli teknoloji can sıkıcıdır. Ve tabii ki sadece IE ile çalışacak olan VB, yani hayır.
Doğru Zamanda Doğru Yer Uygun, Tüm Cevap Değildir
Evet, sürecek web dalgası olmadan, yaptığımız gibi en kısa sürede JavaScript veya popüler bir dilde bir dil görmemiş olabiliriz. Ya da belki biz ...
Sorunlu Alan İçin Mükemmel Bir Araç Oldu
2000'li yılların sonunda şu problemleri yaşadığımızı söyleyebilirim:
- IE ve Netscape sadece aynı DOM API ve CSS standartlarına katılarak güzel oynamaya başlamayı kabul etmişti ve bir süredir eski JS çapraz tarayıcı sorunlarıyla uğraşmak zorunda kaldık. JS DOM normalleştirme araçlarının yardımı olmadan jQuery post IE8 gibi
- Tamamen ağır olmayan, yeni bir web geliştiricisi / tasarımcısı kuşağı vardı; programcıların oyun sonrası-patlama-patlamalarını geliştirmek için programcıları, kapıda daha fazla bir şey göstermeden size iyi bir maaş vermeyi kestiklerinde durdukları zaman temel HTML okuryazarlığı ve bazı photoshop becerileri.
- Kasabada, sonunda DHTML (daha uygun şekilde) DOM Scripting, (şimdi uygun olmayan şekilde) HTML5 (zomghtml5!) Olarak adlandırılacak şey için ilginç olanaklar sunan bu yeni CSS çocuğu vardı.
Bu yüzden, hem derin, hem de müşteri tarafında taşınabilir / yeniden kullanılabilir bileşenlerle daha gelişmiş bir uygulama oluşturma ve mimarlık yapma yeteneğini sunan ancak aynı zamanda çok fazla şey bilmeyen ve sadece ihtiyaç duyulan insanlara da erişilebilen bir dile ihtiyacımız vardı. Bir düğmeye tıkladığınızda görünmek / tekrar görünmek için.
Dahası, MS, bazen olmayan bir rekabet / beceriksiz ve / veya rekabete aykırı-pratik uygulama şeması gibi canavar olarak, iyi bir on yıl boyunca uyumlu olmayan DOM API uygulamalarına gerçekten iyi bir on yıl boyunca dokunmadılar. IE8'de özgün XHR nesnesi ve querySelectors gibi arada bir şey ekleyin.
Unutulmaması gereken önemli şey, 2005 yılına kadar, tarayıcılar arası sorunları ele alma konusundaki karmaşıklığı tamamen JavaScript'in ciddiyetinde ciddi bir mesele olmadığı için tamamen gömdüğümüzdür. CSS2'yi yeterince desteklemediği sürece çok daha fazla ağrıya neden oldu. Saf hacim ve sorunların derinliği hakkında bir fikir edinmek için quirksmode.org sayfasını incelemenizi öneririz . Bunun, tamamen VB'de değil, kesinlikle tamamen yeni bir hale gelmek suretiyle tüm meslekten kaçınmak olan herhangi bir eklenti stratejisi ile değil, Java'daki kütüphanelerde sorunsuz ve pek çok kütüphanede elde edilebilecek bir başarı olduğunu düşünmüyorum. biraz sıkıntı.
Kullanıcı Arabirimi için Çok Önemli Olan Diğer Dil Özellikleri:
Birinci Sınıf İşlevler: Deneyimime göre hiçbir şey, işlevlerini birinci sınıf yapan bir dilden asenkron işlem ve olaya dayalı paradigmalardan daha iyi bir şekilde ödünç vermez. UI çalışmalarında her iki kaygı da düzenli olarak ele alınmaktadır.
Dinamik Tipler: Döküm ve tip kontrolü, kodun özlü ve yalın kalmasına yardımcı olan JavaScript'te çok nadir bir ihtiyaçtır. UI endişeleri çok karmaşık ve karmaşık olabilir. Kodu sıkı tutmak ve veri akışı konusunda kesinlikle net olmak, onu anlamak ve değiştirmek / korumak için çok önemlidir.
Korumacı Değil: Yıllardır biri, kendi hatalarınızdan ve başka birinin kodunuzla yapabileceği aptalca şeylerden kendinizi korumanız gerektiğine dair vaaz veriyor, kod oluşturmalarını orijinal niyetiyle karıştırmak imkansız hale geliyor ile yazılmış ve birçok insan dinliyor. Her zaman yanlış olduklarını söylemeyeceğim (düşünebilir) ancak web kullanıcı arayüzüne yanlış bir yaklaşım olduğunu söyleyeceğim ve korsan olduğumuz, müşteriyi koruduğumuz ve değiştirdiğimiz bir fenomen olacağına inanıyorum. Yan GUI'lar daha hızlı bir şekilde ve bu tür çalışmalardan daha kolay bir şekilde, geçmişte daha kısıtlayıcı dillerde yapıldı. Hareket halindeyken olayları hızlı ve kolay bir şekilde değiştirebilmek, anıtsal miktarda dolaylı ve soyutlama ek yükü gerektirmeyen dinamik / akışkan mimarisi şemalarına sahip olmayı çok kolaylaştırır, bu da cehennem kodunda neler olup bittiğini görmeyi kolaylaştırır. ve istisnaları çok daha temiz bir şekilde ön-boşaltma veya işleme. Yaptığınız her şeyde daha doğrudan ve diğer felsefede verilenlerden çok daha az kodla daha doğrudan bir kod oluşturmayı mümkün kılmak sayesinde basitçe sürdürmek daha kolaydır.
JS nasıl popüler oldu? Yine iş zamanı ve zamanı için mükemmel bir araç olduğunu kanıtladı. Bu bizim "sıkışmış" olduğumuz dil değil, genel olarak popüler dillerde çok fazla evrime ilham vermiş olabilecek dildir. Bunun için, Brendan Eich'e ve fikrinin başının içine konmasına yardımcı olan çağdaşlara, Scheme'yi Java'dan daha çok sevdiği soruna uygun bir tasarım ilhamı olarak gösterdiği için teşekkür edebilirsiniz.