İnsanların temelleri öğrenip, onlar üzerinde geliştirme yapabilmesi, yapılar kurabilmesi ve dolayısıyla var olan yapılara geliştirme ve ekleme yapabilmesi gerçekten önemli. Hatta önemliden de öte bir şart. Konuda birçok kişi framework kullanmanın daha az performanslı olduğunu bahsetmiş, evet haklılar fakat kaçırdıklar nokta frameworklerin büyük çoğunluğu daha iyi performans için zaten geliştirilmiyor. Siz bir güvenlik önlemi almak istiyorsanız bu bir maliyet, siz MVC patterinini uygulamak istiyorsanız bu bir maliyet, sorguları tekrar tekrar yazmayıp veritabanı bağlantılarını tekrar tekrar oluşturmayıp bir dataaccess layer oluşturmak istiyorsanız buda bir maliyet. Frameworkler bu ve benzeri binlerce işlemin daha kolay ve daha hızlı geliştirilebilmesi için oluşturulan kütüphaneler bunun yanı sıra MVC gibi bir düzen oluşturmak için gerekli standartları belirlerler, bir ekibiniz olduğunda veya firmanıza bir eleman aldığınızda iş sürecine daha hızlı dahil olabilmesi için oluşturulan kalıplar. Frameworkler sizin işinizi kolaylaştırmak için varlar.
aliarbak adlı üyeden alıntı:
mesajı görüntüle
Yönelttiğiniz mantıkla, php verimsiz kalıyor herşeyi C ile yazalım, yok c bizi kısıtlıyor assembly, hayır hayır bu şekilde bilgisayarı yeterince anlamıyoruz biz direk 1'ler ve 0'larla çalışalım gibi bir sonuca çıkabilirsiniz. Evet yeterli zaman ve yeterli bilgi birikiminiz varsa bunların hepsini yapabilirsiniz. Unutmayın ki web projesi geliştiriyorsunuz dili geliştirdiniz fakat daha apache gibi bir http serverda yazmalısınız. Eğer en dibe inmeye çalışırsak, dallanan teklonojiler bizi tamamen boğacaktır. Buraya kadar yazdıklarımı kesinlikle yanlış anlamayın, bende sizin gibi her geliştiricinin kullandığı teklonojinin detaylarını yada en azından çalışma şeklini bilmesini isterim fakat birçok kez bahsettiğim gibi bu işlemler çok maliyetli(zaman ve dolayısıyla para açısından).
Ne yapmalıyız? Geliştirilecek projeye göre kullanacağımız teklonojileri iyi seçmeliyiz. Bir teklonojiyi kullanırken sadece bu performanssız demek yerine teklonoji ile ilgili yapılacak optimizasyonlarda haberdar olmalı yada bu konulardan destek almalıyız. Eğer bir framework geliştireceksek, rakip frameworklerin bir çoğunu iyice bilmeli ve onların hatalarından ders çıkarmalıyız. PETABYTE'larca veri aktarımı olan bir sunucuda yükü azaltmak için veri işlemlerini bir apiye ayırıp daha iyi çalışması için redis(vb.) cache yapıları kullanmayı, sunum katmanındaki yükü azaltmak veya yok etmek için angular (vb.) yapılar kullanmayı düşünmeliyiz.
Daha "performans"lı gelecek için aynı bizden öncekilerin yaptığı gibi yeni çağa uygun, isteklere cevap veren frameworkler, kütüphaneler, kısaca üzerinde tekrar geliştirme yapılabilir veya incelenelip üzerinden tecrübe kazanılabilir teklonojiler oluşturmalıyız. Bu sebele kesinlikle imkanınız varsa kendi frameworkleri geliştirmenizi, çağın şartlarına göre onu geliştirmenizi isterim, çalışmalarınızda başarılar dilerim!