TORNADO 101

Tornado friendfeed geliştiricilerinin python üzerinde geliştirmiş oldukları bir framework. Friendfeed’te bir canlı veri akışı vardır, bir kelime aradığınızı düşünelim, o kelime ile ilgili sonuçların sayfasına yönlendiğinizde o kelime ile ilgili yeni bir feed gelirse hemen sonuç sayfasında yerini alır, canlı bilgiyi görmeniz için sayfayı yenilemenize gerek kalmaz. Web tabanlı bu tür teknolojileri araştırmak için “long polling” ve “comet programming” kelimeleri üzerinde araştırma yapmanız yeterlidir.

Tornado sadece bir chat uygulamasına yarayan framework değildir. Aynı zamanda basit ama etkili bir veritabanı sınıfına, template mekanizmasına ve mvc destekleyici bir yapıya sahiptir. Tornado’daki en temel sınıf RequestHandler sınıfı ve bu sınıftan uygulama içinde türetilecek sınıflardır. Bu sınıf yardımıyla get, post, file ve cookie işlemleri yapılır, aynı zamanda bu sınıftaki render metodu ile templateler yorumlanır.

Basit bir tornado uygulaması yaratmak için temel olarak 3 şeyi yapmak gerekecektir:
En az 1 adet RequestHandler sınıfından türeyen ve requeste karşılık response üretebilecek bir sınıf oluşturmak,
Hangi url isteklerine hangi RequestHandler sınıfının karşılık geleceğini belirlemek
Ana python kodununun main kısmını, yani uygulamanın bellekten çalışmaya başladığı kısmı oluşturmak.

Dilerseniz bu 3 maddenin de basitçe yer aldığı bir örnek oluşturalım:

İlgili kodu çalıştırıp “http://localhost:4444” adresine bağlandığınızda “Naber” yazısını göreceksiniz.