Deno 1.0, Node.js'nin güvenli JavaScript platformu

Node.js geliştiricileri yayınlandı son günlerde lansmanı ilk önemli versiyonu bana 1.0 ver ki bu iki yıllık geliştirmeden sonra gelir. Bu JavaScript ve TypeScript'te uygulamaların ayrı ayrı çalıştırılması için bir platform, sunucuda çalışan denetleyiciler oluşturmak için kullanılabilir. Değil Node.js'nin bir dalı değil, sıfırdan oluşturulmuş yeni bir projedir.

Node.js, Deno gibi V8 JavaScript motorunu kullanırChromium tabanlı tarayıcılarda da kullanılan.  Anahtar motivasyon yeni JavaScript platformunu oluşturmak için Node.js mimarisinde yapılan kavramsal hataları ortadan kaldırma arzusuydu ve kullanıcılara daha güvenli bir ortam sağlar.

Güvenliği artırmak için, V8 motorunun etrafındaki bağlantı Rust dilinde yazılmıştır, Bu, bellekle düşük düzeyli çalışmadan kaynaklanan birçok güvenlik açığını önler; örneğin bir bellek alanına serbest bırakıldıktan sonra erişim, boş göstericilere başvurma ve arabellek sınırlarının aşılması gibi.

Proje kodu MIT lisansı altında dağıtılır ve Linux, Windows ve macOS için hazırlanmış derlemelere sahiptir.

Deno 1.0'daki yenilikler

Platformun bu yeni versiyonu, Deno ad alanında API stabilizasyonu vurgulanmıştırile ilgilidir. uygulamaların işletim sistemiyle etkileşiminden sorumlu. Henüz kararlı olmayan yazılım arabirimleri varsayılan olarak gizlidir ve yalnızca kararsız modda başlatıldığında kullanılabilir.

Yeni sürümler oluşturuldukça, bu tür API'ler kademeli olarak kararlı hale gelecektir. SetTimeout () ve fetch () gibi ortak işlevleri içeren global ad alanındaki API, yaygın web tarayıcılarının API'sine olabildiğince yakındır ve tarayıcılar için web standartlarına uygun olarak geliştirilmiştir. Doğrudan platform kodunda kullanılan Rust API'leri ve Deno çalışma zamanı için eklenti geliştirme arayüzü henüz kararlı değil ve gelişmeye devam ediyor.

Buna ek olarak, güvenlik oryantasyonu üzerinde çalıştığı öne çıkıyor Dosya erişimiyle ilgili varsayılan ayarlarda, ağ yetenekleri ve ortam değişkenlerine erişim varsayılan olarak kilitlidir ve açıkça dahil edilmesi gerekir. Varsayılan olarak, uygulamalar korumalı alan yalıtımlı ortamlarda çalışır ve açık ayrıcalıklar olmadan sistem yeteneklerine erişemezler.

Öte yandan yeni versiyonun duyurusunda JavaScript'e ek olarak TypeScript için yerel destek. Türleri kontrol etmek ve JavaScript oluşturmak için, standart TypeScript derleyicisi kullanılır, V8'deki JavaScript çözümlemesine kıyasla düşük performans sağlar. Gelecekte, TypeScript işleme performansını önemli ölçüde artırmamızı sağlayacak kendi TypeScript tür kontrol sistemi uygulamamızı hazırlamayı planlıyoruz.

Çalışma zamanı, tek bir bağımsız yürütülebilir dosya biçiminde gelir ("değil"). Deno kullanarak uygulamaları çalıştırmak için, platformunuz için yaklaşık 20 MB boyutunda, harici bağımlılıklar olmadan ve sistemde herhangi bir özel kurulum gerektirmeyen çalıştırılabilir bir dosya indirmeniz yeterlidir. Aynı zamanda deno, monolitik bir uygulama değil, Rust'ta (deno_core, rusty_v8) ayrı olarak kullanılabilen bir kutu paket koleksiyonudur.

Çalışma zamanına ek olarak, platform Deno ayrıca bir paket yöneticisi görevi görür ve kod içindeki URL'ye göre modüllere erişime izin verir. Harici sunuculardan URL ile indirilen dosyalar önbelleğe alınır. Modül sürümlerine bağlantı, URL içindeki sürüm numarası talimatlarıyla belirlenir.

Öne çıkan diğer yeniliklerden bu sürüm 1.0:

  • Uygulamalardaki HTTP ağ isteklerinin etkin işlenmesi, platform, yüksek performanslı ağ uygulamaları oluşturmak için tasarlanmıştır.
  • Hem Deno'da hem de normal bir web tarayıcısında çalışabilen evrensel web uygulamaları oluşturma yeteneği.
  • Kullanımı harici bağımlılıklara bağlanmayı gerektirmeyen standart bir modül kümesinin varlığı. Standart koleksiyondaki modüller de denetlenmiş ve uyumluluk açısından test edilmiştir.
  • Çerçeve, entegre bir bağımlılık inceleme sistemidir (komut «deno info») ve kodu biçimlendirmek için bir yardımcı programdır (deno fmt)
  • Tüm uygulama komut dosyaları tek bir JavaScript dosyasında birleştirilebilir.

kaynak: https://deno.land


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.