Flask tamamıyla Python programlama dilinde yazılmış bir web geliştirme çatısı, framework’üdür. Öğrenmesi ve kullanması oldukça kolaydır. Basite indirgenmiş yapısıyla yeni başlayanlar için doğru bir tercihtir.
İçindekiler
Flask’ın Çıkış Noktası
Flask’in 1 Nisan şakası olarak çıkması ve ardından çok sevilen bir framework olmasının hikayesini birkaç kelimeyle aktaralım sizler için. Armin Ronacher python kütüphaneleri yazmayı fazlasıyla seven bir geliştirici olarak bir durumu fark ediyor. Yeni güncellenen veya yeni ortaya çıkmış herhangi bir framework’ün dokümantasyonunu kimse okumuyor ya da test etmiyor. Sadece, “Reklamınızı iyi yapmanız yeterli” eleştirisini de dile getiriyor. Bu nedenle içinde ekstra bir kod bulunmadan, yalın bir şekilde Flask’i yayınlıyor ve de ekliyor; “Sadece kod için gönderdiğim python uzantılı dosyayı çalıştırmanız yeterli.“
1 Nisan şakası olarak eleştirisel bir şekilde Flask’i yayınlamış olsa da, görenler “fena bir fikir değilmiş aslında” düşüncesiyle kullanmaya başlıyorlar. Zaman içinde Flask gelişiyor, popülerliği artıyor fakat o yalın halini asla bırakmıyor.
Eğer Flask’i yaratıcısı Armin Ronacher‘dan dinlemek isterseniz sizi bu videoya alalım.
“Merhaba Dünya!” adlı bir cümleyi yazdırmak için aşağıdaki satırları yazmanız yeterli. Armin Ronacher’ın farkında olmadan şakayı, herkesin seveceği bir dünyaya dönüştürdüğü kesin!
Flask Nedir?
Framework Nedir?
Flask’ın bir framework olduğundan bahsetmiştik. Framework yapısından bahsedelim. Türkçe’ye çatı olarak çevirebileceğimiz framework’ü insan iskelet sistemi gibi düşünebiliriz. Ya bu iskeleti sıfırdan kendimiz yazacağız ya da herkesin ortak olarak kullandığı iskelet yapılarından birini seçeceğiz. İlki büyük bir zaman kaybı olacağından, framework’leri tanıyıp onlarla çalışmanın büyük bir katkısı var.
Micro Framework
Micro kavramını basit ama genişletilebilir olarak kısaca açıklayabiliriz. Burada basit ve genişletilebilir nedir sırasıyla ele alalım. Örneğin; kendinize bir araba yaptığınızı varsayalım. Motor, kapılar, tampon, bagaj gibi birçok parçaya ihtiyacınız var. Bu motorun parçalarını almak için iki yere gidiyorsunuz. İlk yer size saydığımız ve daha fazlasını paket halinde vermek istiyor. İkinci yer ise sadece motoru veriyor ve dilerseniz eklemeler yaparsınız diyor. İşte gittiğimiz ikinci yer Micro Framework’ün ta kendisi. İstediğiniz parçayı kullanma veya kullanmama özgürlüğü tanıyan özünde basit bir yapı.
Bu parçalara bilgisayar dünyasından örnek vermek gerekirse; veri tabanı, kimlik doğrulama, form doğrulama gibi sistemlerdir. Bu sistemlere olan ihtiyacınıza göre ekleme yapabilme özgürlüğüne sahipsiniz.
Micro Framework olan Flask için kavramı açıklayarak Flask’in ne olduğuna dair aklımızda bazı fikirler netleşti diyebiliriz artık.
Flask Kullanan Global Şirketler
- Netflix
- Airbnb
- Lyft
- Mozilla
- MIT
- Uber
- Red Hat
- Patreon
- MailGun
Django İle Arasındaki Farklar Neler?
Django Python’da yazılmış bir başka framework’tür. İki framework de Python’da yazılmış olmasına rağmen birbirlerinden oldukça zıt yapılara sahiplerdir. Yazımızda Flask’ın micro framework yapısından bahsettik. Django ise bunun aksine içinde tüm gereksinimleri barındırır. Araba almak için gittiğimiz, bize tüm parçaları sunan yer gibi düşünün.
Django hakkında daha fazla bilgi sahibi olmak isterseniz ‘Django Nedir?’ başlıklı yazımıza göz atabilirsiniz.
Flask da Django da kullanım açısından üst sıralarda gördüğümüz iki framework. Peki onları ayıran özellikleri neler?
İlk farkı Flask’ın micro framework yapısı olması. Bu sayede geliştirici istediği özelliği ekleyerek projesini geliştirebiliyor. Öte yandan büyük projelerde Django’nun tercih edildiğini görüyoruz. Bundan bir çıkarım yaparsak büyük projelerde hazır olarak sunulmuş ve tüm paket içeren bir framework yapısı tercih edilmekte.
Yeni başlayanlar için Flask daha iyi bir tercih. Flask için bir kod örneği vermiştik. Sadece o kodu çalıştırarak bir sonuç almak mümkün. Öte yandan Django ile bunu gerçekleştirmek için birkaç kod ve paket gibi ayrıntılar içeriyor. Yeni başlayan birinin ikincisini tercih etmesi zorlu bir öğrenme yolu olabilir.
Gördüğünüz gibi ikisinin de kullanım alanlarına göre tercihleriniz değişebiliyor. İkisinde de tasarlanmış popüler web sayfaları görmek mümkün. Tercihi size bırakıyoruz!
Daha ayrıntılı bir karşılaştırma isteyenleri DjangoCon 2017 başlıklı videoyu öneririz.