Samet AKIN

Samet AKIN

ALAYLI YAZILIMCI

Framework hangi durumlarda kullanılmamalı veya kullanılmalı?

Framework nedir, ne değildir ve ne zaman kullanılmalıdır kısaca hepsini bu yazımda anlatacağım. Framework bir yapıdır. Farklı kütüphaneleri içinde barındıran yapıya framework denir. Her framework’ün kendine has özellikleri, avantaj ve dezavantajları vardır ve  yazılım ajansları, toplu olarak geliştirilen projeşer için oldukça kullanışlıdır.

Şu günlerde framework kullanımı oldukça revaçta. Hatta iş ilanlarında x framework konusunda tecrübeli diye başlayan ilanların görürsünüz. Peki Framwork’ün bu kadar tutulmasına sebep nedir, insanların ne zaman kullanmaları gerekli ve kullanmamaları gerekli örnekleri ile anlatacağım.

Bu kadar revaçta olmasının sebebi yapı içinde hazır gelen kütüphaneler ve proje geliştirme sürecini azaltması başta gelir. Normalde bir yazılımcının framework seçimi yaparken dikkat etmesi gereken şeyler ne kadar çok insanın kullandığı veya ne kadar revaçta olduğu değildir. Bu tıpkı projenize göre yazılım dili seçmeniz gibi birşeydir aslında. Hangisi sizin daha çok işinizi görüyorsa onu kullanmanız gerekir. Mimarisi, kullandığı moduller, hangi php versiyonu ile uyumlu çalıştığı, saniye başı istek sayısı bunların hepsi önemli hususlardır ve seçim yaparken bunun gibi projenizi geliştirirken büyük rol oynayacak hususlara dikkat edilmesi gerekmektedir.

Ne yazık ki framework seçerken birçok kişi bunları göz önünde bulundurmuyor. Hangisi daha popüler onu kullanıyor. Framework kullanımı o kadar çok abartlıyor ki sorgu yazmasını unutanı gördüm. Bu kadar çok hazıra alışırsanız bir süre sonra bağımlı olursunuz. Ayrıca her proje için framework kullanılmaz bazen yapıyı sizin oluşturmanız gerekir. Kısa vadeli ve yazılımcı sirkülasyonunun fazla olabileceği projelerde framework ama uzun vadeli işlerde ise kendi yapınızı kullanmanız gerekir. Her proje sadece sizin başlangıçta belirlediğiniz yapıda kalmayabilir. Mesela; projenin gidişatına göre mimariyi değiştirmeniz gerekebilir. Bu hususta tam anlamı ile hakim olmadığınız ve kendi oluşturmadığınız yapıda her istediğinizi yapamazsınız. Projeniz üstünde rahat hareket edememeniz sizin zora sokabilir.  Ekip olarak yaptığınız uzun vadeli projelerde kesinlikle ama kesinlikle kendi yapınızı oluşturmanız sizin için büyük bir artı olur.

Anlık isteğin çok olduğu veya site hızının önemli olduğu projelerde yavaş çalışan bir framework çok canınızı yakabilir. Aşağıdaki resimde frameworklerin saniyede ne kadar isteğe cevap verdiğini gösteriyor. Aşağıda gördüğünüz istek/saniye grafiğindeki rakamlar ve php’in işlevleri facebook, vk için yetmemiştir. Facebook php farklı türevi olan HACK’i kullanıyor VK ise kendi php versiyonunu çıkartarak KPHP kulllanmaya başlamıştır.

Hız için phalcon birçok kişi tarafından önerilen bir framework ancak daha öncede söylediğim gibi uzun vadeli işlerde her zaman kendi oluşturduğunuz yapı en iyisidir. Facebook, twitter, pinterest, linkedin bunlar uzun vadeli ve her daim geliştirilmeye devam eden projeler. Sizce bu projelerde frameworkmü kullanılıyor. Bu örnekler biraz abartı oldu biliyorum ama der daim geliştirilmeye devam eden projeler olduğunu göstermek için örnek verdim.

Not : Ayrıca üstteki grafiğe bakarak en iyi framework phalcondur diyemeyiz.

Yazılım ajansı veya açık kaynak kodlu ( open source ) olarak geliştirilen projeler gibi birden fazla yazılımcının kodladığı ve yazılımcı sirkülasyonunun fazla olabileceği projelerde framework kullanımı tam yerinde bir karar olur.  Bir kişinin kodlamayı bıraktıktan sonra veya  sonradan gelen kişinin projeye adapte olması kolay olur. Yazılımcı sirkülasyonun fazla olduğu projelerde daha önce bir kişinin kendine göre geliştirdiği bir yapıyı öğrenmek zordur ve bir kişinin karar alarak oluşturduğu yapı ne kadar kullanışlı ve esnek olabilir?

Bir projeye başlamadan önce sizin için en hayırlısını seçmeniz dileğiyle…

DROP A COMMENT

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