Framework Nedir? Ne amaçla kullanılır? Framework, yazılım geliştiricilerinin kullandığı önceden hazırlanmış olan kütüphanelerin bulunduğu veya bunlara yeni eklemeler yapabilecekleri yapıların adıdır. Gelişmiş olan frameworklerde ise form kontrolü, veri tabanı bağlantısı, kullanıcı giriş çıkışı, mail gönderimi, tema ayarlama motoru gibi önemli kütüphaneler mevcuttur. Oldukça yaygın olan frameworkler ise örneğin PHP modülü kullanıcıları için Laravel, Symfony, Zend, CodeIgniter, CakePHP ve Yii'dir. Ancak Java, JavaScript, Python Frameworkleri gibi daha farklı Framework modülleri de piyasada yer almaktadır.
Framework Ne İşe Yarar?
Framework, bilgisayar programlamada genel yazılım iskeleti olarak bilinmektedir ancak yazılım çerçevesi ya da yazılım çatısı olarak da kabul edilmektedir. Bu frameworkler, en çok kullanılan fonksiyonların hazır olarak hizmete sunulduğu ancak programcı tarafından bu fonksiyonlardan arzu edilen kısımların ek kodlarla programcının istediği ve daha basit şekilde güncellenebildiği sistemlerdir. Framework aynı zamanda yapılan işlerin üzerinden zaman geçmesi, kodun unutulması durumunda yaşanacak sıkıntılara engel olmak için veritabanı işlemlerini, Controllerda genel mekaniği ve Viewda ise görünüm kodu içerdiği için müdahale edilmesi gereken yeri tam olarak kaydetmektedir ve bu sayede olası bir değişiklik yapılması durumunda programcı kolaylıkla problemin kaynağını bulabilmektedir.
En Çok Kullanılan Framework Çeşitleri Nelerdir?
Framework Nedir? sorusunun cevabı aslında her biri sistemsel olarak aynı olsalar da programdan programa yapısal olarak değişmektedir. Dört farklı Framework modülü sisteminde toplam 14 adet farklı framework modeli bulunmaktadır. Bunlar; PHP Framework için CakePHP, CodeIgniter, Horde, Laravel, Symfony, Yii, Zend, Zikula; Java Frameworkleri için Script ve Python Frameworkleri için Django ve Flask; JavaScript Frameworkleri için ise Angular.js, Express.js, Node.js, React.js'dir. Bu frameworklerin her biri farklı programlarda kullanılmaktadır. Örneğin Java Frameworkleri ile JavaScript Frameworkleri dahi farklılık göstermektedir.
Framework Nasıl Çalışır?
Yukarıda belirttiğimiz gibi Framework sayesinde programcı, herhangi bir iskeleti yeniden kodlamak ve bir işlemi tekrarlamak yerine, halihazırda bulunan uygulamanın geliştirilmesine odaklanabilir. Teknik açıdan framework içerisinde başka bir uygulamanın kullanım iznini yani Uygulama programlama arayüzü (API) içerir. Uygulama programlama arayüzü (API) sayesinde kaynak kodda izin verilen kodlara ve fonksiyonlara erişim sağlanır. Buna ek olarak Frameworkler, geliştirenlerin tarafından bir programlama dilinin kullanılarak yazıldığı kodu, bilgisayarın anlayabileceği makine diline yani 0 ve 1’li dile getirebilen ve bu kodları derleyen bir aracı da bünyesinde barındırabilir. Bir uygulamayı yapabilmek için kullanılan diller üzerinden oluşturulan bu frameworkler, hazırlanacak olan yazılımın içerisinde soyutlama adı verilen yüksek seviyeli bir kod kullanırlar. Frameworkler ile çalışmak çok basittir. Oldukça kolaylaştırılmış seviyede derlenen kodları barındırdıkları için herhangi bir ortamda kurularak kod yazmaya başlanabilir.
Farklı Frameworkler Var mıdır?
Saydığımız frameworklerin yanında bir de Microsoft tarafından piyasaya sunulan .Net Framework vardır. Bu framework, diğerleri ile aynı amaca hizmet eden bir yazılım geliştirme platformudur. Genel olarak Windows'a özel olarak piyasaya sürülen programlarda kullanılmakta olsa da tıpkı diğer Frameworkler gibi sıradan uygulamaların geliştirmesinde de kullanılabilir. Yani kısacası bu framework ile Windows Platformu’nda çalışabilen bütün uygulamalar geliştirilebilir. 2002 yılında ilk kez 1.0 sürümü ile çıkan .Net platformu bugün 4.8 sürümüne kadar geliştirilmiştir ve geliştirilmeye de devam edilmektedir. Bu platform ile beraber hem form hem de web tabanlı uygulamalar yapılabilmektedir. Ayrıca .Net platformu web servislerinin geliştirilmesinde de kullanılabilmektedir. Platform aynı zamanda Visual Basic, C, C++ ya da C# gibi farklı programlama dillerini de desteklemektedir. Bu sayede geliştiriciler, geliştirdikleri uygulama için gerekli yazılım dilini oldukça kolay bir şekilde belirleyebilir.