Sunucu taraflı JavaScript Node.js 13.0 sürümü

Mevcut serbest Düğüm.js 13.0Ağ uygulamalarını JavaScript'te çalıştırmak için platformlar. Aynı zamanda 12 yıl boyunca güncellemeleri yayınlanan uzun vadeli destek sürümleri kategorisine aktarılan Node.js 4.x'in önceki şubesinin stabilizasyonu da tamamlandı. Node.js 10.0'ın önceki LTS şubesi için destek Nisan 2021'e kadar, son LTS 8.0 şubesi için destek ise Ocak 2020'ye kadar sürecek.

Ana iyileştirmeler:

  • V8 motoru sürüme güncellendi 7.8yeni performans optimizasyon teknikleri kullanan, nesne yıkımını iyileştiren, bellek tüketimini azaltan ve WebAssembly yürütmesi için hazırlık süresini azaltan;
  • Uluslararasılaştırma ve kütüphane tabanlı Unicode için tam destek varsayılan olarak etkindir YBÜ (Unicode için Uluslararası Bileşenler), geliştiricilerin kod yazmasına olanak tanır destekleyici farklı diller ve yerel ayarlarla çalışın. Tam icu modülü artık varsayılan olarak yüklenmiştir;
  • API stabilize edildi İşçi Konuları, izin vermek çok iş parçacıklı olay döngüleri oluşturun. Uygulama, JavaScript kodunu birden fazla paralel iş parçacığında çalıştırmanıza olanak tanıyan Worker_threads modülünü temel alır. Workers Threads API'sine yönelik kararlı destek, Node.js 12.x'in LTS şubesine de desteklendi;
  • Platform gereksinimleri artırıldı. Şimdi montaj için gereken en az macOS 10.11 (Xcode 10 gerektirir), AIX 7.2, Ubuntu 16.04, Debian 9, EL 7, Alpine 3.8, Windows 7/2008;
  • Python 3 için geliştirilmiş destek. Sistemde hem Python 2 hem de Python 3 varsa, Python 2 hala kullanılır ancak sisteme yalnızca Python 3 yüklendiğinde derleme yeteneği eklenmiştir;
  • HTTP ayrıştırıcısının eski uygulaması (“—http-parser=legacy”) kaldırıldı. Kaldırılan veya kullanımdan kaldırılan çağrılar ve özellikler FSWatcher.prototype.start(), ChildProcess._channel, ReadStream ve WriteStream nesnelerinde open() yöntemi, request.connection, Response.connection, module.createRequireFromPath();
  • sonra ortaya çıktı 13.0.1 güncellemesi birkaç hatayı hızla düzeltti. Özellikle, npm 6.12.0'ın desteklenmeyen bir sürümün kullanılmasıyla ilgili uyarı görüntülemesiyle ilgili sorun çözüldü.

Node.js platformunun hem Web uygulamalarının sunucu desteği için hem de sıradan istemci ve sunucu ağ programlarının oluşturulması için kullanılabileceğini hatırlatalım. Node.js uygulamalarının işlevselliğini genişletmek için çok sayıda modüllerin toplanmasıHTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 sunucuları ve istemcilerinin uygulanmasına sahip modüller, çeşitli web çerçeveleriyle entegrasyon modülleri, WebSocket ve Ajax işleyicileri, DBMS konektörleri (MySQL, PostgreSQL, SQLite) bulabileceğiniz modüller , MongoDB ), şablon motorları, CSS motorları, şifreleme algoritmalarının ve yetkilendirme sistemlerinin (OAuth) uygulamaları, XML ayrıştırıcıları.

Çok sayıda paralel isteği işlemek için Node.js, engellemeyen olay işlemeyi ve geri çağrı işleyicilerini tanımlamayı temel alan eşzamansız bir kod yürütme modeli kullanır. Bağlantıları çoğullamak için desteklenen yöntemler arasında epoll, kqueue, /dev/poll ve select bulunur. Kütüphane bağlantıları çoğaltmak için kullanılır libuvüzerinde bir üst yapı olan libev Unix sistemlerinde ve Windows'ta IOCP üzerinden. Bir iş parçacığı havuzu oluşturmak için bir kitaplık kullanılır özgürlük, DNS sorgularını engellemesiz modda gerçekleştirmek için entegre edilmiştir c-ares. Engellemeye neden olan tüm sistem çağrıları iş parçacığı havuzunda yürütülür ve daha sonra sinyal işleyiciler gibi çalışmalarının sonucunu isimsiz bir kanaldan geri iletir. JavaScript kodunun yürütülmesi, Google tarafından geliştirilen bir motor kullanılarak sağlanır. V8 (Ayrıca Microsoft, Chakra-Core motoruyla Node.js'nin bir sürümünü geliştiriyor).

Node.js özünde çerçevelere benzer Perl AnyEvent, Yakut Etkinlik Makinesi, Piton Bükülmüş и uygulama Tcl'deki olaylar, ancak Node.js'deki olay döngüsü geliştiriciden gizlenir ve tarayıcıda çalışan bir web uygulamasındaki olay işlemeye benzer. Node.js için uygulamalar yazarken, örneğin “var result = db.query(“select..”);” yapmak yerine olaya dayalı programlamanın özelliklerini dikkate almak gerekir. İşin tamamlanmasının beklenmesi ve sonuçların daha sonra işlenmesi ile Node.js, eşzamansız yürütme ilkesini kullanır; kod “db.query(“select..”, function (result) {result Processing});” haline dönüştürülür, burada kontrol hemen diğer koda geçer ve veri geldikçe sorgu sonucu işlenir. .

Kaynak: opennet.ru

Yorum ekle