- 7 Şub 2012
- 5,018
- 22
Merhabalar, yakın zamanda bir projemizde nodejs kullanmayı düşünüyoruz. Nodejs i merak edip daha önce ufak tefek kullanmışlığım var. Hatta forumun facebook sayfasındaki chat botunu da nodejs ile yaptım.
Peki nedir bu nodejs ? Javascript ile server side işlemlerimizi yapmamızı sağlar. Google'ın v8 motoru üzerine kuruludur. Nodejs bir dil değil, platformdur.
Kendi sitesindeki açıklamasını buraya koyuyorum :
Nodejs tek bir main thread üzerinde çalışır, javascript ile siz yeni bir thread oluşturamazsınız. Asenkron yapısı sayesinde tek bir thread üzerinde birçok isteği karşılamayı sağlar.
Npm ile projenizde ihtiyacınız olabilecek binlerce kütüphaneye erişebilirsiniz.
Nodejs single thread - event loop mimarisiyle çalışır. Bunu daha iyi anlamak için aşağıdaki görseli inceleyebilirsiniz :
Nodejs kullanan büyük şirketler arasında linkedin de mevcut. Hatta linkedin api altyapılarını nodejs e geçirdikten sonra sunucu sayılarını 30dan 3 e indirdikleri söyleniyor : LinkedIn Moved from Rails to Node: 27 Servers Cut and Up to 20xÂ*Faster - High Scalability -
Geçtiğimiz zamanlarda Twitter da altyapısını nodejs e geçirdi. (bkz : https://twitter.com/necolas/status/829128165314306048)
Peki ben neden projemizde nodejs kullanmayı seçtim ?
- Hızlıca prototip oluşturmak için uygun olduğunu düşünüyorum
- Projeyi birlikte geliştireceğim kişi/kişiler javascript altyapısına sahip
- Çok fazla taklalar attırmadan eş zamanlı istek problemini çözüyor (async yapısı sayesinde)
- Front-end ve mobil tarafında da javascript kullanacağız, tek dil ile çalışmış olacağız
Nodejs ile geliştirme yaparken sıkça kullanılan, ihtiyaç duyulan birkaç kütüphane ismi vermek gerekirse :
- Express
*Nodejs ile web uygulaması yaparken yaygın olarak kullanılan frameworklerden birisi.
- Nodemon
*Nodejs ile uygulama geliştirirken kodlarınızda değişiklik yaptığınızda terminalden serverı her seferinde tekrar durdurup başlatmanız gerekiyor, nodemon bu sorunu ortadan kaldırıyor.
- Mongoose
*
*Nodejs ile mongodb işlemlerini yapabileceğiniz kütüphane.
- Socketio
*Web socket işlemi yapmak istiyorsanız adından da anlaşılacağı gibi tam sizin aradığınız işi gerçekleştiren kütüphane..
Vakit bulduğum zamanlarda muhtemelen paylaşacağım yazılar arasında nodejs de olacak.
Herkese iyi forumlar dilerim, ihan3t.
Peki nedir bu nodejs ? Javascript ile server side işlemlerimizi yapmamızı sağlar. Google'ın v8 motoru üzerine kuruludur. Nodejs bir dil değil, platformdur.
Kendi sitesindeki açıklamasını buraya koyuyorum :
Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js' package ecosystem, npm, is the largest ecosystem of open source libraries in the world.
Nodejs tek bir main thread üzerinde çalışır, javascript ile siz yeni bir thread oluşturamazsınız. Asenkron yapısı sayesinde tek bir thread üzerinde birçok isteği karşılamayı sağlar.
Npm ile projenizde ihtiyacınız olabilecek binlerce kütüphaneye erişebilirsiniz.
Nodejs single thread - event loop mimarisiyle çalışır. Bunu daha iyi anlamak için aşağıdaki görseli inceleyebilirsiniz :
Nodejs kullanan büyük şirketler arasında linkedin de mevcut. Hatta linkedin api altyapılarını nodejs e geçirdikten sonra sunucu sayılarını 30dan 3 e indirdikleri söyleniyor : LinkedIn Moved from Rails to Node: 27 Servers Cut and Up to 20xÂ*Faster - High Scalability -
Geçtiğimiz zamanlarda Twitter da altyapısını nodejs e geçirdi. (bkz : https://twitter.com/necolas/status/829128165314306048)
Peki ben neden projemizde nodejs kullanmayı seçtim ?
- Hızlıca prototip oluşturmak için uygun olduğunu düşünüyorum
- Projeyi birlikte geliştireceğim kişi/kişiler javascript altyapısına sahip
- Çok fazla taklalar attırmadan eş zamanlı istek problemini çözüyor (async yapısı sayesinde)
- Front-end ve mobil tarafında da javascript kullanacağız, tek dil ile çalışmış olacağız
Nodejs ile geliştirme yaparken sıkça kullanılan, ihtiyaç duyulan birkaç kütüphane ismi vermek gerekirse :
- Express
*Nodejs ile web uygulaması yaparken yaygın olarak kullanılan frameworklerden birisi.
- Nodemon
*Nodejs ile uygulama geliştirirken kodlarınızda değişiklik yaptığınızda terminalden serverı her seferinde tekrar durdurup başlatmanız gerekiyor, nodemon bu sorunu ortadan kaldırıyor.
- Mongoose
*
*Nodejs ile mongodb işlemlerini yapabileceğiniz kütüphane.
- Socketio
*Web socket işlemi yapmak istiyorsanız adından da anlaşılacağı gibi tam sizin aradığınız işi gerçekleştiren kütüphane..
Vakit bulduğum zamanlarda muhtemelen paylaşacağım yazılar arasında nodejs de olacak.
Herkese iyi forumlar dilerim, ihan3t.