Ritim İstanbul A5 Blok No:46, D:112, 34846 Maltepe/İstanbul

Flask nedir, ne için kullanılır?

Flask, Python programlama dilinde uygulama geliştirmek için kullanılan bir küçük ölçekli[1] bir web çerçevesi modülüdür. Web uygulamalarını kolayca geliştirmeyi sağlar.

Web çerçeveleri web uygulaması geliştiricilerinin protokol, iş parçacığı yönetimi vb. gibi düşük düzeyli ayrıntılar hakkında endişelenmeden uygulamalar yazmasına olanak tanıyan bir kitaplıklar ve modüller koleksiyonunu temsil eder.

- ADT Çözümleri -
Yönetilen Hizmetler Görseli
Advanced Dynamics Teknoloji'de işletmeler için dış kaynaktan hizmet modeliyle Yönetilen Hizmetler çözümleri sunuyoruz.
2019’da Youtube’da yayınlanan bir Flask eğitimi

Flask nedir?

Flask, Python ile yazılmış bir web uygulama çerçevesidir. İlk olarak Poocco adlı uluslararası Python meraklılarından oluşan bir ekibi yöneten Armin Ronacher tarafından geliştirildi. Flask, Werkzeg WSGI araç takımına ve Jinja2 şablon motoruna dayanmaktadır. Her ikisi de Pocco projeleridir.

Flask ne işe yarar?

Flask, mantıklı varsayılanlarla yapılandırma ve kurallar sağlar. Flask, Python’da web uygulamaları oluşturmayı kolaylaştıran kullanışlı araçlar ve özellikler sağlayan küçük ve hafif bir Python web çerçevesidir. Yalnızca tek bir Python dosyası kullanarak hızlı bir şekilde bir web uygulaması oluşturabileceğiniz için geliştiricilere esneklik sağlar. Flask yeni geliştiriciler için daha erişilebilir bir çerçevedir. Peki Flash kullanarak başka neler yapılabilir?

  1. Web Uygulamaları Oluşturma: Flask, temel olarak web uygulamalarını geliştirmek için tasarlanmıştır. Web siteleri ve web tabanlı hizmetler oluşturabilirsiniz.
  2. Rutin Yönlendirme: Flask, URL’leri belirli işlevlere yönlendirmenizi sağlar. Kullanıcılar farklı URL’leri açtığında ilgili işlevlerin çalışmasını sağlar.
  3. Dinamik İçerik Üretimi: Flask, Jinja2 adlı bir şablon motoru kullanarak dinamik içerik oluşturmanıza olanak tanır. Bu sayede HTML sayfalarını verilerle doldurabilirsiniz.
  4. Form İşleme ve Doğrulama: Web formları oluşturabilir, kullanıcıların gönderdiği verileri alabilir ve doğrulayabilirsiniz.
  5. Veritabanı Entegrasyonu: Flask, SQLAlchemy gibi veritabanı araçlarını entegre ederek veritabanıyla etkileşimde bulunmanıza yardımcı olabilir.
  6. Web Güvenliği: Flask, Cross-Site Scripting (XSS) ve Cross-Site Request Forgery (CSRF) gibi yaygın web güvenlik saldırılarına karşı koruma sağlayan bazı özelliklere sahiptir.
  7. WSGI Uyumlu: Flask, Web Server Gateway Interface (WSGI) uyumlu olduğu için farklı WSGI uyumlu sunucularla sorunsuz bir şekilde çalışabilir.
  8. Eklentiler ve Genişletilebilirlik: Flask, ihtiyaca göre özellikler eklemek için eklentilere izin verir. Bu sayede projenizi istediğiniz şekilde özelleştirebilirsiniz.

Özellikler

Flask URL yönlendirme, şablon motoru gibi birçok özelliğe sahiptir. Bir WSGI[2] web uygulaması çerçevesidir. Flask’ın öne çıkan özellikleri şunlardır:

  1. Hafif ve Esnek: Flask, temel işlevleri sunarken gereksiz karmaşıklığı ortadan kaldırmak için tasarlanmıştır. Bu sayede geliştiriciler, uygulama yapısını ihtiyaçlarına uygun şekilde oluşturabilirler.
  2. Minimalist Tasarım: Flask, temel işlevleri sağlayan bir çekirdek (core) yapısına sahiptir. Diğer ihtiyaç duyulan özellikler, “extension” adı verilen eklentiler aracılığıyla uygulamaya eklenir.
  3. Jinja2 Şablon Motoru: Flask, Jinja2 adlı güçlü bir şablon motoru kullanır. Bu, HTML sayfalarını dinamik verilerle doldurmayı kolaylaştırır.
  4. Rutin Yönlendirme: Flask, URL’leri işlevlere (“view functions”) yönlendirmek için bir yönlendirme sistemi sunar. Bu, farklı sayfaların ve işlevlerin belirli URL’lere atanmasını sağlar.
  5. Örnek Uygulama Sunucusu: Flask, geliştirme aşamasında entegre bir sunucu sunar. Bu sayede uygulamanızı hızlıca test edebilirsiniz.
  6. WSGI Uyumlu: Flask, Web Server Gateway Interface (WSGI) uyumlu olduğu için farklı WSGI uyumlu sunucularla (örneğin Gunicorn veya uWSGI) sorunsuz çalışabilir.
  7. Genişletilebilirlik: Flask, özelliklerini ihtiyaca göre genişletmek için eklentilere izin verir. Bu, daha fazla özelliği ihtiyaca göre eklemenizi veya çıkarmanızı kolaylaştırır.
  8. ORM Desteği (Opsiyonel): Flask, SQLAlchemy gibi popüler nesne ilişkisel eşleme (Object-Relational Mapping – ORM) araçlarıyla entegre çalışabilir.
  9. Form İşleme ve Doğrulama: Flask, web formlarını kolayca oluşturmanıza ve doğrulamanıza yardımcı olan araçlar sağlar.
  10. Güvenlik Özellikleri: Flask, Cross-Site Scripting (XSS) ve Cross-Site Request Forgery (CSRF) gibi yaygın web güvenlik saldırılarına karşı koruma sağlamak için özellikler içerir.
  11. Dökümantasyon ve Topluluk Desteği: Flask’in kapsamlı ve kullanıcı dostu bir dökümantasyonu vardır. Ayrıca Flask’e odaklanmış geniş bir geliştirici topluluğu bulunmaktadır.
  12. Veritabanı Desteği: Flask, veritabanıyla çalışmayı kolaylaştırmak için SQLAlchemy gibi popüler veritabanı araçlarını entegre edebilir.

Dipnotlar


[1] Flask’a genellikle bir mikro çerçeve (microframework) denir. Uygulamanın özünü basit ve ölçeklenebilir tutmak için tasarlanmıştır. Mikro, Flask çerçevesinin basit ama genişletilebilir olduğu anlamına gelir. Tüm kararları verebilirsiniz: hangi veritabanını kullanacağınız, bir ORM istiyor musunuz vs, Flask sizin için karar vermez.

[2] Web Sunucusu Ağ Geçidi Arabirimi (Web Server Gateway Interface)

Moment.js nedir ve nasıl kullanılır?

JavaScript kütüphaneleri programlama sektöründe sıklıkla karşılaşılan sorunları çözmek ve otomatikleştirmek için geliştirilir. Popüler JavaScript kütüphanelerinden biri de Moment.js'tir. Peki Moment.js nedir ve programlama dünyasında...

JavaScript’te değişkenler ve aralarındaki farklar: var, let & const

JavaScript, web geliştirmenin temel taşlarından biri olarak, dinamik ve etkileşimli web siteleri oluşturmanın anahtarıdır. Bu güçlü programlama dilinin en temel yönlerinden biri, veri saklama...

Fiyat takip yazılımları nasıl çalışır?

E-ticaret dünyası her geçen gün daha rekabetçi bir hal alıyor. Bu ortamda, işletmelerin rakiplerini ve pazar trendlerini yakından takip etmeleri hayati önem taşıyor. İşte...

HTML div elementi ve kullanım senaryoları

Her gün milyonlarca web sayfasını ziyaret ediyor, okuyor veya üzerlerinde işlem yapıyoruz. Peki, son kullanıcılar için görsel olarak renderlanan bu sayfaların arkasındaki kodlarda kullanılan...

React ‘hook’ nedir ve ne için kullanılır?

React hook, React JavaScript kitaplığındaki bir özelliktir. Hook'lar, sınıf bileşenlerine ihtiyaç duymadan, fonksiyon bileşenlerinde durum (state) ve diğer React özelliklerini kullanmaya olanak tanır. İlk...

IPv4 ve IPv6 nedir? Aralarındaki farklar nelerdir?

Her gün internete bağlanıyoruz, ancak teknik olarak internete nasıl bağlandığımızla ilgili bir fikriniz var mı? İnternet, modern yaşamın ayrılmaz bir parçası haline geldi ve...

Daha fazla blog içerik

Moment.js nedir ve nasıl kullanılır?

JavaScript kütüphaneleri programlama sektöründe sıklıkla karşılaşılan sorunları çözmek ve otomatikleştirmek için geliştirilir. Popüler JavaScript kütüphanelerinden biri de Moment.js'tir. Peki Moment.js nedir ve programlama dünyasında...

JavaScript’te değişkenler ve aralarındaki farklar: var, let & const

JavaScript, web geliştirmenin temel taşlarından biri olarak, dinamik ve etkileşimli web siteleri oluşturmanın anahtarıdır. Bu güçlü programlama dilinin en temel yönlerinden biri, veri saklama...

Fiyat takip yazılımları nasıl çalışır?

E-ticaret dünyası her geçen gün daha rekabetçi bir hal alıyor. Bu ortamda, işletmelerin rakiplerini ve pazar trendlerini yakından takip etmeleri hayati önem taşıyor. İşte...

HTML div elementi ve kullanım senaryoları

Her gün milyonlarca web sayfasını ziyaret ediyor, okuyor veya üzerlerinde işlem yapıyoruz. Peki, son kullanıcılar için görsel olarak renderlanan bu sayfaların arkasındaki kodlarda kullanılan...