Ilk olarak Node.js nedir?
Guzel soru, basit cevap;
Server-side bir platformdur network application'lar icin.
Yani Node.js JavaScript ile sunucu tarafli kodlamamiza yarayan bir frameworktur.
Node.js, JavaScript gibi Event-Based bir platformdur bunun en buyuk yararini server tarafli baglantilarda gorecegiz.
Mesela Apache coklu baglantilar icin hepsine ayri Thread kullanir ve Ram'den cok yer, bu islemi Node,js'de daha az bir islem ve islem gucu ile bunu saglayabiliriz.
Bunun haricinde kendi Webserver'ini sunmasi ayri bir avantaji.
Bence bu cok cool, teorik olarak Apache yada nginx'i bir kenara atip sadece Node.js'ye ihtiyac duyuyoruz.
Single-page-apps'ler icin URL routing'i ayri bir ozelligi.
Node.js Googles V8 motoruna sahip, yani Chrome ne yapabiliyor ise, Node.js'de yapabilir. (Fonksiyon ve APIler).
Ve en can alici ozelligi (Vikipedia);
`
Guzel soru, basit cevap;
Server-side bir platformdur network application'lar icin.
Yani Node.js JavaScript ile sunucu tarafli kodlamamiza yarayan bir frameworktur.
Node.js, JavaScript gibi Event-Based bir platformdur bunun en buyuk yararini server tarafli baglantilarda gorecegiz.
Mesela Apache coklu baglantilar icin hepsine ayri Thread kullanir ve Ram'den cok yer, bu islemi Node,js'de daha az bir islem ve islem gucu ile bunu saglayabiliriz.
Bunun haricinde kendi Webserver'ini sunmasi ayri bir avantaji.
Bence bu cok cool, teorik olarak Apache yada nginx'i bir kenara atip sadece Node.js'ye ihtiyac duyuyoruz.
Single-page-apps'ler icin URL routing'i ayri bir ozelligi.
Node.js Googles V8 motoruna sahip, yani Chrome ne yapabiliyor ise, Node.js'de yapabilir. (Fonksiyon ve APIler).
Ve en can alici ozelligi (Vikipedia);
`
Kod:
[URL="https://tik.lat/zdtFV"] V8[/URL] is the JavaScript execution engine which was initially built for [URL="https://tik.lat/eCU8D"] Google Chrome[/URL]. It was then open-sourced by Google in 2008. Written in [URL="https://tik.lat/QoPZh"] C++[/URL], V8 compiles JavaScript source code to native [URL="https://tik.lat/va7JT"] machine code[/URL] instead of interpreting it in real time. `
Kurulumu anlatmayacagim.
Hello World;
Butun programlama dillerinin ilk derslerinde (Kurulumdan vesaire sonra) goreceginiz ilk sey `Hello World` uygulamasidir.
Node.js'de yeni bir programlama dili ogrenmemize gerek yok JavaScript'ten biraz farkli sadece.
`Hello World` e gelelim konu karisiyor , olagandan farkli 2 tur `Hello World` umuz var.
Birincisi shell tarafli ikincisi Server tarafli.
Ilk once Shell tarafli olana bakalim;
Kod:
console.log("Hello World");
Lakin yazmanizi tavsiye ederim cunku daha yeni basliyoruz, kaytarmayalim dimi?
Simdi siz her hangi bir Shell-Emulator'de mesele PuTTY veyahut UberSpace
Kod:
' node server.js '
Bende ise boyle;
JavaScript hakkinda bilgisi olanlara 'console.log()' tanidik gelecektir. Zaten JavaScript hakkinda en azindan temel bilginiz olmadan Node.js'ye baslamanizi tavsiye etmem.
console.log() ile genellikle Debug Console kodlari Browser'e gonderme imkanimiz var.
Node.js ile ayni islemi yapar lakin veriler Browser'de degil Bash Shell'de (PuTTY) tutulur.
JavaScript'te oldugu gibi kodun o anda yaptigi islemi, hatalari veyahut eklemek istedigimiz verileri test etmek-gormek icin console.log()'u Node.Js'de de kullanabiliriz.
Ikinci olarak Server-Side;
Simdi Server-Side 'de isler biraz karisiyor.
Belirledigimiz port'a bir islem gonderip onu browser'de gostericez.
Ilk oncelikle bir Webserver olusturmaliyiz , biraz alistiktan sonra bu simdi buyuk gordugunuz seyler ufacik gibi gelecek.
Burada oyunumuza modul dahil oluyor, burada cesitli apiler, html parserler vesaire vesaire.
Simdi ilk once bir degisken ve require ile modulumuzu import etmemiz lazim;
Kod:
var degiskenAdi = require('modulAdi');
Kod:
const http = require('http'); // http modulunu import ediyoruz.
const hostname = '127.0.0.1'; //localhost'umuzu tanimliyoruz.
const port = 3000; //3000.portumuzu tanimliyoruz
const server = http.createServer((req, res) => { // Server olusturuyoruz.
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plaint');
res.end("Nigs mom\n"); // Header'i , statusCode'umuzu ve mesajimizi tanimladik.
});
server.listen(port, hostname, () =>{
console.log("Server baslatildi.");
});
Ben localhost'umdan kullanacagim icin server olusturdum, server'inizde calisiyorsaniz;
Kod:
const connect = require('connect');
var server = connect().
use(function(req,res) {
res.end('Nigs mom');
}).
listen(64352); // Port numarasi
console.log("Server kendi siteniz; portAdresinde baslatildi.");
Onun disinda Quellcode'muz tam takir calisiyor. Simdi Console'da node server.js veyahut ne isim verdiyseniz calistirdiginizda;
"Nigs mom" adli bir output alacaksiniz
Ben hem telefondan hem kendi serverim olmadigindan localhostta calistiriyorum.
Yani benim durumumda '127.0.0.1:3000' de bana boyle bir cikti veriyor;
2.parcada Express, Middleware, Webserver'in mantigi vesaire seyler gorecegiz.
Bu seriyi nodeJs ogrenmek isteyenler ve forumumuzda bu konuda ki dokuman azligindan dolayi hazirliyorum.
Son düzenleme: