Sunucu Taraflı JavaScript ile Gerçek Zamanlı Web Uygulamaları Geliştirme



Benzer belgeler
RoboGuice ve Android Annotations ile Verimli Android Uygulama Geliştirme Emrah Ayanoğlu, Onur Özcan, Alperen Eraslan. Inet-TR 12 9 Kasım 2012

Yerli İnsansız Hava Aracı Projelerinde Sertifikasyon ve Uluslararası Rekabete Katkısı

Türkiye Havacılık Sektöründe Uçuş Simülatörü Kullanımı ve Simülatör Sertifikasyonu Çalışmaları

Bir Helikopterin Uçuşa Elverişlilik Çalışmaları Kapsamında Uçuş Performans Sertifikasyon Gereksinimleri

Uçuşa Elverişlilik Sertifikasyonunda Emniyet ile İnsan Faktörlerine Yeni Bir Bakış

SİBER GÜVENLİK VE BÜYÜK VERİNİN ENDÜSTRİ 4.0 DAKİ YERİ

JSON Korsanlığı. Mesut Timur, Şubat 2010, WGT E-Dergi 4. Sayı

Basit bir web uygulaması

Dünyanın bilgisine açılan pencere... Ya da sadece yeni çağın eğlencesi...

Dünyanın bilgisine açılan pencere... Ya da sadece yeni çağın eğlencesi...

Özgür Yazılımlarla Web Programlama. Özlem Özgöbek

AJAX nedir? AJAX nasıl çalışır? AJAX. Tahir Emre KALAYCI. Sunucu Yazılım Teknolojileri

Havacılık Sektöründe Kullanılan Mobil Teknolojiler Elektronik Uçuş Çantası. Akademik Bilişim 2014 Emrah Ayanoğlu Cem Gündüz Doruk Pancaroğlu

Üst Düzey Programlama

Solaris 7980g. Hızlı Başlangıç Kılavuzu. Sunum Alanı Görüntüleyici TRTR-QS Rev A 1/16

solid; BORDER-LEFT: #1F9FFF 0px solid; BORDER-RIGHT: #1F9FFF 0px solid; BORDER-TOP: #1F9FFF 0px solid; COLOR: #1F9FFF; FONT-FAMILY: Trebuschet MS;

Öğr. Gör. Serkan AKSU 1

Metin Editörleri YRD. DOÇ. DR. ENGİN CEMAL MENGÜÇ. ALINTI:

Google Search API ile ajax arama

Ürün Özeti WIBNB Modülü

Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi

Algorithm of Your Life. AJAX ve...

Yılmaz Erdogan Yazılım Uzmanı

Script. Statik Sayfa. Dinamik Sayfa. Dinamik Web Sitelerinin Avantajları. İçerik Yönetim Sistemi. PHP Nedir? Avantajları.

1.PROGRAMLAMAYA GİRİŞ

VERİ MADENCİLİĞİ (Web Madenciliği)

Web Uygulamaları Mimarileri ve Güvenliği

İnternet ve İnternet Tarayıcıları BİLGİ VE İLETİŞİM TEKNOLOJİSİ DERS NOTU - 2

TASARIM VE ÜRETİM ORGANİZASYON ONAYLARI NA GENEL BAKIŞ VE TÜRKİYE FİLİZ TÖRE 18 EYLÜL 2013

Mobil Uygulama Geliştirme Yaklaşımları, Web Tabanlı Mobil Uygulama Çatıları. Burak USGURLU

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. 26 Şub Öğr. Gör.

Internet: Tarihçe ve Kavramlar

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CME 4414

Web Tasarımının Temelleri

BİH 605 Bilgi Teknolojisi Bahar Dönemi 2015

CELAL BAYAR ÜNİVERSİTESİ KÜTÜPHANE VERİTABANLARINA ÜNİVERSİTE DIŞINDAN ERİŞİM

Üst Düzey Programlama

Javascript Geliştiricileri İçin Xaml Ve Microsoft Silverlight

jquery kütüphanesini sayfaya eklemek için iki yöntem vardır. 1. Direkt jquery nin sitesinden ekleme

İleri Düzey Ağ Tabanlı Programlama (COMPE 505) Ders Detayları

Programlama Dilleri sıralaması Programlama Dilleri sıralaması 2016

PROGRAMLAMA DERSİ 1. İNTERNET

Veritabanı Dersi. Teoriden Pratiğe. Çağıltay N.E., Tokdemir G. Veritabanı Sistemleri Dersi -Bölüm XXV: Web'den Erişim Çağıltay, N., Tokdemir, G.

VERİ YAPILARI VE PROGRAMLAMA (BTP104)

İSMET AKTAR ANADOLU TEKNİK LİSESİ BİLİŞİM TEKNOLOJİLERİ ALANI WEB PROGRAMCILIĞI DALI

Farklı Mobil Platformlar Üzerinde Servis Tabanlı Mimari(SOA) Yaklaşımı: Elektronik Uçuş Çantası Vaka Çalışması

Pac Dosyası İle Proxy Kullanmak

1 / 5. Mehmet Alper Şen. Kıdemli Yazılım Uzmanı. İletişim Bilgileri

Youjie YJ HF600. Hızlı Başlangıç Kılavuzu. Alan Görüntüleme Tarayıcısı. YJ-HF600-TRTR-QS Rev A 5/16

Ürün Özeti WIB Modülü

Bağlantılar Kurma. Modül 3

Web Uygulama Anaçatıları. Tahir Emre KALAYCI. May 5, 2009

Kurumsal Mobil Uygulamalar IBM Mobile Foundation

ASP.NET TEMELLERİ. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

ĐSTEMCĐ SUNUCU SĐSTEMLER DERSĐ FĐNAL ÇALIŞMASI SORULAR YANITLAR

FABREKA YAZILIM ELEKTRONİK DANIŞMANLIK TİC. LTD. ŞTİ.

PHP 1. Hafta 1. Sunum

İNTERNET PROGRAMLAMA II. Tanımlar



4.41. WEB DE GENÇ TEKNİK: AJAX. Fırat Üniversitesi Fen Bilimler Enstitüsü, Elazığ. Fırat Üniversitesi Teknik Eğitim Fakültesi,

YZM 3215 İleri Web Programlama

YENİ TRADING DÜNYASINA ÇIKAN MERDİVEN

Doküman Yönetim Sistemi Kullanıcı Kılavuzu

1 / 5. Ali Eren Köseoğlu. Yazılım Uzmanı. İletişim Bilgileri

DEVLET KURUMLARINDA WEB ERİŞİLEBİLİRLİĞİ

Atıf ve Bibliyografik Yönetim Aracı

TBF 110 BİLGİSAYARDA VERİ İŞLEME ve UYGULAMALARI Ha9a- 2 - İnternet

sonbahar / kış - rahat bebek kıyafetleri casual baby clothes - autumn / winter

SE4SEE A Grid-Enabled Search Engine for

WINDESKCONCENTO. sıgnum. Kurumsal İş Süreçleri Uygulamaları. windesk.com.tr

Medula Eczane Stok Bilgileri Web Servisleri Kullanım Kılavuzu

EĞİTİMDE BİLGİSAYAR UYGULAMALARI. Yrd. Doç. Dr. Halil Ersoy

Akıllı Kontrolde Teknoloji Devi SCADA YAZILIMI. Supervisory Control and Data Acquisition. ViewPLUS. Açık, Esnek, Ölçeklenebilir.

On Site SEO. seo. laysos.com. Length 95 character(s) Favicon no. H3 tags :40. Google PageSpeed. Google Index. Top Keywords. Great!!!

Sipariş Numaraları. CAN to F/O Converter SC Duplex MM 2km. CAN to F/O Converter SC Simplex SM 20km 1550nm. Quality Link Connections

VERİ YAPILARI VE PROGRAMLAMA

EKLENTİLERLE ETKİLİ DSPACE; SOSYAL MEDYA, İSTATİSTİK, VERİ AKTARIMI VE KISAYOLLAR

PHP ile İnternet Programlama

Görsel Programlama DERS 12. Görsel Programlama - Ders12/

Bilgisayar Mühendisliği ve Yeni Teknolojiler. İbrahim SARAÇOĞLU

TÜRKSAT UYDU HABERLEŞME KABLO TV VE İŞLETME A.Ş. İŞÇİ STATÜSÜNDE PERSONEL ALIM İLANI (Bilişim Hizmetleri)

Python Web 2.0 Python ve Web 2.0 Son. Python ve Web 2.0. Gökmen GÖKSEL, 3 Mayıs 2007

İÇİNDEKİLER. YAZARLAR HAKKINDA... v. RESİMLER LİSTESİ...xv. 1.1.Bulut Bilişim Kavramının Analizi...1 BÖLÜM 1: TEMELLER...1

E-Posta Hesapları ve Anında Mesajlaşma Yazılımları

Türkiye Barolar Birliği internet sitesi

Google Chrome Kullanıyorsanız; Microsoft Internet Explorer Kullanıyorsanız;

GROUPWARE ĐŞBIRLIĞI(COLLOBRATĐON) GROUPWARE NEDIR? ASENKRON GROUPWARE GROUPWARE SISTEMLERI 3 ÖNEMLI DĐCLE ERPOLAT

PHP 1. Hafta 2.Sunum

Turquaz. Açık kodlu muhasebe yazılımı Turquaz Proje Grubu

Lotus Türkiye Kullanıcı Grubu, Quickr ile Sanal Ortamda! Serdar Başeğmez Projeler Koordinatörü Developi Bilgi Sistemleri

NP301. K&K NP301 Sanal COM portu tanımlama adımları ADIM-1

Doküman Yönetim Sistemi Kullanıcı Kılavuzu

Selective Framebusting

Java. Hakkımızda. Java Eğitimi

Transkript:

Sunucu Taraflı JavaScript ile Gerçek Zamanlı Web Uygulamaları Geliştirme Emrah Ayanoğlu, Onur Özcan, Alperen Eraslan Inet-TR 12 8 Kasım 2012

İÇERİK 1

Node.js nedir? Google tarafından Chrome un JavaScript motoru için geliştirilmiş olan V8 motoru sayesinde, oldukça hızlı, ölçeklenebilir network ve web uygulamaları geliştirmek için yapılmıştır. Olaya dayalı, deblokaj I/O modeli ile, oldukça hafif ve verimli network uygulamaları ve gerçek zamanlı dağıtımlı uygulamalar için vazgeçilmez bir plaformdur. Ve tabiki tamamen Javascript programlama ortamı Referanslar; Linkedin, Yahoo, Uber, Microsoft, E-bay, Game Salad 2

Node.js nedir? Üzerinde geliştirilen, I/O işlemleri, Database işlemleri, Parsing(XML, JSON, vb) işlemleri, HTTP/HTTPS sunucu ve istemci işlemleri, gibi işlemler sunan birçok kütüphane sayesinde web uygulamaları geliştirmek oldukça kolaydır. 3

Node.js - Örnek Node.js üzerinde bir web sunucusu geliştirmek için aşağıdaki 5 satır kodu yazmak yeterlidir: var http = require('http'); http.createserver(function (req, res) { res.writehead(200, {'Content-Type': 'text/plain'}); res.end('hello World\n'); }).listen(1337, '127.0.0.1'); 4

Neden Gerçek Zamanlı Uygulamalarda Node.js i Tercih Edelim? Olaya dayalı ve non-blocking I/O özelliği Node.js te doğuştan olarak bulunmaktadır. Java Netty Ruby EventMachine Python - Twisted Web teknolojilerinde ve HTML 5 de yıldızı parlayan JavaScript dilinin kolaylığı ile de Node.js artık bir numaralı tercih haline gelmiştir. 5

Socket.IO nedir? Gerçek zamanlı web uygulamaları için kullanılan bir JavaScript kütüphanesidir. İstemci tarafı kütüphanesi tarayıcıda çalışır. Sunucu tarafı kütüphanesi Node.js tarafından kullanılır. Her iki taraf da birbirine benzer API ya sahiptir ve Node.js gibi olaya dayalıdır. 6

Socket.IO nedir? Öncelikle WebSockets protokolünü kullanır. Ancak gerekirse aynı arayüzü sağlarken Adobe Flash soketleri, JSONP seçimi, Uzun seçimli AJAX (AJAX Long Polling), IFrame gibi diğer yöntemlere geri dönüş sağlayabilir. Web soketleri için basit bir sargı olarak kullanılsa da, Çoklu soketlere yayın, Her istemci ile ilgili veri saklama, Asenkron I/O Odalara ayırma gibi çok daha fazla özellik sağlar. 7

Socket.IO - Örnek Sunucu Tarafı: var io = require('socket.io').listen(80); io.sockets.on('connection', function (socket) { socket.emit('news', { hello: 'world' }); socket.on('my other event', function (data) { console.log(data); }); }); 8

Socket.IO - Örnek Istemci Tarafı: <script src="/socket.io/socket.io.js"></script> <script> var socket = io.connect('http://localhost'); socket.on('news', function (data) { console.log(data); socket.emit('my other event', { my: 'data' }); }); </script> 9

Node.JS ve Socket.IO ile neler geliştirebiliriz? Sohbet Uygulamaları Multiplayer Oyunlar Anlık iletimin önemli olduğu uygulamalar; Finans Borsa Mail Uygulamaları Web Sitesi Analitikleri 10

Sonuç Web teknolojilerindeki güncel değişiklikler sayesinde, artık eklentisiz bir şekilde, gerçek zamanlı veri transferi gerçekleştirmek mümkündür. Node.JS ile gerçek zamanlı, hızlı, ölçeklenebilir web uygulamaları geliştirmek maliyet ve zaman etkin olarak gerçekleşmektedir. Socket.IO ile birçok web tarayıcısı üzerinde eklentisiz olarak sadece JavaScript kodlarıyla gerçek zamanlı veri transferini gerçekleştirmek mümkündür. 11

Kaynaklar [1] Joyent (2012). Node.js http://nodejs.org/. Son Erişim tarihi: 15 Eylül 2012. [2] Guillermo Rauch (2012). Socket.IO http://socket.io/. Son Erişim tarihi: 15 Eylül 2012. [3] Örnek Tombala Oyunu. 2012 http://bitly.com/ncxzgj 12

ANKARA TEKNOLOJİ GELİŞTİRME BÖLGESİ, BİLKENT CYBERPARK, E BLOK 5.CADDE NO: 6/A 06800, ANKARA, TURKIYE TEL : 0 312 266 35 50 FAKS : 0 312 266 35 51 www.stm.com.tr STM 2011 All Rights Reserved Bu doküman ve içerdiği tüm bilgiler STM AŞ nin fikri mülkiyetidir. Bu dokümanın dağıtımı veya sunumu ile bu haklar ortadan kalkmış olmaz. STM AŞ nin yazılı izni olmadan bu dokümanın ve içerdiği bilgilerin üçüncü kişilere aktarımı, çoğaltımı ve dağıtımı yapılamaz. Bu doküman ve içeriği hazırlanma amacının dışında kullanılamaz. This document and all information contained herein is the sole property of STM AŞ. No intellectual property rights are granted by the delivery of this document or disclosure of its content. This document shall not be reproduced or disclosed to a third party without the express written consent of STM AŞ. This document and its content shall not be used for any other purpose other than for which it is supplied. 13/37