NodeJS Nedir?
NodeJS, en güzel tabir ile sunucu taraflı JavaScript kodları yazmamıza olanak tanıyan bir platformdur. Sunucu taraflı olarak, görsel ara yüzde gerçekleşen işlemlerin arka plandaki akışını yöneten, gerekli işlemleri gerçekleştiren bir Backend yazılımıdır. Eskiden JavaScript ile sadece arayüzsel olarak işlem gerçekleştirebiliyorken NodeJS ile bu kabuk aşılmış oldu. Temelinde JavaScript olan bu yapı ile NodeJS’e kolaylıkla adapte olabilirsiniz. NodeJS ile dinamik web siteleri oluşturabilirsiniz. Dinamikten kastımız sadece görsel arayüzü olan siteler olarak değil, veri ekleyebileceğimiz, listeleyebileceğimiz, güncelleyebileceğimiz, silebileceğimiz ve başka insanların oluşturmuş olduğu yapılar ile haberleşmeye olanak sağlayan yapılardır.
Teknik olarak açıklamak gerekir ise Google’ın V8 motoru için geliştirmiş olduğu bir JavaScript Runtime Environment’dir.
NodeJS Neden Popüler?
Popüler olmasının en büyük sebebi, hızlı ve performanslı olmasıdır ve yazılması diğer dillere nazaran daha kolaydır. Özellikle eğer JavaScript bilginiz varsa bu sizin için çok büyük artı olacaktır. Bunu kullanarak deneyimleyebilirsiniz.
Yazılımda bloklama adında bir kavram vardır. Peki nedir bu bloklama? Bir örnek üzerinde anlatalım. Diyelim ki yapmanız gereken iki tane iş parçacığı var ve birinci iş parçacığı ikinci iş parçacığından önce geldi ve birinci iş parçacığı ikinci iş parçacığından daha uzun sürüyor. İkinci iş parçacığının birinci iş parçacığını beklemesi ne kadar kötü bir durum olur değil mi 😊 Gündelik hayatta ATM’den acil nakit ihtiyacınız var ve hiç ATM kullanmayı bilmeyen ve çevresindeki insanlara güvenmeyen bir büyüğümüz olduğunu düşünelim. Bu sizin modunuzu biraz düşürecektir. Ama işleminizi hiç bekletmeden halledebileceğinizi söylesem? İşte bloklama kavramı da tam olarak budur.
NodeJS ile işlerinizi bloklanmadan yürütebilirsiniz. Bu da bir yazılımcı olarak hem sizin açınızdan hem de kullanıcı açısından oldukça güzel bir durum olacaktır. Bu özellik, NodeJS’in popüler olmasında oldukça etkili bir rol oynamaktadır. Bu durumlar rakamsal olarak da yansımaktadır. Gelin grafiklere biraz göz atalım.
Rakamlarla da görüldüğü üzere sonuçlar yazdıklarımızı destekler niteliktedir
NodeJS Ortak Geliştirici Topluluğu
NodeJS açık kaynaklıdır. Peki, nedir bu açık kaynak? Geliştiricilerin (yazılımcıların) katkıda bulunabildikleri ve sürekli olarak dünya üzerindeki yazılımcılar tarafından geliştirilebilir olmasıdır. Bu durumun en güzel katkısı, yazacağınız yazılımda başka geliştiriciler tarafından hazırlanmış, sizin yazılımınıza dâhil edip kullanabileceğiniz 800.000’ den fazla paket olmasıdır. Bu paketler ile çoğu işinizi hali hazırda olan paketler ile kolaylıkla halledebilirsiniz. Tüm bu paketlere npm (Node Package Manager) denilmektedir. Npm dünyanın en büyük yazılım paket defteridir. 😊
NodeJS ile Neler Yapılabilir?
NodeJS birçok platformda kullanılabilmektedir. Bu durum NodeJS e oldukça zenginlik katmaktadır. Bunlar arasında dinamik web uygulamaları, sosyal medya uygulamaları, chat uygulamaları, görüntülü görüşme uygulamaları, başka yazılımlar ile haberleşebilme gibi pek çok alan vardır. Tüm bu göz alıcı durumu büyük firmalar tarafından ilgi görmüş ve büyük firmaların NodeJS kullanmalarına sebep olmuştur. Şimdi ise NodeJS kullanan büyük firmalara göz atalım.
NodeJS Kullanan Bazı FirmalarBirçok firmada NodeJS aktif olarak kullanılmaktadır ve kullanım hızı gittikçe artmaktadır. Ama başlıacalarını saymak gerekirse;
- Apple
- IBM
- Medium
- Paypal
- Netfilix
NodeJS Çalışma Programımı Nasıl Belirlemeliyim?
Eğer JavaScript konusunda da önce bir bilginiz varsa bu NodeJS öğrenmek için harika bir şeydir. Ama eğer bilginiz yoksa da hiç endişeye gerek yok çünkü NodeJS inanılmaz derecede kolay bir dildir. Kendimize öncelikle bir yol haritası çıkarmalı ve sonrasında bu yolda azimle devam etmeliyiz.
Kısaca şu şekilde bir yol takip edilebilir.
- JavaScript
- NPM
- NodeJS basit komutlar (Algoritmik problemler çözmeli)
- ECMAScript
- Git, Github
- HTTP/HTTPS Protokol
- Express.js (Web Framework)
- MondoDB (Veritabanı)
Bunları öğrendikten sonra kendinizi geliştirmek istediğiniz alanların herhangi birisinde uzmanlaşabilir veya yeni teknolojileri de araştırabilirsiniz. Testing, Design pattern gibi kavramları, Rest, Restful Api gibi kavramları öğrenebilirsiniz.
Sonuç
NodeJS performanslı, hızlı, kullanımı kolay olmakla birlikte geniş platformlarda uygulama geliştirebilmemize olanak tanır. Bütün bu durumlar göze alındığında önde gelen teknolojilerden birisidir cümlesini gönül rahatlığı ile dile getirebiliriz. 😊
Salih TEYEK NodeJS Developer