İçeriğe atla

Yazılım iskeleti

Yazılım iskeleti oluşturmada faydalanılan kütüphaneler. Python yazılım dili için örnekte olduğu gibidir.

Bilgisayar programlamada yazılım iskeleti, yazılım çerçevesi ya da yazılım çatısı (İngilizce software framework), standart (çok kullanılan) fonksiyonların hazır olarak sunulduğu ancak programcı tarafından bu fonksiyonlardan arzu edilen kısımların ek kodlarla istenildiği şekilde güncellenebildiği sistemlerdir.

Web uygulamaları geliştirmek için kullanılan bir yazılım küyüphanesi koleksiyonlarına PHP Framework[1] denir. PHP dilini daha organize, verimli ve sürdürülebilir hale getirmek için tasarlanmıştır. Framework'ler, geliştiricilere tekrarlayan görevlerden kaçınmalarını, kod tekrarını azaltmalarını, güvenlik sağlamalarını ve daha hızlı bir şekilde uygulamalar oluşturmalarını sağlar.

PHP framework'lerin temel amaçları şunlardır:

Organizasyon ve Yapı: Framework'ler, bir projenin bileşenlerini düzenlemek ve ayrı ayrı kolay düzenlemek için yapılar sağlar. Bu, kodun daha düzenli ve anlaşılır olmasına yardımcı olur.

Veritabanı Erişimi: Framework'ler, veritabanı işlemleri için kolay ve güvenli yöntemler sunar. Bu sayede SQL enjeksiyonu gibi güvenlik sorunlarının önüne geçilebilir.

Güvenlik Özellikleri: Framework'ler, yaygın güvenlik zafiyetlerine karşı koruma sağlamak amacıyla önceden uygulanmış güvenlik önlemleri sunar.

Kod Tekrarını Azaltma: Framework'ler, tekrarlayan kodu en aza indirgemeye yardımcı olan önceden tanımlanmış işlevleri ve bileşenleri içerir.

Hızlı Geliştirme: Hazır bileşenler ve özellikler sayesinde, framework kullanarak geliştirme sürecini hızlandırabilirsiniz.

Çözümler

Farklı programlama dilleri için farklı yazılım iskeleti (framework) çözümleri bulunmaktadır. Yaygın kullanılan Python Framework, PHP Framework, Java Framework, JavaScript Framework şunlardır:[2]

  • Django (Python)
  • Flask (Python)
  • TurboGears (Python)
  • PyTorch (Python)
  • Ruby on Rails (Ruby)
  • Garden (Ruby)
  • Spring (Java)
  • Play (Java)
  • Spark (Java)
  • Wicket (Java)
  • Javalin (Java)
  • Netty (Java)
  • Reactor (Java)
  • Laravel (PHP)
  • CakePHP (PHP)
  • Symfony (PHP)
  • Phalcon (PHP)
  • Yii (PHP)
  • Zend (PHP)
  • CodeIgniter (PHP)
  • ReactJS (JavaScript)
  • AngularJS (JavaScript)
  • React Native (JavaScript)
  • Vue (JavaScript)
  • Xamarin (C#)
  • ML.NET (C#)

Kaynakça

  1. ^ Pierce, Doug (6 Nisan 2023). "10 Best PHP Frameworks For Savvy Web Devs In 2023". Rollbar (İngilizce). 26 Ekim 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 19 Ağustos 2023. 
  2. ^ "Top 51 Software Development Frameworks For 2023". www.orientsoftware.com (İngilizce). 20 Ocak 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 20 Ağustos 2023. 

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">JavaScript</span> programlama dili

JavaScript, HTML ve CSS ile birlikte World Wide Web'in temel teknolojilerinden biri olan programlama dilidir. Web sitelerinin %97'sinden fazlası, web sayfası hareketleri için istemci tarafında JavaScript kullanırlar ve kullanılan kodlar genellikle üçüncü taraf kitaplıkları içerir. Tüm büyük web tarayıcılarında, kaynak kodunu kullanıcıların cihazlarında yürütebilmek için özel bir JavaScript motoru bulunur.

Python, nesne yönelimli, yorumlamalı, birimsel (modüler) ve etkileşimli yüksek seviyeli bir programlama dilidir.

Yorumlanan programlama dili bilgisayar programlamada yazılan programların çalışabilmeleri için kaynak kodlarının bir yorumlayıcı tarafından yorumlanması gerektiğini ifade etmektedir. "Interpreted programming language" olarak da geçmektedir.

<span class="mw-page-title-main">KDevelop</span>

KDevelop Linux ve diğer Unix benzeri işletim sistemleri için özgür bir tümleşik geliştirme ortamıdır (T.G.O). KDevelop bir derleyici içermez. Çalıştırılabilir kod üretebilmek için GCC veya istenirse başka bir derleyici kullanır. Şu anki 3.5 sürümü Ada, Bash, C, C++, Fortran, Java, Pascal, Perl, PHP, Python, Ruby ve SQL başta olmak üzere birçok programlama dilini destekler.

Betik dili, betik yorumlamak için yazılmış özel çalışma-zamanı sistemlerinin yorumlayabileceği programlama dilleridir. Diğer programlama dilleri ile yazılan kodlar makine koduna çevrilip çıkan program doğrudan çalıştırılırken betik kodları interpreter tarafından doğrudan okunur ve yorumlanarak işlemler yorumlayıcının kendisi tarafından yapılır.

<span class="mw-page-title-main">MIT Lisansı</span>

MIT Lisansı, 1988 yılında Massachusetts Teknoloji Enstitüsü tarafından hazırlanmış, en yaygın kullanılan özgür yazılım lisanslarından biridir.

<span class="mw-page-title-main">Geany</span>

Geany, Scintilla ve GTK+ tabanlı bir tümleşik geliştirme ortamı ve hafif bir metin düzenleme yazılımı. Genel Kamu Lisansı ile lisanslanmış bir özgür yazılımdır. Pek çok işletim sisteminde çalışabilen Geany'nin desteklediği diller arasında C, D, Java, JavaScript, PHP, HTML, CSS, Python, Perl, Pascal gibi diller vardır.

<span class="mw-page-title-main">Qt (çalışma alanı)</span>

Qt, birden çok platformu destekleyen bir grafiksel kullanıcı arayüzü geliştirme araç takımıdır. Genellikle GUI programları geliştirmek için kullanılsa da gelişmiş kütüphanesi GUI bileşenlerinin dışında birçok araç içermektedir. Qt, en çok KDE masaüstü ortamında, Opera ağ tarayıcısında ve Skype anlık mesajlaşma programlarında kullanılmasıyla bilinir.

CoffeeScript kaynaktan kaynağa derleme yapan ve JavaScript kodu üreten bir geliştirme aracıdır. Sözdizimi Python ve Ruby dillerine benzer, kod blokları girintiler ile ayrılır, JavaScript'in satır sonlarında noktalı virgül kullanma gibi yazım kurallarını da içermez, bu nedenle okunması kolaydır. Kullandığı bazı sözcükler ve yapılar sayesinde JavaScript ile uzun yazılabilecek ve okunaksız hale gelecek kodları neredeyse 3/1 oranında kısaltabilir ve kolay okunabilme imkânı sunar. Derleme işlemi çalışma zamanında değil geliştirme aşamasında yapıldığından tarayıcılarda performans kaybı söz konusu değildir.

jQuery, John Resig tarafından 2006 yılında geliştirilmiş ve şu an geniş bir jQuery ekibi tarafından gelişimi sürdürülen bir açık kaynak JavaScript kütüphanesidir.

<span class="mw-page-title-main">React</span> Kullacı arayüzleri oluşturmak için kullanılan JavaScript kütüphanesi

React, kullanıcı arayüzü oluşturmaya yarayan açık kaynak kodlu bir javascript kütüphanesidir. Facebook önderliğinde bir geliştirici grubu tarafından geliştirilmekte olan React, Model-View-Controller prensibine uygun olarak oluşturulmuştur. React ile single-page olarak adlandırılan sayfalar geliştirilebileceği gibi React-Native ile mobil uygulamalar da geliştirilebilir.

Dart, ilk kez Google tarafından geliştirilen ve daha sonraları ECMA tarafından standart (ECMA-408) haline getirilen açık kaynaklı ve genel-amaçlı bir programlama dilidir. Dart dili kullanılarak web, sunucu, mobil uygulamalar ve IoT cihazları geliştirilebilir.

<span class="mw-page-title-main">Ionic</span>

Ionic, mobil uygulamalar için HTML5 bazında hazırlanmış açık kaynak bir yazılım iskeletidir ve ön uç için yazılmış olduğundan kullanıcılara odaklanmıştır. Kullanıcı arayüzlerini konu alan Ionic, sezgisel kullanımı ve mobil uygulamanın kullanılabilirliğini düzeltmeyi hedefler. Yazılım çatısı, Angular.JS'le kullanılır ve mobil uygulamanın yapısını oluştururken Ionic look & feel'i ve performansını gerçekleştirir.

<span class="mw-page-title-main">Hızlandırılmış Mobil Sayfalar</span>

Hızlandırılmış mobil sayfalar açık kaynaklı bir kod yazılımı olup, interneti daha güzel bir yer haline getirmeyi amaçlamaktadır. Hızlandırılmış mobil sayfalar yapısı ile oluşturulan sayfaları yüksek performanslarla telefonlarda erişim imkânı tanımaktadır. Yüksek performans ve katılım ile kullanıcılara kaliteli internet deneyimi yaşatmak içi neredeyse sayfa yükleme oranlarını ortadan kaldırmaktadır. Mobil ve masaüstü uygulamalarında yüksek katılımlara ulaşmaktadır.

<span class="mw-page-title-main">Vue.js</span>

Vue.js kullanıcı arayüzleri ve tek sayfa uygulamalar inşa etmek için kullanılan açık kaynak Javascript iskeleti. 2013 yılında geliştirilmeye başlanan framework'ün güncel versiyonu 3.2'dir.

Windows Runtime, 2012 yılında ilk olarak Windows 8 ve Windows Server 2012'de tanıtılan platform tabanlı bir uygulama mimarisidir. WinRT, C++/WinRT, C ++/CX, JavaScript-TypeScript, yönetilen kod dilleri C Sharp ve Visual Basic .NET (VB.NET) 'in geliştirilmesini destekler. WinRT uygulamaları, hem x86 hem de ARM mimarisini doğal olarak destekler ve daha fazla güvenlik ve kararlılık sağlamak için sandbox ortamında çalışabilir. WinRT bileşenleri, yerel, yönetilen ve betik dilleri dahil olmak üzere birden fazla dil ve API arasında birlikte çalışabilirlikle tasarlanmıştır.

<span class="mw-page-title-main">Angular (Framework)</span>

Angular, web uygulamaları geliştirmek için kullanılan açık kaynak ve özgür yazılım bir framework'tür. Google tarafından geliştirilmiş ve desteklenmektedir. İlk olarak 2010 yılında AngularJS adıyla piyasaya sürülen framework, 2016 yılında Angular 2 olarak yeniden tasarlanmış ve bu sürümle birlikte daha modern bir mimariye geçiş yapılmıştır. Angular, özellikle dinamik ve tek sayfa uygulamaları (SPA) oluşturmak için tercih edilmektedir.

Bir web geliştiricisi, istemci-sunucu modeli kullanarak World Wide Web uygulamalarının geliştirilmesinde uzmanlaşmış veya özel olarak ilgilenen bir programcıdır. Uygulamalar genellikle istemcide, PHP, ASP'de HTML, CSS ve JavaScript kullanır. NET (C#), Python, Node.js, sunucuda Go veya Java ve istemci ile sunucu arasındaki iletişim için http bağlantılarını kullanmaktadır. Bir web içerik yönetim sistemi genellikle web uygulamalarını geliştirmek ve sürdürmek için kullanılır.

<span class="mw-page-title-main">Cloud9 IDE</span>

Cloud9 IDE, sürüm 2.0'dan sürüm 3.0'a kadar açık kaynak olarak yayınlanan bir Çevrimiçi IDE'dir. C, C++, PHP, Ruby, Perl, Python, Node.js ile JavaScript ve Go gibi birçok programlama dilini destekler.

Next.js, React tabanlı web uygulamaları için sunucu tarafında işleme ve statik web sitesi oluşturma sağlayan, Vercel tarafından oluşturulmuş açık kaynaklı bir Web geliştirme platformudur.