Deno zaten NPM modüllerini destekliyor

deno npm

Platform, Node.js'nin yaratıcısı Ryan Dahl tarafından geliştiriliyor.

geçenlerde Deno çerçevesi 1.28'in yeni sürümünün piyasaya sürüldüğü haberi yayınlandı, sunucuda çalışan denetleyiciler oluşturmak için kullanılabilen bağımsız JavaScript ve TypeScript uygulamalarının yürütülmesini sağlar.

Deno, kullanıcılara daha güvenli bir ortam sağlamak için oluşturuldu ve Node.js mimarisindeki kavramsal hataları ortadan kaldırın. Güvenliği artırmak için, V8 motorunun etrafındaki bağlama, düşük seviyeli bellek kullanımı nedeniyle ortaya çıkan birçok güvenlik açığını önleyen Rust ile yazılmıştır.

İstekleri engellemesiz modda işlemek için, yine Rust ile yazılmış Tokyo çerçevesi kullanılır. Tokyo, çoklu iş parçacığını destekleyen ve eşzamansız modda ağ isteklerini işleyen, olaya dayalı mimariye dayalı yüksek performanslı uygulamalar oluşturmanıza olanak tanır.

Bazı özellikler Deno'nun ilkeleri aşağıdaki gibidir:

  • JavaScript'e ek olarak yerleşik TypeScript dil desteği. Türleri kontrol etmek ve JavaScript oluşturmak için normal TypeScript derleyicisi kullanılır, bu da V8'de JavaScript'i ayrıştırmaya kıyasla performans düşüşüne neden olur.
  • Çalışma zamanı, tek bir bağımsız yürütülebilir dosya ("deno") biçiminde gelir. Uygulamaları Deno kullanarak çalıştırmak için, platformunuz için yaklaşık 30 MB boyutunda, harici bağımlılığı olmayan ve sisteminizde herhangi bir özel kurulum gerektirmeyen yürütülebilir bir dosya indirmeniz yeterlidir.
  • HTTP aracılığıyla ağ isteklerinin verimli uygulama işlemesi, 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ı dış bağımlılıklara bağlanmayı gerektirmeyen standart bir modül setinin varlığı.
  • Standart Koleksiyon modülleri, uyumluluk açısından daha fazla denetlenmiş ve test edilmiştir
  • Paket, yerleşik bir bağımlılık denetleme sistemi (deno info komutu) ve bir kod biçimlendirme yardımcı programı (deno fmt) içerir.
  • Tüm uygulama komut dosyaları tek bir JavaScript dosyasında birleştirilebilir.

Deno 1.28'in ana yenilikleri

Yeni sürümdeki en önemli değişiklik, npm deposunda barındırılan paketlerle kararlı uyumlulukne Deno'nun 1,3 milyondan fazla modül kullanmasına izin verir Node.js platformu için oluşturuldu. Örneğin, Deno tabanlı uygulamalar artık Prisma, Mongoose ve MySQL gibi kalıcı veri erişim modüllerinin yanı sıra React ve Vue gibi ön uç çerçeveleri kullanabilir.

Bazı npm modülleri hala Deno ile uyumlu değil, örneğin package.json dosyası gibi belirli Node.js ortamlarına bağlamalar nedeniyle. NPM modülleri ile "deno compile" komutunu kullanmak da mümkün değildir. Gelecekteki sürümlerin bu uyumsuzlukları ve sınırlamaları ele alması planlanmaktadır.

modül sistemi Deno'dan devralınan ECMAScript ve Web API modül modeli aynı kalır, ve Deno'nun iyi bilinen URL tabanlı yükleme şeması, NPM modüllerini içe aktarmak için kullanılır.

NPM paketlerini Deno'da kullanmak Node.js'den çok daha kolaydır, çünkü modülleri önceden yüklemeye gerek yoktur (uygulama ilk kez başlatıldığında modüller yüklenir), package.json dosyası kullanılmaz ve node_modules dizini kullanılmaz, varsayılan olarak kullanılır (modüller paylaşılan dizinde önbelleğe alınır, ancak önceki davranışı “–node-modules-dir” seçeneğiyle geri almak mümkündür).

dayalı uygulamalar NPM, erişim kontrol mekanizmalarını kullanma yeteneğini korur, Güvenliği etkileyen gelişmiş özellikler için izolasyon ve aktivasyon deno. Şüpheli bağımlılıklar yoluyla saldırılara karşı koymak için, Deno varsayılan olarak sisteme bağımlılıklardan erişmeye yönelik tüm girişimleri engeller ve algılanan sorunlar hakkında bir uyarı görüntüler. Örneğin, modül /usr/bin/ dizinine yazmaya çalıştığında, bu işlem için bir onay istemi görüntülenecektir:

NPM ile ilgili olmayan geliştirmeler yeni sürümde V8 motor yükseltmesini dahil et 10.9 sürümü için, kilitli dosyaların otomatik algılanması, Deno.bench(), Deno.gid(), Deno.networkInterfaces(), Deno.systemMemoryInfo() ve Deno API'lerinin stabilizasyonu. .uid(), komutları yürütmek için yeni bir kararsız API Deno.Command() ekleyerek (Deno.spawn, Deno.spawnSync ve Deno.spawnChild için evrensel değiştirme).

Son olarak şunu belirtmekte fayda var Node.js gibi Deno da V8 JavaScript motorunu kullanır.Chromium tabanlı tarayıcılarda da kullanılan . Aynı zamanda, Deno bir Node.js çatalı değil, sıfırdan inşa edilmiş yeni bir projedir. Projenin kodu MIT lisansı altında yayınlandı ve Linux, Windows ve macOS için hazır yapılar mevcut.

Şekerleme hakkında daha fazla bilgi edinmekle ilgilenen, danışabilirsin aşağıdaki bağlantı.


Yorumunuzu bırakın

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

*

*

  1. Verilerden sorumlu: AB Internet Networks 2008 SL
  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.