Hangi PHP Framework’ü Daha İyi?

Var olan tonla php framework’lerinden birini seçerken birçok faktörü göz önünde bulundurmak gerek:

  • Performans ve scalability
  • Komunite desteği (Yazılımcı ararken ya da takıldığınız noktayı sorarken lazım olacak)
  • Geliştiren ekibin güvenilirliği (Kullandığınız framework’ün gelişmesinin durması kabus olacaktır)
  • Kolay öğrenilebilirlik
  • Kolay geliştirilebilirlik
  • Yeterlilik / Esneklik
  • Sunduğu özellikler
  • Desteklediği PHP versiyonları

Zend Framework’ün Felsefesi

Özellikle Ruby on Rails’den sonra artan framework talebi sonunda birçoğu rails’den çok ciddi olarak esinlenen bir sürü framework çıktı. Arkasından Zend mühendisleri de framework ihtiyacına cevap vermek üzere çalışmalara başladı.

Code Igniter, Kohana, CakePHP, Symfony vb. projeler Rails’in izinden giderken Zend Framework kendine daha farklı bir yol çizdi. Rails ve türevleri tüm yapı için kesin kurallar koyup işe başlamayı hızlandırırken Zend Framework birbirinden bağımsız çalışabilen ama aynı zamanda birbirleriyle “iletişim kurabilen” modüller programlamayı tercih ettiler.

Zend Framework modüllerin yalnız başına kullanılabilir olması eski ve benim hala çok güvenemediğim PEAR kütüphanesinin yeniden yazılması ve Zend ile IBM gibi iki devin bu yeni kütüphaneyi (!) desteklemesi gibi yan bir misyonu da tamamlamış oldu.

Ancak bu yapının önemli bir dezavantajı oldu: Karmaşıklık. Yazılım kısmını geçtim, dokümantasyon kısmı çok karmaşık… Avantajı ise, örneğin konfigürasyon ayarlarınızı farklı bir şekilde tutmanız gerekse örneğin CodeIgniter’da hiç şansınız yok ama Zend Framework ile sorunsuz…

Dokümantasyon Problemi

Şu an Rails ve izinden giden framework’lerle birşeyler gerçekleştirmek çok daha kolay çünkü dokümanlarına baktığınızda son uygulamanızda deneyebileceğiniz şekilde anlatılmış vaziyette. ZF dokümanlarında ise hem tüm yapıdan bahsedilmeli hem de modülün tek başına nasıl kullanılabileceği anlatılmalı. Bu da iletişim konusunda zaten kazma olan Zend’i biraz aşıyor bence.

Sanırım Zend’in beklentisi komuniteden bu konuda tonla “tutorial” ve kitap çıkması idi ama pek de hızlı birşeyler çıktığını söyleyemeyeceğim.

Alt Framework

Rails ve türevlerinin yapısı yazılım mühendisliğinde “tight coupling” olarak adlandırılırken ZF’ninki “loose coupling” oluyor. Her ne kadar “loose coupling” yazılımlarda tercih edilen bir kavram olsa da web framework’leri için çoğu durumda tight coupling’in daha uygun olduğunu düşünüyorum. Küçük ve düşük bütçeli yazılımlar için ihtiyacımız olan “hızlı geliştirme”, bu da Zend Framework’ün şu anki haline hiç uymuyor.

Düşününce kapsamlı projeler için ZF, küçük projeler için diğer bir framework kullanmak öğrenme süreci nedeniyle mantıklı gelmiyor. O yüzden bence ihtiyaç olan ZF’nin bir alt framework’ünün olması.

Önceki bir yazımda demiştim ki “Zend Framework on Rails istiyorum!”
Eğer şu anda Rails tadında işleri çok hızla sizin adınıza yapacak bir yapıya ihtiyacınız varsa Zend Framework’ü tercih etmek için kendi “ZF on Rails”inizi yapmanız gerekiyor.

  1. İndir,
  2. zip’i aç
  3. Konfigürasyonu yap
  4. Controller ve modelleri hızla ekle
  5. Teste aç ve pragmatik programlamaya devam et…

Bu paketin ZF’nin son versiyonuyla uyumlu olması gerektiğini düşünürsek paketin de sürekli geliştirilmesi gerekecek demektir.
Eh, bu da başlı başına bir framework gibi birşey oluyor.
ZF üzerine inşaa edilmiş bir alt framework…

İlgili Yazılar

1 Yorum

Leave a Comment.