Python Web Frameworks

Python Web Frameworks

Python Web Frameworks-Melike Yağmur DİNÇ

Framework Nedir?

Yazılım geliştiriciler için planlanan, defalarca kez test edilmiş, genellikle en çok ihtiyaç duyulan fonksiyonları, kütüphaneleri bir araya getirilerek oluşturulan yapılara Framework denilmektedir.

Framework’e örnek vermek gerekirse; bir fotoğraf galerisi oluşturmak istersek, fotoğraf yükleme, düzenleme, boyutlandırma, renklendirme, kırpma işlemleri gibi düşünebiliriz. Her bir özellik için bir fonksiyona ihtiyacımız olacaktır. Fotoğraf yükleme işlemi için bir fonksiyonumuz olacak fakat boyutlandırma veya düzenleme için aynı fonksiyonu kullanamayız. Bu işlem için farklı bir fonksiyon daha yazmamız gerekecektir. Basit bir fotoğraf galerisi uygulaması oluşturmak için bile yüzlerce satır kod, onlarca fonksiyon yazmamız gerekir. Ayrıca kodumuzu Memory Management, Security, Clean Code gibi konularda yüksek seviyelerde tutmak istiyorsak epey uğraşmamız gerekebilir. 

Geliştirme sürecinde hazırladığımız kod hemen çalışmayabilir. Mutlaka hatalar olacak, hataları düzeltmekle uğraşacağız. Ortaya çalışır bir uygulama çıkması için uzun bir zamanımızı kod yazmakla geçirebiliriz. Bu senaryoda birçok şeyi öğrenmenizin dışında pozitif bir durum bulunmamaktadır.

Fotoğraf galerisi uygulamasında kullanacağınız birçok fonksiyonun bir araya toplanmış olduğunu ve bunun bir paket olarak yayınlandığını düşünürseniz eğer; saatlerce kod yazmaktan, hatalarla uğraşmaktan kurtulabilirsiniz. Sizin yapmanız gereken tek şey, var olan fonksiyonları kullanarak projenizi geliştirmek olur.

Django Nedir?

Django Python programlama dili için tasarlanmış ücretsiz ve açık kaynaklı MVT (Model View Template) mimarisi yapısına sahip, Python’ın tüm avantajlarını kullanabilen bir Web Application Framework’üdür. Django Basitlik, Esneklik, Ölçeklenebilirlik ve Güvenilirlik konularında ön plana çıkmıştır. Öncelikle bu framework az kod ile hızlı geliştirmeyi amaçlamaktadır. Bu yüzden Web sitesinde giriş yazısı olarak “Django makes it easier to build better web apps more quickly and with less code./ Django, daha iyi web uygulamalarını daha hızlı ve daha az kodla oluşturmayı kolaylaştırır.” yazmaktadır.

Flask Framework Nedir?

En çok kullanılan 20 web framework'lerinden biri olan Flask, mikro framework olarak adlandırılır. Python programlama dili ile yazılmış olan Flask, web uygulamaları oluşturmak için kullanılır.

Açık kaynak kodlu bir framework'dür. Flask, hızlı çalışır ve kaynak tüketimi azdır. Özellikle RESTful API'ler oluşturmak için kullanılan bir framework olarak öne çıkar.

Flask, diğer web frameworklerine göre daha hafif ve daha az kod kullanır. Bu, Flask'ın esnek ve modüler bir yapıya sahip olmasını sağlar. Flask, developer’ların kendi ihtiyaçlarına uygun yapılandırma yapmasını sağlamak için özelleştirilebilir. Büyük ölçekli projeler için de ideal bir çözümdür.

Django mu Flask mı? Avantajları ve Dezavantajları

Django Avantajları

Flask Avantajları

Kolay ve hızlı

Yeni teknolojilere uyarlanabilir

Kullanımı kolay yönetici aracı 

Genişletilebilir

Güvenli

Ölçeklenebilir

Küresel uygulamalar için uluslararasılaştırma sistemi 

Kütüphanelere izin verir

Entegre birim testi

Daha küçük projeler için uygundur

Yüksek düzeyde ölçeklenebilir

RegEx tabanlı URL gönderimi karmaşıktır

Dinamik HTML sayfalarını destekler 

Basit işlevlere sahip küçük kod tabanı

Takip etmesi kolay belgeler sunar

Hızlı ve yapımı kolay prototipler

Yerleşik şablon tasarımı 

NoSQL desteği


 

Django Dezavantajları

Flask Dezavantajları

Stili karmaşık olabilir

Bakımı zor ve maliyetli olabilir

Öğrenmesi zor olabilir

MVP yavaş olabilir

Büyük kod tabanı

Yetkilendirme özelliği yok

Basit projeler için gereksiz ve fazla fonksiyon 

Çok sayfalı uygulamalar için destek yok

ORM'ye bağımlı

ORM özelliği bulunmaz

Flask ve Django Ne Zaman Kullanılır?

Aşağıdakileri yapmanız gerektiğinde Django kullanabilirsiniz:

  1. Kesin teslim tarihleri ​​olan çok sayfalı ve büyük projelerde
  2. Geliştirmeyi hızlandırmak istediğinizde
  3. Erişim desteği almak istediğinizde 
  4. Güvenli projeler oluşturmak istediğinizde
  5. Gelecekte projeleri büyütme veya daha karmaşık hale getirme planınız varsa
  6. Yerel ORM desteği veya API Backend ile web uygulamaları oluşturmak istediğinizde

 Aşağıdakileri yapmanız gerektiğinde Flask kullanabilirsiniz:

  1. Daha küçük projeler üzerinde çalışırken
  2. NoSQL dahil olmak üzere çeşitli veri tabanı desteğine ihtiyacınız olduğunda
  3. Kitaplıkları ve uzantıları seçme esnekliğine ve özgürlüğüne sahip olmak istediğinizde
  4. Gelecekte projeye yeni uzantılar eklemek istiyorsanız
  5. Statik web siteleri, hızlı prototipler ve RESTful web hizmetleri oluşturmak istiyorsanız

Matriks Yazılım Anadolu Lisesi

Melike Yağmur DİNÇ