Merhabalar arkadaşlar, ülkemizde son zamanlar da bir yerli furyası almış başını giderken herkes ilgi alanında ki ya da uzman olduğu alanlarda ki yerli markaları sorgulamaya ve araştırmaya başladı. Tabi bizim ilgi alanlarımızdan biri de PHP Framework’leri (PHP Kütüphaneleri). Ülkemizin şu an için birkaç tane PHP Framework’ü olmasına rağmen henüz markalaşmış bir değerimiz ne yazık ki yok. Aslın da bu işler çok zor olduğundan değil de başka nedenlerden dolayı henüz bir başarı elde etmiş değiliz. Bugünkü yazımda da bu alan da başarılı olmak için neler gerekli ve ne yapmalıyız buna değineceğim.

1-Ekip ve Ekip Ruhu
Öncelikle bu tür yazılımların altından tek başına kalkılamayacağını bilmemiz gerekli.Evet tek başınıza baştan sona başarılı bir kütüphane(framework) yazsanız dahi bunu tanıtacak, dökümante edecek(İngilizce dahil) ya da hataları düzeltecek ve sürekli güncelleyecek bir zamana asla sahip olamazsınız. Öncelikle daha önce bir kaç farklı Framework kullanmış kişileri bir araya getirmekle işe başlanmalı. Sadece uzman kişileri bir araya getirmek yetmez. Projeden sonuç alana kadar bu uzmanlardan iliklerine kadar faydalanılmalı. Bu insanların motivasyonları sürekli olarak üst düzeyde tutulmalı ve ekibe liderlik yapılmalı.

2-Tanıtım ve reklam
Tanıtım ve reklam oldukça önemli. Dünyanın en iyi Framewok’ünü yazmış olabilirsiniz ancak hiç kimsenin bundan haberi yoksa istediğiniz başarıyı henüz elde etmiş sayılmazsınız. Sosyal medya alanlarında tanıtımlar yapılmalı ve Forum sitelerinde bu Framework ile ilgili bir çok başlık açılmalı ve sorulan sorular cevaplanmalı. Ayrıca birçok blog sitesinde PHP Frameworklerinin birbirleri ile karşılaştırılmaları yapılmakta. Bu blog sitelerinde de kendinizden söz ettirmelisiniz. Github üzerinde bulunmak ise bence bu işin ilk kuralı. Github üzerinde bulunmak tanıtım demektir, ciddiyet demektir, ekip arkadaşları bulmak demektir, hatalarınızı hızlı ve kolay bulup düzeltmek demektir. Şu anda Github üzerinde Laravel en çok yıldızı alarak en popüler PHP kütüphanesi olmayı başarsada benim favorim Yii Framework.

3-Dökümantasyon – Kullanım Klavuzu
Yerli bir Framework yazmak, Türkçe kullanım klavuzu hazırlamak ya da fonksiyon isimlerini Türkçe kullanmak demek değildir. Yazılan Framework fonksiyonları ve Class isimleri tamamen İngilizce hazırlanmalı ve Dökümantasyon sayfasında da çok iyi bir İngilizce kullanılmalıdır. Unutmayın sadece Türkiye ‘de kullanılacak bir framework marka değeri taşımaz. Fonksiyon ve class isimlerinin İngilizce kullanılması kullanıcıların bu framework’ü benimsemesine ve Framework’ün kolay öğrenilmesine yardımcı olacaktır.

4-Diğer Web Teknolojileri ile Uyumu
Yerli Framework’ün yeni teknolojiler ile uyumu sürekli devam ettirilmelidir.Örneğin JQUERY, Bootstrap, HTML5 gibi diğer web teknolojileri ile uyumlu olmalıdır. Eğer yeni bir teknoloji ya da dil kullanımı yaygınlaşırsa(Örn:ANGULAR JS) hemen bu teknoloji ile de uyum sağlanmalıdır. Themeforest gibi sitelerde satılan çeşitli temalarda oldukça yaygın olarak kullanılan ve satılan temalar ile uyum sağlanması Framework’ümüzün tercih edilme sebeplerinden biri olacaktır. Yine PHP sürümleri ile sürekli uyum içinde olmalı. PHP 4 ve PHP 5 sürümleri ile uyumlu bir kütüphane yazdınız fakat şu anda PHP 7 sürümü çıktı, Kütüphaneniz son sürüm ile uyumlu mu?Ayrıca Database Access Objects (DAO), Active Record (AR),Doctrine 2, Propel (active record) ,TDBM veya Doctrine, Axon (SQL), M2 (MongoDB), and Jig (flat files) gibi teknolojilerinde Framework içinde kullanılması artı bir özellik olacaktır. Cache Storage olarak neler kullanılıyor? APC,Database,eAccelerator,File,Memcache,WinCache,XCache,ZendPlatform,XCache,HTTP,Redis,SQLite,File System…
5-Forum Kullanımı ve Destek Ekibi
Yazılan Framework’ün kullanımında yaşanacak sıkıntılar, güvenlik eksikleri kullanıcılar tarafından sürekli olarak sizlere iletilecek ve bu hataların( issue reports) düzeltilmesi(fix) gerekecek.İşte tam bu konu da Forum siteleri imdadımıza yetişecek.Düzeltilen hatalar(bug fixed) bu forum siteleri üzerinden kullanıcılara iletilecek. Ayrıca Wiki ve Extensions sayfalarınızın da olması gerekir. Olabilirse Live Chat de tercih edilebilir. Örnek: Yii Live Chat
Ayrıca Github gibi sitelerde de var olmaktan geri kalmayacağız.
6-Topluluk(Community)
Yazılan Framework’ü kullanacak ve sürekli olarak bu framework’e katkıda bulunacak(contribute) bir topluluğun olması gerekir.En önemli kavram bence budur. Dünyanın başka bir ülkesinde bizim Framework’ü kullanıp beğenen bir İspanyol kullanıcı hemen İspanyolca eğitim videoları hazırlayıp Youtube’a koyarsa bu iş güzel devam ediyor demektir. Ya da başka bir ülkeden başka bir kullanıcı bir Extension(Eklenti,Örn: File Upload Extensions) hazırlayıp İngilizce dökümante edip diğer kullanıcılarla paylaşırsa değmeyin keyfimize. Sosyal medya da etkin olarak varlığınızı hissettirmelisiniz. Facebook, LinkedIn, Twitter, Youtube…

7-Güvenlik ve Hız
Bir Framework’ün en önemli teknik iki özelliği Güvenlik ve Hızdır. Uluslar arası bazı platformlarda değerlendirmeye alınan bu Framework’ler çeşitli konularda test edilip kullanıcılara bildiriliyor. Bu sonuçlara göre kullanıcılar Framework seçimlerini gerçekleştiriyor. Bu frameworklerin XSRF,XSS,NULLBYTE ve SQL INJECTION gibi çeşitli güvenlik açıklarına karşı önlemler alması gerekiyor.

8-Simplicity-Sadelik ve Basitlik
PHP dili genel itibari ile diğer dillere göre oldukça basit bir syntax yapısına sahiptir. Böyle olmasına karşın PHP Framework lerinin de aynı sadeliği devam ettirmesi gerekir. Öğrenilmesi ya da ya da yaygın bir şekilde kullanılması için basit ve anlaşılır olması gerekir. Buna en iyi örnek bir javascript kütüphanesi olan JQUERY. Yazım dilinde ki harika akışkanlık ve öğrenilmesinde ki kolaylık oldukça profesyonel hazırlandığını gösteriyor. Framework içinde ki fonksiyon ya da sınıf sayınızın oldukça fazla profesyonelliğinizi tam olarak yansıtmayabilir.

9-Dikkate Değer Projeler- Referanslar
PHP Frameworkümüz ile hangi projeleri bitirdik.Tabi bu projelerin oldukça büyük işlerin altından kalkmış olması gerekir. Birkaç firmanın web sayfasını yapmakla marka olunmaz. Dişe dokunur projeleri bitirmiş olmalı. Örneğin “Magento” adı verilen açık kaynak kodlu dünyaca ünlü e-ticaret web uygulaması Zend Framework ile yazılmıştır.Dünyada video eğlence sitelerinden biri olan Dailymotion, Symfony ile yazılmıştır. Yine Yahoo! bazı projelerinde Symfony kullanmaktadır. Türkiye’de en popüler haber sitelerinden biri olan haber7.com, Laravel tarafından yazılmıştır.

Yazar Hakkında

3 Comments

  1. http://www.znframework.com/
    https://www.facebook.com/groups/znframework/

    yerli bir projedir ve profesyonel anlam bir kod yapısı vardır.

    incelemenizi ve desteklemenizi tavsiye ederim.

  2. znframework.com araştırırsanız yukarıda saydıklarınızın hemen hemen hepsinin olduğunu görürsünüz. Araştırmadan soruşturmadan yazı hazırlamanızı geçtim de “Ne yazık ki” kalıbını kullandığınız cümleye ne yazık ki diyerek karşılık vereyim. Destek mi vereceksiniz buyrun 1000 dosya, 7000 method, 100 den fazla sınıf yapısı ve güncel teknolojilerin kullanılmış olması Bu framework’ün ne boyutta olduğunu gösteren basit istatistikler. Yerli framework’ümüz var ve bir benzerinin neredeyse yazılması imkansız. Dolayısı ile destek zamanı diyor yazınızı ona göre düzenlemenizi rica ediyoruz. İyi çalışmalar.

    • Yazımı yazmadan önce bir kaç inceleme yaptım. Öncelikle şunu belirtmek isterim. Oldukça fazla bir emek harcandığı belli, emeğinize sağlık. Ancak demek istediğimi anlatamadım galiba. Örneğin İngilizce bir dökümantasyon yok malasef. Ayrıca zahmet edip Yuotube’da eğitim videolarını Türkçe çekmişsiniz ama İngilizce kaynaklar şart. Yerli Framework derken sadece yerli üretim Framework değil. Bizim yazdığımız ve tüm dünyanın kullandığı framework demek istedim. Ayrıca Google arama çubuğuna znframework yazıp aradığımda şu an için 2800 sonuç bulurken örneğin Zend Framework yazdığımda 2.790.000 sonuç bulundu. Yaklaşık 1000 kat daha fazla dokümantasyonları var.

Leave a Reply

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Close