Genel olarak Node.js ‘in bir programlama dili olduğu yanılgısı var. Ancak Node.js bir programlama dili değildir. Peki, bir programlama dili değilse nedir? Ziyaretçiler için gizlenmiş link,görmek için Giriş yap veya üye ol. açık kaynak kodlu, Twitter ve Aliexpress gibi dünyaca ünlü şirketler tarafından kullanılan, her türlü proje için uyumlu harika bir platformdur. Ve bu platform hangi dili kullanıyor diye merak ediyorsanız tabi ki cevap: JavaScript
Geekler için teknik bir tanım yapmak gerekirse :
Node.js, Google Chrome’un JavaScript (V8) Motorunu temel alarak JavaScript kodunu makine koduna derleyen sunucu taraflı, ölçeklenebilir ve event-based, non-blocking I/O modeli kullanan günümüzde tercih edilen en popüler teknoloji platformlarından bir tanesidir.
Evet, Node.js tanımında geeklerin bildiği ama konuya pek de yakın olmayanların “bu ne ?” dediği terimler kullandım hadi gelin bu terimlere kısaca göz atalım.
Ölçeklenebilir ne demek?
Şu güzel örnekle çok daha net anlaşılacaktır :
Küçük bir marketiniz olsun. Son zamanlarda marketinizin bulunduğu bölge gelişmeye başladığı için artık marketinize gelen müşteri sayısı artıyor. Marketinizde bulunan 2 kasada da uzun kuyruklar oluşuyor. Haliyle bekleyen müşteriler de bu duruma sinirleniyor ve aldıkları ürünleri bırakıp gidiyorlar. Bu durumu fark ettiniz ve bir şeyler yapmalısınız. Ne yapardınız?
Aklınıza Kasa sayısını artırmak geliyor ve ihtiyacı karşılayacak kadar kasa ekliyorsunuz. İşe yarıyor! Müşteriler bu durumdan memnunlar ve herkes mutlu Aradan zaman geçiyor ve bölge kalabalıklaşmaya devam ediyor. Sizin de marketinizde kasa koyacak yer kalmadı. Aynı zamanda, marketinizi fiziksel olarak büyütmenin de bir kalıcı çözüm olmadığı ortada. İşler biraz daha karmaşıklaşıyor!
Müşteriler mutsuz. Yine söylenmeler ve şikayetler artıyor! Neyse ki yeterince paranız var ve bölgede başka bir şube açıyorsunuz. Müşterileriniz artık iki şubenize dağıldığı için her şey tekrar eskiye dönüyor ve rahat bir nefes alıyorsunuz.
Bu eğlenceli örnekte, markete kasa eklemek dikey ölçeklendirme oluyor. Yani sistemi rahatlatmak için tek bir makinenin sistem özelliklerine eklemeler yapmak… İkinci bir şube açmak ise yatay ölçeklendirme yani sisteme farklı makineler eklemektir. Kabaca, Dikey : mevcut imkanları iyileştirmek ve geliştirmek. Yatay : sistemi klonlamak denilebilir.
Event-Based ne demek ?
nodejs sensor
Kelime anlamı : Olay tabanlı… Yazdığınız bir programın çalışma zamanında, kullanıcı eylemleri (fare tıklamaları, tuşa basma vb.), sensör çıkışları veya diğer programlardan gelen iletiler gibi olaylarla ihtiyacı olduğunda kullandığınız model event-based ‘dir.
Non-Blocking I/O ne demek ?
Tek bir işlemin aynı anda birden fazla istek sunmasına izin verir. Yani, işlemin engellenmesi ve I/O (giriş/çıkış) işlemlerinin tamamlanmasını beklemek yerine, I/O işlemleri sisteme devredilir. Böylece, işlem bir sonraki kod parçasını yürütebilir.
Node.js ile neler yapılabilir ?
Başlarken “… her türlü proje için uyumlu harika bir platformdur …” demiştim. Bunun sebepleri arasında, önceden oluşturulmuş çok sayıda modülünün bulunması da var. NPM ‘de (node package manager – düğüm paketi yöneticisi) herhangi bir şey için hemen hemen her modülü bulabilirsiniz. İstediğiniz projeyi rahatlıkla geliştirebilirsiniz.
Yeni başlayanlar için İnternette biraz araştırma ve uğraş verince yapılabilecek birkaç örnek vermek yararlı olur diye düşündüm. Node.js öğrendikten sonra bu örneklerle kendinizi geliştirmek hem eğlenceli hem de bittiğinde elinizde gerçek projeler bulunmuş olacak.
Çok oyunculu oyun
Node.js games
Node.js , Socket.io ve hayal gücünüzü de kullanarak farklı tarzda oyunlar yapabilirsiniz.
Canınız sıkıldığında kendi yaptığınız oyunu oynamak harika olmaz mıydı? Bence olurdu
Müzik çalar
Node.js music
NPM, müzik çalar için bir çok modüle sahiptir. Bu modülleri kullanarak hayalinizdeki müzik çaları yapabilirsiniz. Sevdiğiniz müzikleri kendinize ait müzik çalarınızdan dinleyebilirsiniz.
Nesnelerin İnterneti (uzaktan kumandalı araba, PC vb.)
nodejs iot
Node.js , veri yoğunluğu olan, gerçek zamanlı uygulamalar geliştirmek için biçilmiş kaftandır. IoT içindeki sensörler, işaretçiler ve giyilebilir cihazlar gibi cihazlar büyük talepler oluşturur. Node.js, bu istekleri çok verimli bir şekilde işler. Uzaktan kumandalı araba, giyilebilir cihazlar, akkıllı ev teknolojileri gibi IoT cihazlarını istediğiniz gibi kullanabilirsiniz.
Görüntülü Grup Sohbeti
Ailenizle, arkadaşlarınızla gerçek zamanlı olarak görüntülü sohbet yapabildiğiniz bir web siteniz olsaydı fena olmaz mıydı?
Slayt Gösterisi Sunumu
nodejs-slideshow
Node.js kullanarak telefonunuzdaki slayt gösterisini yerel ağınızda veya internet sitenizde yayınlayabilirsiniz. Hatta slayt gösterisini telefonunuzdan kontrol edebilirsiniz.
Umarım aradığınız cevapları verebilmişimdir. İlerleyen yazılarımda Angular için Node.js kullanarak API yapacağım. Beraber Node.js kullanımını yakından incelemiş olacağız. Ziyaretçiler için gizlenmiş link,görmek için Giriş yap veya üye ol. platformunda diğer yazılarımda görüşmek üzere.
Geekler için teknik bir tanım yapmak gerekirse :
Node.js, Google Chrome’un JavaScript (V8) Motorunu temel alarak JavaScript kodunu makine koduna derleyen sunucu taraflı, ölçeklenebilir ve event-based, non-blocking I/O modeli kullanan günümüzde tercih edilen en popüler teknoloji platformlarından bir tanesidir.
Evet, Node.js tanımında geeklerin bildiği ama konuya pek de yakın olmayanların “bu ne ?” dediği terimler kullandım hadi gelin bu terimlere kısaca göz atalım.
Ölçeklenebilir ne demek?
Şu güzel örnekle çok daha net anlaşılacaktır :
Küçük bir marketiniz olsun. Son zamanlarda marketinizin bulunduğu bölge gelişmeye başladığı için artık marketinize gelen müşteri sayısı artıyor. Marketinizde bulunan 2 kasada da uzun kuyruklar oluşuyor. Haliyle bekleyen müşteriler de bu duruma sinirleniyor ve aldıkları ürünleri bırakıp gidiyorlar. Bu durumu fark ettiniz ve bir şeyler yapmalısınız. Ne yapardınız?
Aklınıza Kasa sayısını artırmak geliyor ve ihtiyacı karşılayacak kadar kasa ekliyorsunuz. İşe yarıyor! Müşteriler bu durumdan memnunlar ve herkes mutlu Aradan zaman geçiyor ve bölge kalabalıklaşmaya devam ediyor. Sizin de marketinizde kasa koyacak yer kalmadı. Aynı zamanda, marketinizi fiziksel olarak büyütmenin de bir kalıcı çözüm olmadığı ortada. İşler biraz daha karmaşıklaşıyor!
Müşteriler mutsuz. Yine söylenmeler ve şikayetler artıyor! Neyse ki yeterince paranız var ve bölgede başka bir şube açıyorsunuz. Müşterileriniz artık iki şubenize dağıldığı için her şey tekrar eskiye dönüyor ve rahat bir nefes alıyorsunuz.
Bu eğlenceli örnekte, markete kasa eklemek dikey ölçeklendirme oluyor. Yani sistemi rahatlatmak için tek bir makinenin sistem özelliklerine eklemeler yapmak… İkinci bir şube açmak ise yatay ölçeklendirme yani sisteme farklı makineler eklemektir. Kabaca, Dikey : mevcut imkanları iyileştirmek ve geliştirmek. Yatay : sistemi klonlamak denilebilir.
Event-Based ne demek ?
nodejs sensor
Kelime anlamı : Olay tabanlı… Yazdığınız bir programın çalışma zamanında, kullanıcı eylemleri (fare tıklamaları, tuşa basma vb.), sensör çıkışları veya diğer programlardan gelen iletiler gibi olaylarla ihtiyacı olduğunda kullandığınız model event-based ‘dir.
Non-Blocking I/O ne demek ?
Tek bir işlemin aynı anda birden fazla istek sunmasına izin verir. Yani, işlemin engellenmesi ve I/O (giriş/çıkış) işlemlerinin tamamlanmasını beklemek yerine, I/O işlemleri sisteme devredilir. Böylece, işlem bir sonraki kod parçasını yürütebilir.
Node.js ile neler yapılabilir ?
Başlarken “… her türlü proje için uyumlu harika bir platformdur …” demiştim. Bunun sebepleri arasında, önceden oluşturulmuş çok sayıda modülünün bulunması da var. NPM ‘de (node package manager – düğüm paketi yöneticisi) herhangi bir şey için hemen hemen her modülü bulabilirsiniz. İstediğiniz projeyi rahatlıkla geliştirebilirsiniz.
Yeni başlayanlar için İnternette biraz araştırma ve uğraş verince yapılabilecek birkaç örnek vermek yararlı olur diye düşündüm. Node.js öğrendikten sonra bu örneklerle kendinizi geliştirmek hem eğlenceli hem de bittiğinde elinizde gerçek projeler bulunmuş olacak.
Çok oyunculu oyun
Node.js games
Node.js , Socket.io ve hayal gücünüzü de kullanarak farklı tarzda oyunlar yapabilirsiniz.
Canınız sıkıldığında kendi yaptığınız oyunu oynamak harika olmaz mıydı? Bence olurdu
Müzik çalar
Node.js music
NPM, müzik çalar için bir çok modüle sahiptir. Bu modülleri kullanarak hayalinizdeki müzik çaları yapabilirsiniz. Sevdiğiniz müzikleri kendinize ait müzik çalarınızdan dinleyebilirsiniz.
Nesnelerin İnterneti (uzaktan kumandalı araba, PC vb.)
nodejs iot
Node.js , veri yoğunluğu olan, gerçek zamanlı uygulamalar geliştirmek için biçilmiş kaftandır. IoT içindeki sensörler, işaretçiler ve giyilebilir cihazlar gibi cihazlar büyük talepler oluşturur. Node.js, bu istekleri çok verimli bir şekilde işler. Uzaktan kumandalı araba, giyilebilir cihazlar, akkıllı ev teknolojileri gibi IoT cihazlarını istediğiniz gibi kullanabilirsiniz.
Görüntülü Grup Sohbeti
Ailenizle, arkadaşlarınızla gerçek zamanlı olarak görüntülü sohbet yapabildiğiniz bir web siteniz olsaydı fena olmaz mıydı?
Slayt Gösterisi Sunumu
nodejs-slideshow
Node.js kullanarak telefonunuzdaki slayt gösterisini yerel ağınızda veya internet sitenizde yayınlayabilirsiniz. Hatta slayt gösterisini telefonunuzdan kontrol edebilirsiniz.
Umarım aradığınız cevapları verebilmişimdir. İlerleyen yazılarımda Angular için Node.js kullanarak API yapacağım. Beraber Node.js kullanımını yakından incelemiş olacağız. Ziyaretçiler için gizlenmiş link,görmek için Giriş yap veya üye ol. platformunda diğer yazılarımda görüşmek üzere.