Ç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;
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ı yazılım teknolojilerinin dillerinden bir kaçını sayacak olursak;
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.
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.
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:
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.
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.
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.
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.
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.
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.