Neden bugün tarayıcılarda sadece JavaScript ve bazı VBScript desteği var? JavaScript'in iyi olduğunu biliyorum ama başka bir programlama dili kullanma seçeneğinin olması farklı geliştirme stillerini desteklemeye yardımcı olmaz mı?
Neden bugün tarayıcılarda sadece JavaScript ve bazı VBScript desteği var? JavaScript'in iyi olduğunu biliyorum ama başka bir programlama dili kullanma seçeneğinin olması farklı geliştirme stillerini desteklemeye yardımcı olmaz mı?
Yanıtlar:
Birden fazla dil için destek eklemek gerekmez, çözüm, dil uygulayıcıları tarafından kullanılabilecek genel bir byte kodunda standardize etmek olacaktır. Ancak şu anda bunun için hiçbir plan yoktur (önerilmiştir).
Dilleri Javascript üzerine de uygulanabilir. Javascript, diğer dillerin üzerine uygulanmasına izin verecek kadar iyidir. Ve bunun zaten pek çok örneği var.
<script type="text/cpp" src="test.cpp"></script>
.
JavaScript'tir fiili standart ve rekabet tam adil değil çünkü orada bir standart olmak 1996 yılından bu yana olmuştur, ama ben şikayet bir sürü duymadım neden dahil başka bir dil yoktur.
Başka bir "standart" dil eklemek, her türden eğlenceli küçük sorunu teşvik eder.
Yalnızca javascript'i destekledikleri için tarayıcılar arasındaki tutarsızlıkları düşünün. Şimdi daha fazla dil olsaydı nasıl olacağını düşünün.
Tarayıcıların standartlaştırılması gerekir, böylece geliştirdiğiniz şey tüm tarayıcılarda her yerde çalışır.
Tekmeleyen birden fazla diliniz varsa, hepsinin de benzer şekilde performans gösterdiğinden emin olmalısınız. Bir web geliştiricisiyseniz ve bazı yerlerde desteklenebilecek veya desteklenmeyecek dil seçenekleriniz varsa, bu ek bir baş ağrısıdır.
Javascript çok esnek bir dildir, zorunludur, işlevseldir, OOP olabilir (prototipli bir modadan sonra) ve yorumlanır. Artık Chrome'daki gibi iyi motorlarla, bazı iyi şeyler yapabilme yeteneğine sahip. Ekstra diller buraya sadece bir şeyler koyardı, sadece VBScript'e, IE'ye bakardı ve içinde yazılan her şey belirli bir tarayıcı ve platforma, kabusa bağlı.
Bunları tarayıcılara yerleştirmek yerine, satıcılar tıkalı tarayıcı eklentileri (Java, Flash, Silverlight, vb.) Oluşturmak ister. Bu, platformlar arası tutarlılığı garanti eder.
Bunun nedenlerinden biri, farklı tarayıcı satıcılarının standart bir Javascript uygulaması üzerinde hemfikir olmalarının neredeyse imkansız olmasıdır ve Javascript en azından bir web dili perspektifinden sonsuza kadar olmuştur. Bu yüzden çoğu insan, ekosisteme başka bir müşteri tarafı dili eklemenin ve tüm satıcıları desteklemesinin pratik olarak imkansız olduğunu ve potansiyel olarak bunu gerçekleştirebilecek insanların çoğunun zaten daha iyi olduğunu düşündüğüm Javascript standardizasyon konularında olduğunu düşünüyor. zamanlarının kullanımı.
Burada, birden fazla dili desteklemenin, web tarayıcılarının üreticileri için tüm dillerle uyumlu olmalarını sağlama konusunda çok çılgınca olacağını iddia eden birkaç yanıt var. Bana göre bu yanlış görünüyor.
Java, örneğin son derece iyi tanımlanmış bir standarttır. Temel olarak yapmanız gereken tek şey, DOM tarayıcıyı bir Java API olarak göstermek ve web tarayıcınızın içinde Java Sanal Makinesi'ni (JVM) çalıştırmak. Komut dosyası kodunun, derlenmiş ve imzalanmış JAR dosyaları biçiminde veya JavaScript kaynak kodu biçiminde gönderilmesi gerektiğini belirleyebilirsiniz. Tarayıcı JavaScript ile karşılaşırsa, özel bir tercüman aracılığıyla (bugün olduğu gibi) veya JVM'nin üstündeki Rhino aracılığıyla çalıştırabilir . Jar dosyalarına rastlarsa, yeni bir sınıf yükleyici ve güvenlik sanal alanı oluşturur, java bayt kodunu belleğe yükler ve yürütür. Bu, mevcut web sayfalarıyla tamamen geriye dönük olarak uyumlu olacak ve tarayıcının, tek bir vuruşla JVM'de çalışan düzinelerce dili desteklemesini sağlayacaktır.
Diğer Avantajlar:
JavaScript’in Web’de standart dil olarak daha fazla yer kazanacağına inanıyorum. Sunucu tarafı JavaScript’inde bir artış görüyoruz. İşte bu güçlü dilin sunucudaki uygulamalarından bazı örnekler:
POW Web Sunucusu SJS - Firefox Uzantısı veya XULRunner Uygulaması olarak çalışan POW Web Sunucusu için Sunucu tarafı JavaScript. SJS, Apache'deki PHP'ninkine benzer bir rol oynamaktadır, çünkü veritabanlarına bağlanabilir ve müşteri tarafı içeriği oluşturabilir.
NodeJS - Olay tabanlı bir model kullanan sunucu tarafı JavaScript. Google'ın V8 JavaScript Motoru kullanılarak inşa edilmiştir . NodeJS, ölçeklenebilir ağ programları oluşturmak için bir araç olarak ilan edilir. Bir "Merhaba Dünya" Web sunucusu sadece 6 kısa satırda yazılabilir!
Jaxer - Tüm script bloklarını runat="server"
server-tarafı JavaScript olarak yorumlayan bir JavaScript sunucusu . Tüm Web uygulamaları JavaScript ile yazılabilir.
Rhino - Java için JavaScript - Mozilla, Java ile çalışan bu sunucu tarafı JavaScript uygulamasını oluşturdu. Temel olarak Querces PHP for Java , Jython, JRuby ve JVM'de çalışan diğer dillerin soyutlamaları ile benzer bir kavramdır . Rhino tipik olarak JavaScript'i Java'ya gömmek için son kullanıcılara komut dosyası araçları sağlamak için kullanılır, ancak iş tarafı mantığını başka bir dilde yeniden yazmak zorunda kalmadan istemci tarafı kodu sunucuya taşımak için de kullanılabilir!
JQuery Claypool - Sunucudaki JQuery'nin gücünü kullanan sunucu tarafı JavaScript çerçevesi. Çok havalı! Bir tarayıcının EnvJs Sunucu tarafı JavaScript uygulaması kullanılarak geliştirilmiştir.
EnvJs - Rhino'nun üzerine kurulu başsız bir tarayıcı.
Bu uygulamaların ve çerçevelerin birçoğunun gösterdiği şey, JavaScript’in web geliştirmede o kadar güçlü bir güç haline geldiği, topluluk liderlerinin zaten JavaScript’i sunucuya taşımaya başladıkları. JavaScript oldukça güçlü bir işlevsel programlama dilidir ve zaman geçtikçe evrimleştiğini göreceğimizi hissediyorum.
Özetle, bu tek tarayıcı dilini sunucuya taşıyabildiğimiz ve bu açığı daha birleşik bir şekilde köprüleyebildiğimizde diğer dilleri tarayıcıya taşımak gibi bir çelişki gibi görünüyor.
Haskel, Lisp ve Python (Muhtemelen diğerleri) de dahil olmak üzere diğer dilleri javascriptte derleyecek araç örnekleri vardır. Yani, bu dillerden birinde çalışmak istiyorsanız, bunu yapabilirsiniz.
Ve üniversite profesörlerinden birinin Javascript'te bir program uygulaması yazdığını düşünüyorum. Yani düzeni seviyorsanız, bunu da yapabilirsiniz.
İnsanlar yerleşik çeşitliliğin olmaması konusunda iki şekilde çalıştılar: flash veya java uygulamaları gibi eklentileri kullanmak ve jquascript'i jquery veya google web araç seti gibi kendi "makine kodları" olarak kullanmak için javascript kullanan türler oluşturmak. Yeterince popüler olan yeni bir gelişme tarzı olsaydı, insanlar onu kullanmanın bir yolunu bulurlardı.
Javascript'te bir .net çalışma zamanı yaparsanız ve popüler hale gelirse, bazı çevreler adınızı internette sonsuza dek küfredeceklerini unutmayın.