Hangi Framework' u Kullanmalıyım
- Tarih: 26 Aralık 2018
- Yorum: 0
- Kategori: Php
Framework, kodlarınızı daha düzenli yazmanızı sağlayan standart bir çatıdır. Aslında hiç framework kullanmıyorum diyenler bile, kendilerine has bir kodlama düzenine sahipse bir nevi framework kullanıyordur.
Kodların bakımı, farklı yazılımcıların bir arada çalışabilmesi, kod tekrarından kaçınmak gibi konular zamanla ihtiyaç halini alabilir. İşte bu aşamada daha sistematize edilmiş bir framework kullanmak kaçınılmazdır.
Aslında hangi frameworku kullandığınızın pek bir önemi yok. Önemli olan yazılım yaparken kodların bir düzen içinde olmasıdır. Kendi ihtiyacınıza göre herhangi bir framework seçebilirsiniz.
"Şu frameworkün artık modası geçti" gibi tartışmalara hiç kulak asmayın. Framework sadece bir çatı oluşturur. Geri kalanı sizin kodlama beceriniz, algoritma yeteneğinizle ilgili.
Fakat şahsi olarak frameworklarda bazı kriterleri göz önünde bulundururum. Bunlardan en önemlisi geriye dönük uyumluluk, stabil çalışma, performans...
Diğer gözönünde bulundurulması gereken husus, farklı ortamlarda çalışabilmesi. Örneğin Phalcon, Django, Express frameworklarından birini kullanıyorsunuz. Bu frameworklarda sunucu erişiminizin olması, sunucuya özel ayarlamalar yapmanız gerekir. Kendinize ait bir sunucunuz varsa bunlar sorun olmayacaktır.
Codeigniter eski bir framwork. İlk öğrenme eğrisi oldukça düşük. Versiyonlar arası sert geçişler yok, oldukça stabil, performans olarak gayet iyi, hemen hemen her sunucuda çalışabilir. Ancak modern php çerçevelerinde olan bir çok özellik yok. Bu yüzden trendini kaybetmek üzere. Codeigniter versiyon 4 ile birlikte bu eksikliklerini giderdi. Hemen hemen her sunucuda hiç bir ayar yapmaksızın çalışması, performans açısından gayet iyi ve esnek bir framework olması büyük bir avantaj.
Laravel de yine aynı şekilde tercih edilebilir ve son zamanlarda oldukça popüler. Genel şikayet ise versiyonlar arası uyumsuzluk, çok fazla bağımlılığının olması ve hantal olması. Framework' ün arkasında güçlü ve kurumsal bir denetim yok. Tek kişi tarafından yapılmış ve geliştirilmekte. Bu yüzden ne olacağı, nereye gideceği öngörülemiyor.
Laravel, Symfony bileşenlerinden yola çıkılarak oluşturulmuş bir framework. Benim laravelde tecrübe ettiğim şey, bir çok hazır kütüphaneyle işinizi kolaylaştırsa da, onlarca kütüphaneyle birlikte geldiği için ister istemez sunucu yükü fazla oluyor. Laravel bir çok fonksyionu hazır sunduğu için Php' ye yeni başlayanlar ve hızlı proje geliştirmek isteyenler tarafından sıkça tercih ediliyor.
Yii de yine aynı şekilde tercih edilebilir başarılı bir framework. Özellikle performans optimizasyonu ve javascript desteğinin olması artı bir özellik. Oldukça stabil çalışan, olgun bir framework.
Phalcon ise yine mükemmel bir framework. Framework' ün çekirdeği C dilinde yazıldığı için kalabalık bir dosya yığını görmüyorsunuz. Bu ayrıca oldukça büyük bir performans artışı sağlıyor ve sunucu yükünü hafifletiyor. Sadece projeye odaklanıyorsunuz. Laravel 50 MB yer kaplarken Phalcon sadece 4 Kb yer kaplıyor. Framework' ü C dilinde yazarak php' ye yeni bir bakış açısı kazandırmışlar. Ancak Phalcon hakkında bazı tereddütlerim var. Birincisi geniş bir topluluğu yok. İkincisi arkasında güçlü bir şirket yok. Hatta Phalcon forumlarında okuduğum kadarıyla yazılımcılar başka şirketlerde çalışan kimseler. Bu yüzden frameworkü geliştirmeye fırsat bulamıyorlar ve finansman desteği arıyorlardı. Bir de bilmeniz gereken, sunucuya root erişiminizin olması ve phalcon eklentisini sunucuya kurmanız gerektiği. Paylaşımlı hosting kullanan müşterileriniz varsa, sunucu yöneticisiyle irtibata geçerek Phalcon eklentisinin kurulmasını istemeniz gerekli. Bu tür durumları göz önünde bulundurmalısınız. Tabi profesyonel işler yapıyorsanız nihayetinde bir sunucunuz olmak zorunda.
Symfony ise endüstri standardı olma yolunda hızla ilerliyor. İlk öğrenme eğrisi biraz zorlu olsa da, meseleyi kavradıktan sonra muhteşem bir framework olduğunu anlıyorsunuz. Symfony esnek parçalardan oluşan bir framework. Bu parçaları kullanarak kendinize özgü bir framework bile geliştirebilirsiniz. Laravel bu şekilde Symfony eklentilerini kullanarak geliştirilmiş bir framework. Symfony' nin en önemli özelliği stabil olması geriye dönük uyumluluk. Drupal gibi bazı CMS' ler Symfony bileşenlerini kullanır. Facebook gibi dev şirketler de bazı Symfony parçalarını kullanmaktadır. Kurumsal ve yüksek güvenlik isteyen projelerde tercih edilmektedir.
Proje geliştirirken bu oldukça önemli. Örneğin büyük bir kuruma 50bin-100bin bütçeli bir proje yaptınız. 5 yıl sonra yine sorunsuz çalışabilmeli ve üzerinde geliştirmeler yapabilmelisiniz. Onca bütçeyi harcayan bir firma, sıfırdan tekrar yapılmasını istemeyecektir.
Zend, CakePHP, Slim ve daha bir çok php framework türü mevcut. Eğer Php diline yeterince hakimseniz ve döküman okuma beceriniz varsa bir frameworkü öğrenmek çok fazla vaktinizi almaz. Ancak unutmayın ki bir framework e alışınca teknoloji değiştirmek sonra zorlaşıyor. Çünkü mantığınızı ona göre şekillendiriyorsunuz. Tavsiyem belli başlı olanları bir defa kurup tecrübe etmeniz ve öyle seçmeniz gerektiği. Bizzat kullanmadan kolaylığını ve ihtiyaçlarınıza cevap verip vermediğini tam olarak öğrenemezsiniz.
Yorumlar 0