Web Tabanlı Yazılım

Codeliva Blog > Web Tabanlı Yazılım
26 Şubat 2021

Web Tabanlı Yazılım Kullanmanın Faydaları
Web alanında gelişmekte olan teknolojiler, büyük, küçük ve orta ölçekli işletmeler için, özellikle COVID-19 virüsünün başladığı kriz ortamlarında yeni fırsatlar doğurmuştur.

Çinin Vuhan kentinde ilk defa ortaya çıkan korana virüs zamanla tüm dünyayı etkisi altına alarak ekonomik krize zemin hazırlamıştır. Zamanla tüm dünyayı yayılan virüs ekonomik sorunlar başta olmak üzere sağlık alanlarını da olumsuz olarak etkilemiştir. Hastalık ve doğal afetler gibi öngörülemeyen tehlikelerde geleceğini düşünen işletmeler kriz ortamlarından faydalanır. Dijital dönüşümü yakalamış birçok işletme günümüzde yaşanan virüs ortamından en az etkilenenlerden olmuştur. İşletmeler dijital modele geçtiklerinde yalnızca virüs değil, yer ve zaman gibi birçok faktörü de avantaja çevirmiştir.

Online işlemleri ile internete geçiş, işletmeler için yalnızca bir aşamadır ancak tam anlamıyla bir başarı değildir. Başarı sadık kullanıcılar sayesinde kazanılır. Sadık kullanıcıları da konfor ve zihin yormayan uygulamalar getirir. Kullanıcıların en çokta cep telefonu ve tablet gibi taşınabilir cihazlarla konforuna ne derece düşkün olduğunu göz önüne alacak olursak uygulamalar içi uyum olmazsa olmazlardandır.

Sadık kullanıcı elde etmek içi yukarıda saydığımızı ve sayamadığımız birçok etken, masaüstü yazılım paketlerine kıyasla web tabanlı oluşturulan yazılımlar işletmeler, personel gibi nice kullanıcı içinde fayda sağlar. Web tabanlı yazılımların beraberinde getirdiği çözümleri açacak olursak;

  • İnternet bağlantısının olduğu ev, işyeri gibi tüm mekanlardan erişim ve çalışma fırsatı sağlar.
  • Akıllı telefon, tablet, notebook gibi birçok kolay ve taşınabilir çeşitli cihazlardan erişim daha da kolaylaşır.
  • Dağıtım, bakım ve güncelleme işlemleri kolaydır.

WEB YAZILIM NEDİR?
Web yazılım, bilgisayar sunucuları üzerinde işlenebilen, bilgisayar donanımları dışındaki yazılımsal olarak ifade edilen tüm materyal ve içeriklere verilen addır. Web tabanlı yazılım ya da web tabanlı uygulamalar bir sunucuda çalışır. Kullanıcılar, internet bağlantısı ile tarayıcılar üzerinden bu uygulamaları kullanır.

Web tabanlı yazılımlarda kullanıcılar için benzer ihtiyaçların olduğu şekillerde kullanılır. Örneğin e-posta, sosyal medyalar, online e-ticaret mağazaları tüketici ve işletmeler açısından kullanım alanları geniştir.

Web siteleri genel olarak, kullanıcı arayüzü ve kullanıcı deneyimi olarak iki şekilde oluşur. Web yazılım aşamasında; User Interface (kullanıcı arayüzü) ile kullanıcıları ilgilendiren dikkat çekici ve şık görünümler yazılım öncesi tasarım aşamasında gerçekleştirilir. User Experience (kullanıcı deneyimi) ise, oluşturulan tasarımların bilgisayar ortamına HTML kodları ile aktarılmasını sağlayan ve yalnızca yazılımcıyı ilgilendiren kısımdır.

Kullanıcılar Google, Yandex, Explorer, Mozilla gibi tarayıcılar üzerinden web sitelerine ulaşır, veri alışverişinde bulunurlar.

Web Tabanlı Teknolojik Yazılımlar
Web yazılım uygulamalarını geliştirmek için birçok yazılım dili ve teknolojileri bilmek önemlidir. Tarayıcılar üzerinden aratılan; Konya web yazılım firmaları, Konya web yazılım uzmanı, Konya yazılım şirketleri, Konya yazılım mühendisliği ya da Konya yazılım gibi kelime grupları içerisinden güncelliği kendisine ilke edinmiş Konya Codeliva Yazılım & Dijital Dönüşüm ile harekete geçmek üreticilerin geleceği için iyi bir yatırım olacaktır.

Web tabanlı yazılım teknolojilerinin dillerinden bir kaçını sayacak olursak;

  • ASP.NET
  • JAVA
  • PHP
  • PYTHON

Web Tabanlı Yazılımlar Normal Yazılımlara Göre Daha Kullanışlıdır.
Web tabanlı yazılımlarda teknik aksaklıklar meydana gelmez. Aksilikler için ayrılacak süreyi web tabanlı bir yazılımla işinize ayırabilirsiniz. Güvenli olan bu yazılım türü saklama, güncelleme açısından da oldukça iyi bir performans sergiler.

Güncel olmayan yazılımlar ile çalışmak geleneksel metotları uygulamayı gerektirir. Örneğin, geleneksel masaüstü bir yazılım kullanırken verileri kaydetmek gerekir ve bilgisayar, sabit disk gibi birçok teknolojiye ihtiyaç vardır. Ekstra maliyet gerektiren bu geleneksel yöntem bozulma, çalınma veya güvenlik gibi tehlikeleri de beraberinde getirir. Web tabanlı bir yazılım kullanılırken, veriler korunur. Ekstra yedekleme ve güncelleme gerektirmez. Bunların hepsini kendisi yaparken, veriler kurumsal sınıf sunucularında saklanır ve korunur.

Web Uygulaması İle Ne Yapılır?
Bir işletmedeki yöneticiler için yarar sağlayan web tabanlı uygulamaların sağlayacağı faydalar:

  • Performans kayıtlarını izlemek bireysel çalışanların takibini kolaylaştırır.
  • Taşımacılıktaki aksaklıkları önlemeye yarar.
  • Finansal süreçler takip edilir.
  • Bordro, puantaj gibi çalışanların düzenli takibi sağlanır.
  • İş akışlarını denetlemeye yarar ve projelerin bireysel ya da grupsal yönetimini sağlar./li>

Tüm bu işlemler bir sunucu üzerinde çalıştırılan web uygulaması ile yapılabilir. Web tabanlı uygulamalar kodlanırken birden fazla programlama dili ve çeşitli teknoloji kullanılabilir. Günümüzde web tabanlı uygulamaları evrensel boyutta çapraz platform çözümlerinden biri haline getiren, işletim sistemi ne olursa olsun, istemcinin her tarayıcıda çalışabiliyor olmasıdır.

Web Tabanlı Kodlanmış Uygulamalara Örnekler
Günümüzde birçok platformda farkında olarak ya da olmayarak web tabanlı uygulamaları kullanıyor olabiliriz. Web uygulamaları kullanım olarak farklı senaryolarda kodlanmıştır. Bazıları çok basit olabilirken bazıları masaüstü görünümü aratmayacak düzeyde karmaşık olabilir. Ara yüzü birçok cihazda masaüstü görünüme sahip uygulamaları örneklersek:

  • Konaklamak istenen mekanlar, ulaşım sağlayan biletler ve diğer birçok şekilde hizmet sağlayan online rezervasyon hizmetleri,
  • Ödeme işlemleri,
  • Kayıt olunduktan sonra hizmet sağlayabilen etkileşimli uygulamalar,
  • CRM (büyük veriler ve birçok projeyi barındıran) sistemleri.

Karmaşık gibi görünün web uygulamaları içerisinde barındırdığı birçok veri kaynağıyla çalışırken birçok işlemi gerçekleştirir. Basit görünümlü web uygulamaları ise doğrudan işlemi gerçekleştirmeye odaklanır. Basit web tabanlı yazılımları örnekleyebileceğimiz birkaç fikir:

  • Vadesi belirlenmiş kredilerin ödeme planları
  • Anlık döviz kurları
  • Anketler
  • Renk skalaları belirlemek

Web Tabanlı Uygulama Kullanan İşletmelerin Avantajları
Geleneksel masaüstü uygulamalara göre web tabanlı uygulamaların işletmeler için birden fazla avantajı mevcuttur. Ek bir yazılım yüklemeye gerek kalmadan, web tabanlı uygulamaların en kullanışlı yanı taşınabilir olmasıdır. Web tabanlı uygulamaları maddeleyecek olursak:

  • Platformlar arası evrensel olarak erişilebilir olmasıdır.
    Web tabanlı uygulamalarda, internet bağlantısına sahip erişilebilirliği olan tüm cihazlardan istenen yer ve zamanda ulaşılabilir.

  • Yazılım geliştirme için uygun bütçe belirlenebilir.
    Web tabanlı uygulamalar birçok işletim sistemini destekleyebileceği tüm platformlarda çalışabilir. Bunun için ekstra bir ücret ayırmak gerekmez. Tüm cihazlara uygun responsive tasarımlar sayesinde ikinci bir bütçe ayırmaya gerek kalmaz.

  • Web tabanlı uygulamalar ölçeklenebilir.
    Web tabanlı uygulamalar yüklenme ve yapılandırma gerektirmediğinden aktif kullanıcı sayısında artış sağlar. Aynı anda gösterilen taleplerde oldukça iyi bir performans sergiler. Bu nedenle, kullanıcı ağını genişletmek için ekstra bir yazılım yapmaya veya mevcut yazılım değiştirmeye gerek yoktur.

  • Verileri depolamada güçlü sunucu avantaj sağlar.
    Masaüstü uygulamaları veri tabanında veriler depolanır. Bu verilerin dağınık halde olma olasılığı yüksektir. İlk etapta bu büyük bir sorun teşkil etmese de aynı anda birçok kaynağın veri talep etmesi üzerine yazılım performansı düşebilir. Ayrıca birçok farklı cihazdan erişim sağlanıp işlem yapılması üzerine, işletim sistemi hata verebilir.

    Web tabanlı yapılacak bir uygulama ile kullanıcı verileri bulutta depolanır. Bilgi yönetme ve kullanıcıya dağıtma hızlanır. Tüm bu sorunlar web tabanlı uygulama için sağlanan güçlü bir sunucu ile giderilir. Verileri sabit disklere tek tek depolamaktan daha güvenli olan sunucular, arıza ve yok olma risklerini ortadan kaldırıp en aza indirir.

  • Gelişmiş ve Güvenlidir.
    Verilerin saklanıp korunması işletmeler için özel bir durumdur. Tam yetkili bir sunucuda, 7/24 şifrelerin korunması, yedeklenmesi ve otomatik olarak güncellenmesi gerekir. Kişiye özel kullanıcı adı, şifreler ve doğrulamalar güvenlik için örnek gösterebilir.

    Web tabanlı yazılımlarda, veri yedekleme, saklama ve güncelleme konusunda birçok cihaza ihtiyaç kalmaz. Güvenlik açıkları olmadan düzenli hareket eden web yazılımlar yalnızca bir sunucuda saklanır. Sunucular ise yetkin ve donanımlı kişilerin öncülüğünde takip edilmelidir.

    Profesyonel web yöneticileri tarafından devamlı denetlenen ve özel sunucularla çalışan web uygulamaları, olası hataları ya da izinsiz girişleri önler. Problemleri hızlı bir şekilde ele alarak değerlendirir. Masaüstü analoglara göre daha güvenlidir.

  • Esnek İnternet
    Web tabanlı uygulamalar ile internet bağlantısının olduğu her an ve her yerde erişim sağlanır. Geleneksel masa, sandalye, ofis ortamına bağlılık azalır. Taşınabilir cihaz teknolojileri aracılığıyla ofis kullanıcıların gittiği her yerde olur. İnternet ve cihazların yaygınlaşması kısacası teknolojinin gelişimi web tabanlı uygulamaların önemini artırmıştır.

  • Hızlı, bütçe dostu ve dağıtımı kolay ve hızlıdır.
    Bilgisayarlara yeni bir yazılım yükleme gerektirmeyen web tabanlı uygulamalar, işletmeler için bütçe dostudur. Geleneksel masaüstü yazılımlarıyla kodlanan siteyi kullanan personel ya da müşteriler web tabanlı uygulamaya geçiş yaptıklarında aynı konforu yaşamaya devam ederler. Web tabanlı uygulamada yalnızca yeni sunucuya erişebilmek yeterli olur.

  • Güncelleme ve bakım işlemleri kolaydır.
    Web tabanlı uygulamaya büyük güncellemeler yapılması gerektiğinde istemciler için yeni yazılımlara ihtiyaç kalmaz. Yazılım komple değiştirmek istendiği zaman sunuculara erişimde aksaklıklar yaşanmaz. Cihazlara göre değişiklik gerektirmeyen bu avantaj, aktif ve dinamik işletmeler için zaman ve maliyet tasarrufu sağlar. Web tabanlı yazılımlarda kullanım verimliliğinin yanında maliyetli bakım anlaşmalarının olmaması yöneticilerin işine odaklanıp zamanı daha verimli kullanmalarına olanak tanır.

    Kısacası;

    Web tabanlı uygulamaların en önemli avantajı, geleneksel masaüstü programlarındaki kişisel işletim sistemlerine ihtiyaç duymadan birçok farklı cihaz ve işletim sisteminden erişilebiliyor oluşudur. Web tabanlı uygulamalar ile işletmeler çeşitli işlemi optimize ederken, sayısız sorunu çözüme kavuşturabilir. Sunduğu alternatifleri, çeşitli ve yüksek işlevli birçok araç ile benzersiz bir şekilde gerçekleştirir.

    Web tabanlı uygulamaları tercih eden birçok ulustan küçük-orta veya büyük ölçekli işletmeler popülerliği yakalamıştır. İşletmelerin geleceği için yapılan bu yatırımın şirketin devamlılığına önemli düzeyde katkı sağlar.

Web Tabanlı Uygulamalar Web Sitelerine Göre Nasıl Çalışır?
Web sunucuları üzerinden çalışan web uygulamaları, basit web siteleri ile kıyaslandığında masaüstü görünüme sahip işlevsellik sağlamasıdır. Web uygulamaları sabit bir disk, flash sürücüleri, bilgisayar gibi bağlılıkları yoktur. Masaüstü deneyimini istenilen platformda yaşatmanın yanında barındırdığı fonksiyonlar sayesinde iyi bir kullanıcı deneyimi yakalar.

Geleneksel Masaüstü yazılımlar, siber saldırılara açıktır. Veri güvenliği, güncelliği koruma, uyumluluk gibi birtakım sorunları kullanımı etkileyeceğinden sürdürülebilirliği azaltır. Kullanıcı bu sorunlarla karşılaştığında tıklanma oranını etkileyerek site trafiğini düşürür. Trafik sorunu ise işletmelerin sanal ekonomisini olumsuz etkiler.

Web uygulamaları, JavaScript, CSS ve HTML gibi tarayıcı dilleriyle kodlanır. Bazı uygulamalar, sunucu taraflı işlemlerden dolayı dinamizm gerekirken, bazıları statik olarak herhangi bir işleme ihtiyaç duymaz.

Web uygulamaları ve web sitelerine tarayıcılar üzerinden (Chrome, Firefox, Microsoft Edge, Safari gibi) erişim sağlanır. Kullanıcılar web uygulamalarını kullanarak veriler ile etkileşim sağlarken onları oluşturabilir ya da değiştirebilir. Facebook, Twitter, Gmail ve Amazon gibi uygulamalar bu etkileşimlere örnek gösterilebilir. Web siteleri ise kurumsal markalar, yerel işletmeler, bloglar için başlangıç açılış sayfalarıdır. Günümüzde bu tip sitelerin açılış sayfalarına bağlı olarak çalışabilen web uygulamaları bulunmaktadır.

Web uygulamaları için gerekenler ise;

  • Gelen istemci isteklerini yönetebilmek için web sunucuya,
  • İstemcinin istediği görevleri yerine getirebilmek için uygulama sunucusuna,
  • Elde edilen bilgileri kaydetmek için ise veri tabanına ihtiyacı vardır.

Web Tabanlı Uygulamalarda Akış Görünümü Sırasıyla;

  • Kullanıcılar internet üzerinden, web tarayıcısı üzerinden ya da uygulama arayüzünden web sunucularına isteklerini tetikler,
  • Web sunucuları gönderilen isteği web uygulama sunucusuna gönderir,
  • Web uygulama sunucusu, önce veri tabanını sorgulama, veri işleme görevlerini yerine getirdikten sonra gönderilen isteğin sonuçlarını sunar,
  • Web uygulama sunucusu, web sunucusuna istenen sonucu topladığı veriler doğrultusunda iletir,
  • Web sunucusu ise kullanıcının talep ettiği isteği, web uygulama sunucusundan topladığı bilgiler ile istemciye iletir.

Web Tabanlı Uygulamalar Mobil Uygulamalara Göre Nasıl Çalışır?
Web tabanlı uygulamalar, mobil uygulamalar ile aralarında benzer yazılımlara sahiptir. Ancak aralarında birtakım farklılıklar mevcuttur.

Mobil uygulamalar yalnızca mobil cihazlara özel bir tasarım ve yazılıma sahiptir. Mobil uygulamaları kullanabilmek için cihazın mağazasından indirmek gerekir. Android, İOS gibi işletim sistemleri cihazdan cihaza farklılık gösterir. Mobil uygulamaların ise her iki işletim sistemine uygun yazılımlar ile yapılması gerekir.

Web uygulamaları için böyle bir durum gerekmez. Web tabanlı bir uygulamayı kullanabilmek için yalnızca internet bağlantısı yeterlidir. Web uygulamaları, CPU kaynaklı web tarayıcıları üzerinden eş zamanlı olarak çalıştırılır.

Progressive Web Apps (PWA) Nedir?
Özel bir kodlama gerektiren bu tip uygulamalar, web sitelerinin mobil uygulamalar gibi bir deneyim yaşatmasıdır. Üst düzey web uygulaması olarak da bilinen Progressive Web, mobil uygulama ve web sitelerinin hibrit olarak gelişimi olarak nitelendirilir.

Mobil uygulamalar indirilirken bazen cihazlar yeterli hafızaya sahip olmayabilir. Progressive Web App uygulamaları ile oluşturulacak siteler kullanıcılar açısından, görünüm, kullanım gibi birçok faktörü mobil uygulamadaki gibi eş düzeyde gerçekleştirir. Mobil tarayıcılar üzerinden ziyaret edilen bir Progressive Web Uygulaması ile kullanıcılar bir web sitesi değil de mobil uygulama kullanıyormuş gibi hisseder.

PWA İle İleri Düzey Yazılım Geliştirme
İleri düzey yazılım geliştirme metotları içeren PWA, web uygulamaları (web siteleri) ile mobil uygulamaların karışımı olarak görülür. PWA ile geliştirilen web uygulamaları modern tarayıcılar aracılığıyla çalışırken kullanıcıya iyi bir mobil uygulama deneyimi yaşatmayı amaçlar.

Uygulama kullanılırken tıpkı mobil uygulamalarda olduğu gibi App Store/ Play Store üzerinden indirilir gibi davranılmalıdır. Normal bir tarayıcı üzerinden açılan PWA “Ana Sayfaya Ekle” seçeneğiyle kullanıcı taraflı çalışır hale getirilir. Ana sayfadan uygulama açıldığında tarayıcıdaki UI ögelerini gizleyerek mobil uygulama gibi davranır.

Örneğin, internet bağlantısı olmadığında whatsapp üzerindeki eski yazışmalar kontrol edilir ve ya yeni mesaj gönderilebilir. İnternet bağlantısı olduğunda etkileşim aktif hale gelir ve yazılan mesajlar karşı tarafa iletilir. PWA tam olarak bunu sağlar. İnternetin olmadığı anlarda bile yüklemesini önceden sağladığı için native bir mobil uygulama hissi verir.

Progressive Web App Neden Önemlidir?

  • Aşamalı olarak her kullanıcı çalıştırabilir.
  • Kurulum gerektirmez.
  • Masaüstü, mobil gibi tüm platformlarda çalışabilen esnek teknolojidir.
  • Düşük bağlantı hızına ya da çevrimdışı durumlarda bağlantıdan bağımsız kullanılabilir.
  • Service Worker teknoloji harikası ile sürekli güncelliğini korur.
  • W3C standartlarına uygun arama motorlarında keşfedilebilir.
  • Push bildirimleri özelliği ile etkileşim kolay olur.
  • Bir uygulama mağazasına gerek kalmadan ana ekrana yüklenebilir.
  • Kurulum gerektirmeyen uygulama URL’si arkadaşlar arası paylaşma olanak tanır.
  • Güvenli etkileşim ortamı sunar.
  • Güncel mobil tarayıcı gerektirir.
  • Bütçe dostudur.
  • Zamandan tasarruf sağlar.
  • Hızlı veri alışverişi gerçekleştirir.
  • Çok çeşitli ekran boyutlarına uyumlu ölçeklenir.
  • Başlangıç ekranı ekleme özelliği vardır.
  • Kullanıcı dostudur.

PWA’nın Teknik Unsurları
PWA’nın oluşumu için gerekli ögeler birlikte çalıştıklarında harika sonuçlar doğurur. PWA geliştirme için gereken elemanlar, Service Worker, Manifest.json Dosyaları ve HTTPS’dir.

Service Worker
Web uygulamalarının internete doğrudan erişimini sağlayan uygulamalardır. Network olmayan durumlarda internet bağlantısı yok hatası verir.

Bu işlemin entegrasyon aşamasında Service Worker, wen kaynaklarını tarayıcıdaki cache alanında kayıt altına alır. Kullanıcı uygulamayı açıp kullanmaya başladığında Service Worker internetin olup olmadığını kontrol etmeden önce tarayıcı cache kontrolünü gerçekleştirir ve kullanıcıya dönüş yaparak cevap verir.

Proyx’ye benzer şekilde çalışan Service Worker aslında JavaScript kodudur. Uygulama geliştirici ortaya çıkardığı uygulamalarda tam yetkiye sahiptir.

Manifest Dosyası
JSON formatlı bir dosya olan Manifest içinde uygulama bilgilerini barındırır. Manifest dosyası, uygulama adı, arka plan fontu, renk ve tema gibi özellikleri belirlemeye yardımcı olur.

HTTPS
PWA için gerekli olan güvenlik protokolünü destekler. Açıklayacak olursak, Service Worker aldığı internet talepleri üzerine cevaplar verir. İstemci kısmında gerçekleştirdiği bu işlemler için gereken güvenlik protokolü HTTPS tarafından gerçekleşir.

PWA Uygulamalarında Kullanılan Programlama Dili

  • JavaScript
  • JSON