digiklan adlı üyeden alıntı:
mesajı görüntüle
Bence siz Framework ün ne işe yaradığını tam anlamamışsınız.
Avantajları:
1) Herkesin bildiği sistemler daha güvenli sistemlerdir. Çünkü sadece senin 3-5 senelik kodlama bilginle yazılmaz. Yüzlerce developerın yüzlerce yıllık deneyimi ve bilgisi ile hazırlanır. Binlerce developerın binlerce farklı uygulamasında kontrol edilir test edilir güncellenir ve stabil sürüm haline gelir. 100 tane top level developerdan daha iyi kod yazarım demek fazla iddialı bir düşünce tarzı.
2) Wordpress Joomla Drupal gibi sistemler frameworkle yazılmadı teziniz son derece yanlış. Çünkü bu CMS sistemleri kendi başına birer üst frameworktür. Sana uygulama içince uygulama geliştirme imkanı verir. Ayrıca Wordpress Joomla Drupal gibi sistemleri çekirdek dosyalarında açık çok çok nadir çıkar. O durumlarda da açığın kaynağı çok hızlı tespit edilir ve yamanır. Hazır CMS sistemlerinde açıklar genelde 3. taraf plugin ve modüllerden kaynaklanır.
3) Framework size bir çatı bir yol sunar. Bu yolu öğrenen developerlar belirli yazılım optimizasyon ve güvenlik standarlarına uygun kod yazarlar. Bu yola uygun hazırlanmış projeleri hızla oluşturma, oluşturulan projeleri hızla okuma ve değiştirme kabiliyetine kavuşurlar. Yoksa sizin yazdığınız projeyi sadece siz anlarsınız. Programlama dili bilmek yetmez, programlanın standartlarına uygun iş üretmek gerekir.
4) Spaghetti kod yazarken database modelleme ile ilgili bir sürü işlemi manuel yapman gerekirken Laravel sana ORM sunuyor. Bir kaç saatte yapacağın işi standartlara uygun şekilde bir kaç dakikada yapmanı sağlıyor. Üstelik senin database classlarını okuyan herkes ne yaptığını anında anlıyor.
5) Kurumsal firmaların çalışanları geçicidir. Çok elemanla tek bir projede çalışmak ve hızlı iş çıkarmak için 2 yol var. Ya bir proje mühendisi çıkacak frameworkü hazırlayacak ve altındaki developerları organize edecek. Ya da bir framework üzerinde çalışacaksınız proje mühendisinin yapacağını framework kendi yapacak.
6) Frameworkler kendini yenileyen, yeni teknolojileri hızla uygulayan, sürekli performans ve güvenlik testlerine girip güncellenen yapılardır. Bireysel gelişiminiz frameworklerden hızlıysa zaten sizi tutmayalım. Ama hepimiz biliyoruz ki kodu yazıp satma peşinde olduğumuzdan, satış kısmından, destek kısmından başınızı kaldırıp bir hata güncellemesi bile yapmaya zaman bulunmuyor.
Dezavatajları
1) Yavaşlık. Frameworkler her işi yapabilecek bir çatı sunmak adına size lazım olmayan fonksiyonları ve methodları da içerir. Bu yüzden daha yavaş çalışabilirler.
2) Sunucu kaynağını fazla tüketme. Frameworkler daha hızlı ve kolay kod yazabilmeniz için yükü bilgisayara verir. Don't repeat yourself yani kendini tekrar etme ilkesinin temeli insanın işini makineye yaptırmaktır. Böyle olduğunda da frameworkler, siz daha hızlı ve standart kod yazabilesiniz diye yükü bilgisayara verirler.
Eğer tek başına çalışan bir developer iseniz yapmanız gereken tüm CMS'leri ve frameworkleri alıp okumak. Sadece kullanmayı öğrenmek yetmez. Açar satır satır session işlemlerini, dosya işlemlerini, veritabanı yapılarını okur. Sonra kendi hazırlayacağı projeye için bu kodları kullanarak ya da ilham alıp bu standartlarda kodlar yazarak kendi frameworkünüzü hazırlayabilirsiniz.
Bu daha optimize bir sistem yazmanızı sağlar. Ama yine de ilerleyen vakitlerde framework her zaman sizin yazdığınız sistemden daha güncel, daha yenilikçi, daha standart ve güvenli olacaktır.
Avantajları:
1) Herkesin bildiği sistemler daha güvenli sistemlerdir. Çünkü sadece senin 3-5 senelik kodlama bilginle yazılmaz. Yüzlerce developerın yüzlerce yıllık deneyimi ve bilgisi ile hazırlanır. Binlerce developerın binlerce farklı uygulamasında kontrol edilir test edilir güncellenir ve stabil sürüm haline gelir. 100 tane top level developerdan daha iyi kod yazarım demek fazla iddialı bir düşünce tarzı.
2) Wordpress Joomla Drupal gibi sistemler frameworkle yazılmadı teziniz son derece yanlış. Çünkü bu CMS sistemleri kendi başına birer üst frameworktür. Sana uygulama içince uygulama geliştirme imkanı verir. Ayrıca Wordpress Joomla Drupal gibi sistemleri çekirdek dosyalarında açık çok çok nadir çıkar. O durumlarda da açığın kaynağı çok hızlı tespit edilir ve yamanır. Hazır CMS sistemlerinde açıklar genelde 3. taraf plugin ve modüllerden kaynaklanır.
3) Framework size bir çatı bir yol sunar. Bu yolu öğrenen developerlar belirli yazılım optimizasyon ve güvenlik standarlarına uygun kod yazarlar. Bu yola uygun hazırlanmış projeleri hızla oluşturma, oluşturulan projeleri hızla okuma ve değiştirme kabiliyetine kavuşurlar. Yoksa sizin yazdığınız projeyi sadece siz anlarsınız. Programlama dili bilmek yetmez, programlanın standartlarına uygun iş üretmek gerekir.
4) Spaghetti kod yazarken database modelleme ile ilgili bir sürü işlemi manuel yapman gerekirken Laravel sana ORM sunuyor. Bir kaç saatte yapacağın işi standartlara uygun şekilde bir kaç dakikada yapmanı sağlıyor. Üstelik senin database classlarını okuyan herkes ne yaptığını anında anlıyor.
5) Kurumsal firmaların çalışanları geçicidir. Çok elemanla tek bir projede çalışmak ve hızlı iş çıkarmak için 2 yol var. Ya bir proje mühendisi çıkacak frameworkü hazırlayacak ve altındaki developerları organize edecek. Ya da bir framework üzerinde çalışacaksınız proje mühendisinin yapacağını framework kendi yapacak.
6) Frameworkler kendini yenileyen, yeni teknolojileri hızla uygulayan, sürekli performans ve güvenlik testlerine girip güncellenen yapılardır. Bireysel gelişiminiz frameworklerden hızlıysa zaten sizi tutmayalım. Ama hepimiz biliyoruz ki kodu yazıp satma peşinde olduğumuzdan, satış kısmından, destek kısmından başınızı kaldırıp bir hata güncellemesi bile yapmaya zaman bulunmuyor.
Dezavatajları
1) Yavaşlık. Frameworkler her işi yapabilecek bir çatı sunmak adına size lazım olmayan fonksiyonları ve methodları da içerir. Bu yüzden daha yavaş çalışabilirler.
2) Sunucu kaynağını fazla tüketme. Frameworkler daha hızlı ve kolay kod yazabilmeniz için yükü bilgisayara verir. Don't repeat yourself yani kendini tekrar etme ilkesinin temeli insanın işini makineye yaptırmaktır. Böyle olduğunda da frameworkler, siz daha hızlı ve standart kod yazabilesiniz diye yükü bilgisayara verirler.
Eğer tek başına çalışan bir developer iseniz yapmanız gereken tüm CMS'leri ve frameworkleri alıp okumak. Sadece kullanmayı öğrenmek yetmez. Açar satır satır session işlemlerini, dosya işlemlerini, veritabanı yapılarını okur. Sonra kendi hazırlayacağı projeye için bu kodları kullanarak ya da ilham alıp bu standartlarda kodlar yazarak kendi frameworkünüzü hazırlayabilirsiniz.
Bu daha optimize bir sistem yazmanızı sağlar. Ama yine de ilerleyen vakitlerde framework her zaman sizin yazdığınız sistemden daha güncel, daha yenilikçi, daha standart ve güvenli olacaktır.
Öncelikle paylaşım için teşekkürler,
Sanırım siz benim dediğimi anlamamışsınız.
örnek verdiğim sistemler kendi framework sistemlerini oturtmuş ve bu sistem üzerinden yürüyorlar ahmetin mehmetin frameworkünü kullanıyorlar dedim..
örnek bu sistemlerin hangisi şu frameworkler ile yazılmıştır bana gösterirmisiniz?
zend, CodeIngniter veya diğerleri
