Upload
mustafa-dagdelen
View
103
Download
0
Embed Size (px)
Citation preview
The Server Side Javascript
1- Node.Js Nedir?
2- Neler Yapılabilir?
3- Farklı Özellikleri Nelerdir?
4- Kimler Kullanıyor?
5- Neden Tercih Ediliyor?
6- Ne zaman Tercih Edilmez?
AJANDA?
1- Server Side Javascript Geliştirme Platformu
2- Chrome’un V8 Javascript Engine’i üzerinde çalışır.
3- Ryan Dahl 2009 yılında duyurdu.
4- Open Source.
5- C, C++ ile geliştirildi.
NEDİR?
1- Dinamik Web Uygulamaları 5- Socket Server
2- TCP Uygulamaları 6- Elektron.js ile Desktop Uyg.
3- DNS Server 7- IoT Uygulamaları
4- Static File Server ve daha birçok use case...
NELER YAPILABİLİR?
HTTP SERVER?
Node.js
document.getElementById(‘div’)
Dom’a erişilemez...
SOCKET SERVER?
FARKLI ÖZELLİKLER?
SINGLE THREADED NON-BLOCKING IO
EVENT-LOOP ASYNC
FARKLI ÖZELLİKLER?
Geleneksel Web Servers :
IIS,Apache,GlassFish,Tomcat
FARKLI ÖZELLİKLER?
Single Thread
Non-Blocking IO
Event Loop
FARKLI ÖZELLİKLER?
Geleneksel Web Server
FARKLI ÖZELLİKLER?
Single Threaded,
Non-Blocking IO,
Event Loop
KİMLER KULLANIYOR?
KİMLER KULLANIYOR?
TÜRKİYE?
NEDEN NODE.JS?
NEDEN NODE.JS?
Direk C, C++ kodları çalışır.
Arada MSIL, Byte Code gibi hiçbir katman yok.
C, C++ add-on entegre edilebilir.
NEDEN NODE.JS?
Tüm web projelerinin frontend dili.
En yaygın dillerden biridir.
NEDEN NODE.JS?
Javascript dinamik bir dil.
Çok kolay geliştirme sunar.
NEDEN NODE.JS?
Json her yerde. Mongodb, Redis,Restfull Servisler vb..
Json’ın okuyup yazmak çok kolay.
NEDEN NODE.JS?
En çok modülü olan paket yöneticisinpm ‘dir.
Çok kalabalık bir community’si var.
NEDEN NODE.JS?
Node.js lightweight ve modülerbir yapıdadır.
Session, cookie vb yapılar birermodüldür.
NEDEN NODE.JS?
LINKEDIN PAYPAL
NETFLIX EBAY
20 kat daha hızlı. Server sayısı 15’den 4’e düşürüldü.
%33 daha az kod. % 43 daha az dosya. Her yerde tek dil kullanma olanakları oldu.
Yüksek eş zamanlı erişim olanağı, yüksek performans ve daha az Ram ve CPU kullanımı.
Modüler, lightweight bir uygulama elde edildi. Uygulama açılış süresi %70 azaldı.
NE ZAMAN TERCİH EDİLMEZ?
YÜKSEK HESAPLAMA UYGULAMALARI
YOĞUN CPU UYGULAMALARI
KARMAŞIK İŞ UYGULAMALARI