Node.js Nedir ?
NodeJs, yaygın olarak web tarayıcılarında kullanılmakta olan dinamik bir programlama dili olan JavaScript’in, sunucu tarafında yani backend dili olarak kullanılabilmesine olanak sağlayan bir programlama dilidir. Bu durum sunucu ve istemci tarafında yazılan kodlar arasındaki farklılıkları ortadan kaldırarak, tek programlama dili ile tüm ihtiyaçların karşılanmasını amaçlamaktadır.
Ayrıca NodeJs tek yürütmeli(single thread) mimari yapısının içinde asenkron programlama yapısını kullanmaktadır. Bu durum yüksek performans ve ölçeklendirilebilme olanakları sunmaktadır. Asenkron yapısı sayesinde gerçek zamanlı(real time) uygulamalarda oldukça iyi performans sağlamaktadır. Yani NodeJs ile büyük ve performansa ihtiyacınız olan projeleri geliştirebilirsiniz.
Birçok büyük proje de şuanda NodeJs kullanılmaktadır. Bu örnekleri link1-link2 Quora makalelerinden de inceleyebilirsiniz.
Görüldüğü gibi anlık yüksek kullanıcı sayılarına ulaşan popüler uygulamalar, özellikle gerçek zamanlı uygulamalarda sunucularınızı rahat ettirecektir. Örneğin chat uygulaması vb.
NodeJs’in Avantajları Nelerdir ?
-
NpmJs’ e sahip olması. NpmJs, NodeJs’in paket yöneticisidir. İçerisinde şuan itibariyle 375 bin civarı paket bulunuyor. Bu paketleri kullanarak hızlı bir şekilde proje çıkarabilirsiniz. Ayrıca NpmJs’e sizde yaptığınız paketleri yükleyebilir, diğer kişilere yardımcı olabilirsiniz.
-
Modüler yapıya sahip olması. Yukarıda ki maddeyle birbirini bütünler bir avantajdır. Modüler olduğu için paketleri rahatlıkla projenize dahil edebilirsiniz. Buda size geliştirme sırasında hız ve kolaylık olarak geri dönecektir.
-
Hızlı, basit ve yüksek miktardaki istemi verimli bir şekilde yönetebilen bir yapıya sahiptir.
-
Asenkron yapısı sayesinde, yoğun veri trafiğine sahip sistemlerde, özellikle veritabanı işlemlerinin yol açtığı beklemeleri ortadan kaldırmaktadır.
-
MongoDB ile ilişkisinin üst seviyede olması NodeJs’nin birbaşka avantajı. NoSQL veritabanlarının en ünlüsü MongoDB de JavaScript tabanlı olduğu için üretkenliğiniz yine artıyor.
Ama unutmamak gerek ki şu durumla karşılabilirsiniz. 😃😃 http://callbackhell.com/