PHP kütüphaneleri (PHP Frameworks)

Uzun süre uygulamalarımı geliştirmek için gerekenleri kendim yazdıktan sonra bir framework kullanmaya karar verdim.

İlk iş olarak varolan PHP frameworkleri arasında uygun olanı seçmek için bir araştırma yaptım. Kullanmaya karar vermeden önce özellikle bir kaç framework arasında kararsız kaldım. En sonunda ise CodeIgniter’i kullanmaya karar verdim.

Ruby on Rails’in spektaküler denilebilecek başarısından sonra MVC tabanlı PHP frameworkleri de oldukça yaygınlaştı. Bir framework kullanmanın bir çok faydası var. Bunların başında hızlı uygulama geliştirme, tekrar kullanabilen kod gibi şeyler. Framework kullanmak veya kullanmamak konusuna daha başka bir ara değinebiliriz.

PHP için bir framework aramaya çıktığınız zaman karşınıza bir sürü seçenek çıkacaktır. Dolayısı ile seç,m yapmakta zorlanabilirsiniz. Benim başıma geldi. Bu yazıda da bu konuda ki deneyimleri anlatmaya çalışıyorum.

CodeIgniter

CodeIgniter Flame Logo

CodeIgniter, MVC yapısını kullanan bir framework. CodeIgniter’ın en büyük özelliği hafif bir framework olması. Burada hafif derken özelliklerinden bhsetmiyorum. CodeIgniter gereken kütüphaneleri sadece kullanacağı zaman yüklüyor. Bahsedilen hafiflik bu. Bunun haricinde diğer frameworkler arasında en iyi performansa sahip olanlardan biri.

CodeIgniter’i kurmak ve çalışmaya başlamak oldukça kolay. Beş dakika içinde çalışan bir CodeIgniter’a sahip olabilirsiniz. Aynı zamanda CodeIgniter incelediğim frameworkler arasında öğrenilmesi (en azından benim için) en kolayı idi. Codegniter ile çok kısa bir zamanda uygulama geliştirmeye başlayabilirsiniz.

Eğer hala PHP4 kullanmak gibi bir mecburiyetiniz varsa da CodeIgniter PHP 4 ile çalışıyor.

Bunun dışında her açık kaynaklı projede olduğu gibi en önemli etkenlerden biri de topluluk yani ‘community’. CodeIgniter’ın yardımsever bir topluluğu var. Dökümantasyonu yeterli ve kolay anlaşılır. Dökümantasyonda bulamadıklarınıza ise forumdan kolayca yanıt bulabilirsiniz.

Zend Framework

Zend Framework Logo

Zend Framework, adından da anlaşılacağı gibi PHP’nin ‘babası’ Zend tarafından destekleniyor. İlk çıktığı zaman fazla bir sükse yapmayan ama giderek daha da yaygınlaşan bir framework. Sadece PHP 5 ile çalışıyor. Tamamen OO programlama mantığı üzerine kurulu. Arkasında bulunan Zend desteği ile özellikle büyük projeler düşünülürek yaratılmış bir framework olduğunu düşünüyorum. Öğrenme eğrisi CodeIgniter ile karşılaştırılınca ilk zamanda biraz daha dik görünse de çok zor değil. İlk uygulamanızı yapmak CodeIgniter’dan biraz daha zaman alabilir, beş dakika yerine yirmi dakika…

Zend Framework’un son derece detaylı bir dökümantasyonu var. Aynı zamanda hem Zend’in desteğine hem de kalabalık bir topluluğa sahip.

CakePHP

CakePHP Logo

CakePHP diğerlerine göre kullanımı biraz daha farklı olan bir framework. Kendine özgü bir yapısı ve işleyişi var. Bu yüzden öğrenmesi biraz daha uzun sürüyor. Ama CakePHP’nin oldukça fazla taraftarı var. CakePHP’nin kendine özgü yollarını öğrendiğiniz zaman neredeyse çok az PHP bilgisi ile uygulamalar oluşturabilirsiniz.

Bu arada CakePHP de PHP 4 desteği veriyor. Bu arada Internet’te baktığım kadarı ile hız testlerinde CakePHP diğer frameworklere göre açık farkla geride.

Beni CakePHP’den soğutan şey, öğrenme eğrisindeki dikliği, kendine özgü tavizsiz yapısı ve yavaşlığı oldu.

Diğerleri

Yukarıda saydığım bu üç framework PHP frameworkleri arasında en yaygın olanları. Bu yaygınlık kullanıcı tabanı ve aktif gelişimine bağlı. Ama bunun yanında bakmanızda fayda olabilecek başka kaliteli ve kullanışlı PHP frameworkleri de var. Aşağıda listeleyeceklerimi kurup denemedim ama uzun süre araştırdım. Bu araştırmaya göre aşağıda adı geçenlerde ciddi alternatifler arasında. Daha çok bilgisi olanların, denemiş olanların yorumlarını bekliyorum.

  • Symfony (Diğerlerine en ciddi alternatiflerden biri. Denemedim. Oldukça kaliteli bir yapısı ve azımsanmayacak bir topluluğu var.)
  • Seagull PHP Framework
  • Akelos PHP Framework
  • Kohana (CodeIgniter’in üzerine kurulmuş ama sadece PHP 5′in OO özelliklerini kullanarak yazılmış. Henüz CodeIgniter kadar olgun değil. Topluluğu o kadar fazla değil.)
  • Ez Components
  • Prado

Sonuç

Bu bilgiler ışığında CodeIgniter’da karar kaldım. Geliştirdiğim bir proje’de (www.mataraga.com) kullandım ve memnun kaldığımı söylemeliyim. Tekerleiğ tekrar keşfetmeme konusunda büyük bir faydası var.

Bunun haricinde Zend Framework’e dalmış durumdayım. Diğer bir projeyi de Zend Framework kullanarak tamamlamayı düşünüyorum. Belki o zaman ikisi ile ilgili bir karşılaştırma yazabilirim.

Not: Karşılaştırma demişken, şu adreste bazı PHP frameworklerinin bir karşılaştırması var. İlgilenenler buraya da bakabilir.

Lütfen iPhone’u düzeltin!

iPhone son derece güzel bir telefon olabilir. Bir sürü süper özelliğe sahip. Elinde tutup oynaması bile zevkli. Hatta bu konuda daha önce yazılmış bir yazıya buradan ulaşabilirsiniz.

Ama açıkçası iPhone zaman zaman insanı çıldırtabilecek özelliklere de sahip. Ya da belki daha doğrusu bir sürü özelliklten yoksun.

İster gereksiz ve kullanışsız bir özellik isterse de iPhone’da mutlaka bulunması gerektiğini düşündüğünüz bir özellik olsun, bu arayışta yalnız değilsiniz.

Sizin gibi düşünenler de harekete geçmiş ve bir site kurmuşlar. Adı Please Fix My iPhone. Burada iPhone’da düzeltilmesini istedeğiniz konular için oy verebilir. Ya da orada yoksa yenisini yazabilirsiniz. Tabii çözümlenenlere de siteden ulaşmak mümkün.

Please Fix My iPhone, Apple’a bağlı bir site değil. Bu yüzden oradakilerin düzeltileceğinin bir garantisi yok ama gene de Steve’in ya da Apple’ın bu kadar kişiyi görmezden geleceğini sanmıyorum.

Sizin de bu konuda bir fikriniz varsa veya istekleri görüp onlara oy vermek isterseniz. Buradan buyrun.

GIF, JPG ve PNG arasındaki farklar

Eğer bir webmaster iseniz, genellikle grafik ve resimlerle de haşır neşir olmaktasınız. Bugün web ortamında kullanılan başlıca üç resim formatı var. Bu üç değişik resim formatınında kendilerine göre bazı getirileri ve götürüleri var. Belli yerlerde belli bir formatı seçerek daha hızlı yüklene daha kaliteli resimleri sitenize ekleyebilirsiniz.

GIF, JPEG, PNG formatlarının detayları için tıklayın

Google’dan Urchin Beta aşamasında

Urchin from Google LogoUrchin, Google’un satın aldığı ve Google Analytics olarak bedava dağıttığı izleme yazılımını yapan firmanın adı. Google bu sefer Google’dan Urchin Yazılımı (Urchin Software from Google) adı ile yeni bir izleme programı geliştirdi. Bu programın Google Analytics’den farkı etiketleme yöntemi (sayfalar bir javascript kodu ile etiketlenmekte) ile çalışması değil, doğrudan sunucu üzerinde çalşan bir yazılım olması.

Bu hizmetin Analytics’den en büyük farkı Urchin’in bedava olması. Halka açık beta süresi dolduktan sonra 2995 dolara satışa sunulacak. Satış da sadece Google İzinli Urchin Danışman firmaları tarafından yapılacak.

Aslında bu yazılım daha çok büyük firmaları ve web sitelerini ilgilendiriyor. En önemli özelliklerinden birisi de intranetlerde kullanılabilecek olması.

Devamı için tıklayın

HTML 5 taslak, yeni ne var?

W3 Konsorsuyumu HTML’in yeni sürümü olan 5. sürümün taslak versiyonu 22 Ocak 2008′de yayınladı. Taslak sevenler buradan bakabilirler.

Eklenen ve çıkartılan bir sürü yeni eitket (tag) ve özellik (attribute) var. Bunların dışında daha önceki HTML sürümleri ile geri uyumlu olarak tasarlanmış.

Eklenen yeni HTML etiketleri (tags) için tıklayın

Mozilla Weave, Mozilla’nın web servisleri platformu

Mozilla Labs Weave LogoMozilla sessiz sedasız yeni geliştirmekte olduğu açık web servisleri platformu Weave‘i duyurdu.

Günden güne web ile daha iç içe bir hayat yaşıyoruz. Zamanımızın çoğununu web servislerini kullanarak geçiyoruz. Her ne kadar Flock gibi girişimler tarayıları bu tür servislerle entegre etmeye çalışsalar da bu iş için yeterli girişimler değiller.  Bugün tüm web servisleri neredeyse farklı yöntemler kullanıyorlar. Bu yüzden bunları birleştirecek bir standarta ihtiyaç var. Örneğin web e-posta servislerini sorgulamak, ya da fotoğrafları yüklemek için kullanılcak bir standart daha verimli bir web deneyimi getirecektir.

İşte Mozilla’nın da Weave ile yapmaya çalıştığı bu. Yani Mozilla hesabınızı kullanarak, bookmarklarınızı yer imlerizi, eklentilerinizi, temalarınızı ve diğer ayarlarınızı Mozilla hesabınızda saklayabileceksiniz. Böylece eğer bilgisayarınızı kaybetseniz bile ayarlarınız Mozilla sunucusunda sizi bekliyor olacak. Mozilla Weave hem bir sunucu (Ör: Mozilla servisleri sunucusu) ve de bir eklentiden (Firefox 3 için) oluşuyor.

Bir kaç kullanım örneği burada İngilizce olarak bulunuyor.

Weave, şu an için deneme safhasında ve daha çok yeni. Şu an için sadece Firefox 3 ile çalışıyor. Eğer denemek isterseniz buradan  Mozilla servisleri hesabınızı yaratıp eklentiyi indirebilirsiniz.