Yazılım Geliştirme: Günümüze tarihsel bir inceleme
Yazılım Geliştirme (SD), başlangıcından günümüze kadar belirleyici özelliklere sahip olmuştur. Başlangıçtan itibaren, Yazılım Geliştirme dünyası ikiye ayrılmıştır: Özgür ve Açık Kaynak Yazılım Geliştirme ve Tescilli ve Kapalı Kaynak Yazılım Geliştirme.
Ve tüm bunlar, her bir Dağıtılmış Yazılım dünyasında benzer türde yazılımlar üretme yarışını tetikledi ve sonunda çeşitli uygulama türlerine yol açtı. Böylece, Dağıtılmış Yazılım, ilk ve halen mevcut olan Sistem Yazılımı (SS), ardından Programlama Yazılımı (SP) ve son olarak Uygulama Yazılımı (AS) ortaya çıkardı. Ve bu son uygulamalar, geleneksel Yerel Uygulamalardan (yani, her İşletim Sistemine (OS) özgü ve kurulabilir olanlardan) İnternet üzerinden Blockchain üzerinde çalışan yenilikçi Dağıtılmış Uygulamalara kadar uzandı.

Yazılım
Temelde işletim sisteminin kendisi olan ve aygıt sürücülerini, sistem yardımcı programlarını ve bilgisayarın özelliklerinin özel kontrolü için kullanılan tüm araçları, yani bellek, diskler, portlar, aygıtlar ve çevre birimleri gibi donanım (HW) öğelerinin yönetimini kolaylaştıran tüm programları kapsayan SS'lerin doğuşuyla neredeyse aynı zamanda SP ve SA da doğdu.
Yazılım paketleri (SP'ler), programcıların farklı programlama dilleri ve/veya veritabanları kullanarak diğer bilgisayar programlarını geliştirmek için kullandıkları yazılım ürünlerini içerir. SP'ler genellikle metin editörleri, derleyiciler, yorumlayıcılar, bağlayıcılar ve hata ayıklayıcıları içerir. Ayrıca, yukarıda belirtilen tüm gerekli araçları tek bir ortamda (genellikle grafiksel kullanıcı arayüzü veya GUI) gruplandıran ve program geliştirme yaşam döngüsünün tamamını kapsayan yazılım paketleri olan Entegre Geliştirme Ortamlarını (IDE'ler) da içerirler.
SA kategorisi, son kullanıcıların bir görevi yerine getirmek için kullandığı yazılımları kapsar. SA genellikle ofis paketlerini, grafik tasarım veya multimedya yazılımlarını, muhasebe veya yönetim yazılımlarını içerir; bu, bu kategoride bulabileceğimiz tüm uygulama kategorilerinin sadece küçük bir bölümüdür. Bu nedenle, SA veya kısaca bir uygulama, şunlarla ilgilidir:
Bir son kullanıcının bir bilgisayar, dizüstü bilgisayar, tablet, cep telefonu veya diğer ekipman türleri veya teknolojik platformlarda farklı görevleri gerçekleştirmesine izin veren herhangi bir program.

uygulamaları
Bilgisayar teknolojisinin ilk dönemlerinde uygulamalar (uygulamalar), kullanım için kurulum gerektirmeleri ve yalnızca tek bir, belirli, yerel işletim sistemi içinde çalışabilmeleriyle karakterize ediliyordu. Ancak zamanla ve bilgisayar bilimi ve teknolojisindeki gelişmelerle birlikte uygulamalar evrim geçirerek taşınabilirlik, platformlar arası uyumluluk, modülerlik ve ölçeklenebilirlik gibi özellikler kazandı. Bu nedenle, bugün geleneksel yerel uygulamalardan yenilikçi dağıtılmış uygulamalara kadar birçok uygulama türü bulunmaktadır.
Ana Sayfa
Özellikle belirli bir işletim sistemi için, genellikle Yazılım Geliştirme Kiti (SDK) kullanılarak geliştirilen yerel uygulamalar, ilk oluşturulan uygulamalardır. Bu uygulamaların temel özelliği, cihazın veya platformun işlevleri ve özellikleriyle tam entegrasyonlarıdır ve bu da daha iyi bir kullanıcı deneyimi sağlar. Bu nedenle, yerel ortamlarında daha iyi görünür ve performans gösterirler, ayrıca daha sorunsuz ve güvenilir bir şekilde çalışırlar. Bununla birlikte, yerel işletim sisteminin her sürümü için yeni bir uygulama gerekiyorsa, genellikle daha yüksek bir geliştirme maliyetine sahiptirler.
Teknoloji ilerledikçe, Web Uygulamaları veya diğer adıyla WebApp'ler ortaya çıktı . Bunlar, bir internet tarayıcısı aracılığıyla bir web sayfası veya web sitesi içine gömülü olarak çalışan uygulamalardır. Bu nedenle, neredeyse her internet tarayıcısında ve her tür bilgisayar, cihaz veya platformda çalışabilirler. Ve web formatında yapılabilecek hemen hemen her şey, yüklenebilir yerel uygulama formatında da yapılabilir.
Hibrit uygulamalar, önceki iki yaklaşımın birleşiminden ortaya çıkmıştır. Bunlar, web uygulamalarına özgü diller kullanılarak geliştirilen, farklı platformlarda kullanılabilmelerine olanak tanıyan , ancak yerel uygulamaların bilgisayar, cihaz veya platformun donanım özelliklerinin büyük bir bölümüne erişebilme yeteneğine sahip uygulamalardır. Başka bir deyişle, web geliştirmenin çok yönlülüğünden ve yerel uygulamaların donanım uyumluluğundan tam olarak yararlanırlar.
Tanıt
Günümüzde, Aşamalı Web Uygulamaları (PWA'lar) geliştirilmektedir. Bunlar temelde, Servis Çalışanları ve diğer teknolojileri kullanan, Yerel Uygulamalara daha çok benzeyen ve Web Uygulamalarına daha az benzeyen web sayfalarıdır. Servis Çalışanları ve diğer teknolojiler arka planda çalışırken, uygulamanın kendisi web tarayıcısı içinde çalışır.
Son olarak, mevcut uygulamalar Dağıtılmış Uygulamalar veya diğer adıyla Merkezi Olmayan Uygulamalar (DApp'ler) formatına geçiş yapmaktadır. Bunlar, kullanıcıların hizmeti yöneten merkezi bir kuruluşun aracılığı olmadan doğrudan etkileşim kurmasına ve işlemler (anlaşmalar) gerçekleştirmesine olanak tanıyan bir blockchain platformu kullanan merkezi olmayan uygulamalardır. Sonuç olarak, bir DApp'te her kullanıcı, tüm düğümlerin platformda yapılan herhangi bir işlemin küresel noterliğini topluca üstlendiği merkezi olmayan bir ağda bir düğümdür.
Sonuç
Bilim ve teknolojinin tam kalbinde yer alan yazılım geliştirme dünyası sürekli olarak evrim geçiriyor ve ilerliyor. Bu nedenle, yüklenebilir yazılımlardan (yerel uygulamalar) birçok farklı uygulama türü ortaya çıktı (web, hibrit, aşamalı, dağıtık).
Mevcut formlar, kısa süre içinde yeni ve yenilikçi uygulama biçimlerine yerini bırakacak ve bu uygulamalar da Büyük Veri, Derin Öğrenme, Yapay Zeka gibi güncel ve değişen teknolojilerin yanı sıra Bulut Bilişim ve Blok Zinciri gibi hâlâ değişmekte olan teknolojilerin kullanımından etkilenecektir .