PHP’cilerin can simidi; Frameworkler üzerine

PHP’cilerin can simidi; Frameworkler üzerine


Web sitesi tasarımı hakkında geçmişte yayınladığımız yazılarda bir çok farklı konuya değindik. Bu yazımızda ise olayın arka planına davet ediyoruz sizleri. Php geliştirme ve framework kullanımı hakkında genel görüş ve yargılarımızın yanı sıra, günümüzde en çok kullanılan 5 framework üzerinde de durduk. Hadi yine iyisiniz demekten kendimizi alamıyoruz.

Her php geliştiricisinin farklı kütüphaneler ve farklı eklentiler kullanması nedeniyle birçok php projesi, el değiştirdiğinde veya birkaç ay sonra geliştirilmesi gerektiğinde yarım kalmaktadır. Çünkü php çok esnek ve dinamik bir dildir ve her geliştirici kendine kolay gelen veya daha önceden kullanmış olduğu fakat yeni projeye uyum sağlaması mümkün olmayan kütüphaneleri kullanmaya devam etmektedir. En iyi ihtimalle sadece günü kurtarmalık çözümler getirmektedirler. Bu problemlerin doğal sonucu olarak binlerce php projesi yarım kalmıştır.

Bütün bu problemlerin ortadan kalkması için 25-30 sene önce ortaya atılan MVC (Model-View-Controller) yapısının php’de de kullanılması gerektiğinin anlaşılması üzerine, temeli MVC altyapısına dayanan php Frameworkler üretilmiştir.

PHP Framework Nedir?

Frameworkler, php geliştiricilerinin her defasında farklı kütüphaneler araştırmasını önlemek ve altyapıyla uğraşmak yerine projelerine odaklanmalarnı sağlamak amacıyla ortaya çıkmıştır.

Örneğin; php ile oluşturulan birçok projede, veritabanı bağlantısını sağlayan ve daha kolay bir şekilde veritabanı sorguları yapılmasını sağlayan php Database Class’lara ihtiyaç duyulmaktadır. Günümüzde hemen hemen bütün php frameworklerin içerisinde bulunan veritabanı kütüphaneleri sayesinde, yeni bir veritabanı kütüphanesi aramaktan ve o kütüphanenin nasıl çalıştığını anlamak için zaman harcamaktan kurtulmuş oluyoruz. Buna ek olarak, birçok framework kendi güvenlik modülleri ile birlikte geldiğinden, bilindik birtakım basit güvenlik açıklarını da (SQL Injection, XSS vb.) önlemiş oluyoruz.

Kısacası frameworkler, geliştirilen projelerin daha stabil, daha hızlı ve daha güvenli çalışmasını sağlıyorlar.

 

php

 

Neden Bir PHP Framework Kullanmalıyım?

Yazımızın başında da dediğimiz gibi her php geliştiricisi kendi yöntemlerini kullanmaktadır. Projelerin stabil ve kolay geliştirilebilir olması için php’de belirli bir seviyeye gelen tüm geliştiricilerin en az bir php frameworku kullanmaları gerekmektedir. Günümüzde o kadar çok php framework var ki php geliştiriciler de doğal olarak hangisini seçeceklerine karar veremiyorlar. Peki ama hangi frameworku hangi projede kullanmamız gerekiyor? İşte bu sorunun cevabı yine php geliştiricilere kalıyor, örneğin Codeigniter kapsamlı projeler için tercih edilebilecekken ufak çaplı web siteleri için çok hantal kalmaktadır.

Hangi PHP Framework’u Kullanmalıyım?

İhtiyaçtan doğan yüzlerce framework arasında hangisinin seçileceğine karar vermek tamamen php geliştiricilerin tercihi olsa da piyasada en çok kullanılan ve en çok dökümasyona sahip olan frameworku tercih etmeniz en doğru seçim olacaktır.

Hangi frameworkun projeniz için en iyisi olacağına sizin karar vermeniz gerekiyor.

Son verilere göre en çok tercih edilen ve dökümasyon açısından sorun yaşamayacağınız 5 php frameworku inceleyelim.

(SitePoint’in 2013’ün son verilerine göre en çok kullanılan frameworkler)

 

yii framework

 

1. Yii Framework

Framework pastasında Codeigniter ile aynı dilimi paylaşan Yii Framework, kendi sitesi üzerinde bulunan Türkçe forumlar sayesinde birinci elden destek almamızı sağlıyor diyebiliriz. Bunun dışında Türkçe kaynak olarak çok fazla site bulamasanız da giriş seviyesinde yeterli bilgiye, arama motorları üzerinden erişebilirsiniz.

Yii Framework kendisini en güvenilir framework olarak tanıtıyor. Yii Framework’u diğerlerinden ayıran en önemli özelliklerden biri, Acive Record özelliği. Bu özellik sayesinde veritabanı sorgularının yükünü büyük bir ölçüde azaltabiliiyorsunuz.

Yii Framework’un Avantajları;

-Yii Fw’de bulunan Gii sayesinde MVC yapısını çok kolay bir şekilde oluşturabilirsiniz.

-Yii’nin geniş bir extension kütüphanesi var. Image upload, thumbnail oluşturma, mail gönderme, dosya yönetim sistemi, sosyal medya gibi binden fazla eklentinin bulunduğu şu adresi incelemenizi tavsiye ederiz:

http://www.yiiframework.com/extensions/

 

codeigniter

 

2. Codeigniter

Codeigniter son zamanlarda ülkemizdeki pazar payının bir kısmını kaybetse de hala birçok projede kullanılıyor. Türkçe kaynak konusunda en yaygın dökümasyona sahip frameworkler arasındadır.

Codeigniter’ın Avantajları;

-Birçok geliştirici tarafından test edilen güvenlik ve performans iyileştirmelerini içermesi,

-Farklı veritabanlarına kolay bir şekilde entegre edilebilmesi,

-Birçok frameworke göre hızlı çalışması,

-Popüler ve Türkçe kaynak açısından zengin içeriğe sahip olması,

tercih sebepleri arasında sayılabilir. Geri kalan tüm özellikler zaten rakiplerinde de bulunuyor. Codeigneter’ın en büyük dezavantajı ise küçük ölçekli siteler için pek uygun olmaması. En büyük rakibi olan Laravel’de ise böyle bir problem bulunmuyor.

Ellislab tarafından geliştirilen Codeigniter, yerini son zamanlarda daha hızlı bir çıkış yakalayan Laravel’e bırakacak gibi gözüküyor.

http://www.codeigniter.gen.tr

 

symfony2

 

3. Symfony2

Türkçe kaynak açısından zengin olan Symfony2 ülkemizde yine tercih edilen frameworkler arasında yer almaktadır. Türkçe kaynak olarak yararlanabileceğiniz sayfalar arasında Symfony2 gelmektedir. Symfony’nin birçok avantajı bulunmaktadır. Rakibi olan diğer frameworklere oranla tercih sebebi sayılabilir fakat dezavantajları göz önüne alındığı zaman birçok projeler için uygun olmayabilir.

Symfony’nin Dezavantajları;

-Template sistemi barındırmaması

-Eski php versiyonları ile çalışmaması

Symfony’nin en büyük eksiği php 4 versiyonu ile çalışmaması. Bu da, hazırladığınız projelerde sürprizlerle karşılaşmanıza neden olabilecek bir problem.

http://symfony-tr.com

 

phalcon

 

4. Phalcon

Pazar payındaki en büyük dilimlerden birini alan Phalcon’un tercih edilme nedenleri arasında C dili ile yazılmış olması geliyor. C dili ile yazılan en popüler framework olan Phalcon, C dili sayesinde rakiplerine oranla çok daha yüksek performans sağlıyor.

Phalcon’un resmi web sayfasında Türkçe bir alan bulunsa da kendi sitesi üzerinden Türkçe dökümentasyon bulunmuyor maalesef. Bu da ülkemizde gelişememesinin en önemli nedenlerinden biridir.

http://phalconphp.com/tr/

 

laravel

 

5. Laravel

Son zamanların en popüler frameworklerinden Laravel, kendine has geliştirdiği ORM ve Template motoru ile dikkat çekiyor. Taylor Otwell tarafından geliştirilen Laravel php 5.3 sürümünde bulunan tüm özellikleri destekliyor ve bu alanda Codeigneter’ı bir adım geride bırakıyor.

Laravel, diğer frameworklere göre çok yeni olmasına rağmen çok hızlı bir şekilde büyüyor. Bunun nedenlerinden biri de çok esnek ve hafif bir framework olması. Bunun yanında sade ve basit kullanımı ile ekip olarak çalışanlar için oldukça verimli bir çalışma ortamı sağlıyor.

Laravel’in Avantajları;

-Çok küçük ölçekli sitelerde kullanılabileceği gibi yüksek trafiklerde ve sunucuya yük getiren işlemlerde de oldukça performanslıdır.

-Laravel, gelişmiş ORM desteği ile birçok sorgudan kurtulmanızı ve web sitenizin yükünü azaltmanızı; ayrıca Mysql, Postgresql ve Oracle gibi birçok veritabanında çalışan SQL sorgularını, sorgularda hiçbir değişiklik yapmadan kolay bir şekilde çalıştırmanızı sağlar.

-Class Auto Loading özelliği ile sınıflarınızı yapılandırmak ve tekrar tekrar istekte bulunmak zorunda kalmazsınız. Auto Loading’e tanımlanan tüm sınıfları Laravel sizin için çağıracaktır.

-Laravel, 4. versiyonu ile çok kararlı bir yapıya bürünmüştür. Bu özelliği ile de gelecekte daha çok tercih edileceğinden emin olabiliriz.

-Türkçe kaynak açısından da zengin bir içeriğe sahiptir.

Framework Kullanımının Getirdiği Dezavantajlar

Frameworklerin sağladığı avantajlar göz önüne alındığında dezavantajları yok denecek kadar az kalıyor. Frameworklerde yaşayabileceğiniz başlıca 2 problem bulunuyor. Bir tanesi yukarıda da bahsettiğimiz gibi, projeye uygun framework seçimi yapamamak veya framework kullanmanızı gerektirmeyecek kadar ufak çaplı siteler için framework kullanmak. Yani eğer projeniz için framework kullanmanız gerekmiyorsa, kullanmamanız projenizin geleceği açısından daha iyi olacaktır. Örneğin; Codeigniter’e ne kadar hakim olsanız da ufak çaplı bir site için bu frameworkle çalışmanız yanlış bir seçimdir. Bir diğer dezavantaj ise çok fazla framework olduğu için her birinin kullanımını öğrenmeniz oldukça zaman alacaktır.

 

 

Frameworklerin Geleceği

 

Google Trendlerde en çok aranan frameworklere baktığımız zaman da diğerlerine göre daha köklü bir geçmişi olan Codeigniter’ın, en büyük rakibi Laravel karşısında her geçen gün gerilediğini görebilirsiniz.

Frameworklerin pasta payında, yakın bir zamanda değişim olmayacak gibi görünüyor. 2014 yılında hala en çok kullanılan framework Laravel olurken ikinci sırada Codeigniter, üçüncü sırada ise Symfony2 yer alıyor.

İlerleyen zamanlarda ise kendisi gibi, ortaya yeni çıkan ve çok kısa sürede büyük bir kullanım sayısına ulaşan başka bir framework oluşturulmazsa Laravel, uzun bir süre başı çekecek gibi görünüyor.

Yakında php geliştirme ve framework kullanımı hakkında spesifik ve detaylı yazılarla yine karşınızda olacağız, o vakte kadar saçınızı başınızı yolmadan, sakin sakin geliştirin. Bizi örnek almayın, Benexol’e inanmayın efendim.

79
like
13
love
6
haha
3
wow
0
sad
2
angry