Python-Flask (Lightweight Micro Framework)
Python günümüzde popülerliği her geçen gün artan bir yazılım dili Flask ise Python üzerine geliştirilmiş Lİghtweight bir Micro FrameWork oluyor. Bu framework sayesinde python ile web sayfası tasarlayabilir, Restfull web api’ler geliştirebilirsiniz. Güvenlik endişeniz de olmasın içeriğinde authentication ve token gibi güncel güvenlik protokollerini de barındırıyor. Flask bir P.O.C. frameworktür çok request alacağınız productionlar için tavsiye edilmez.
Peki Nedir Bu Python Flask?
Flask, Python ile yazılmış bir mikro web framework’dür. Belirli araçlar veya kitaplıklar gerektirmediği için mikro framework olarak sınıflandırılır. Veritabanı soyutlama katmanı, form doğrulama veya önceden var olan üçüncü taraf kitaplıkların ortak işlevler sağladığı diğer bileşenleri yoktur. Bununla birlikte, Flask, uygulama özelliklerini Flask’ın kendisinde uygulanmış gibi ekleyebilen uzantıları destekler. Nesne-ilişkisel eşleyiciler, form doğrulama, yükleme yönetimi, çeşitli açık kimlik doğrulama teknolojileri ve framework ilgili birkaç ortak araç için uzantılar mevcuttur.
Flask framework kullanan uygulamalar arasında Pinterest ve LinkedIn bulunur.
Tarihçesi
Flask, 2004 yılında kurulan uluslararası bir Python meraklıları grubu olan Pocoo’dan Armin Ronacher tarafından yaratıldı. Ronacher’a göre, fikir aslında ciddi bir uygulamaya dönüşecek kadar popüler olan bir April Fool şakasıydı.
Ronacher ve Georg Brandl Python’da yazılmış bir bülten panosu sistemi, Pocoo projeleri Werkzeug ve Jinja geliştirildi.
Flask, Python meraklıları arasında popüler hale geldi. Ekim 2020 itibarıyla, GitHub’da Python web geliştirme çerçeveleri arasında en çok ikinci yıldıza sahip, Django’nun biraz gerisinde ve Python Geliştirici Anketi 2018’de en popüler web framework seçildi.
Özellikler
- Geliştirme sunucusu ve hata ayıklayıcı
- Birim testi için entegre destek
- RESTful istek gönderme
- Jinja2 template manager kullanır
- Güvenli tanımlama bilgileri desteği (istemci tarafı oturumları)
- % 100 WSGI 1.0 uyumlu
- Unicode tabanlı
- Kapsamlı belgeler
- Google App Engine uyumluluğu
- İstenen özellikleri geliştirmek için uzantılar mevcuttur
Kolay Öğrenebilme Özelliği
Flask framework’üde python dilinin en önemli özelliği olan kolay öğrenebilme özelliğini taşıyor. Çok kısa sürede yazılım geliştirme ortamı oluşturup hemen kodlamaya başlayabilirsiniz. Yazılım ortamı olarak şu an epey revaçta olan Visual Studio Code kullanılabilir. Bunun yanında PyCharm ve Visual Studio da flask framework ile yazılım geliştirmeye olanak sağlıyor (başka ortamlarda var). Tavsiye isterseniz ilk sıraya PyCharm’ı (Ücretsiz community edition mevcut) koyabiliriz. PyCharm salt python üzerine geliştirildiği için olanakları çok daha fazla ve stabil bir ortam sağlıyor.
Flask projeleri MVC mimarilerine benziyor. Model View ve Controller katmanları bulunuyor. Aynı .Net MVC’de olduğu gibi controller katmanından View katmanına veri gönderip bu veriyi çeşitli kütüphaneler ile (bootstrap, jquery, Vue js vs….) ile zenginleştirebilirsiniz. Model katmanından ise gerekli class modellerini oluşturup bu modeller üzerinden geliştirmelerinizi yapabilirsiniz. Flask frameworkünün bir özelliği de EF benzeri bir migration olanağı sağlıyor olmasıdır bu sayede code first yaklaşımı ile projelerinizi rahatlıkla geliştirebilirsiniz.
Neden Tercih Edilmiyor?
Bu kadar kabiliyet olmasına rağmen tercih edilmiyor çünkü bu konuda kendini geliştirmiş yeterli yazılımcı bulunmuyor.Türkiye’de firmalar da yazılım süreçlerini belirlerken aynı Delphi’de olduğu gibi personel temininde güçlük çekecekleri bir platforma yatırım yapmak istemiyorlar haklı olarak. Fakat ilerleyen süreçte Türkiye’de özellikle machine learning konusundaki gücüyle de birlikte (Communityler sağolsun) bu konuda kendini geliştiren yazılımcılar artacak ve firmalar yazılım süreçlerini planlarken micro framework gereksinimlerini flask ile gidermeye başlayacaklardır. Nasip olursa bir sonraki yazımızda flask geliştirme ortamı oluşturma süreçlerini izah etmeye çalışacaz. Selametle. Görüşmek üzere.
Geri bildirim: Flask Gereksinimleri - Bilişim Profesyonelleri