İçeriğe atla

İleri web uygulaması

İleri web uygulaması (İngilizce: Progressive web app), yeni bir yazılım geliştirme metodolojisini ifade etmek için kullanılır. Geleneksel uygulamalar dışında, İleri Web Uygulaması bilinen web sitelerinin ve mobil uygulamaların hibrit halde geliştirilmesi olarak değerlendirilebilir. Bu yeni uygulama yaşam-döngüsü çeşitli özellikleri bir araya getirir ve en modern tarayıcılar tarafından desteklenerek mobil tecrübenin faydalarını kullanıcılara sunabilmektedir.[1][2]

Genel bakış

2005 yılından bu yana internet, statik web sitelerinden dinamik web sayfalarına Ajax teknolojisi ve responsive web tasarımları sayesinde hızlı bir şekilde gelişti.

Dinamik ve Responsive Web

Web geliştirme teknolojileri statik HTML dokümanlarından dinamik PHP, ASP.NET, Ajax ve çeşitli sunucu ve istemli cihaz bazlı dillere ve kodlara kaydı.

Son olarak, İleri Web Uygulamaları, HTML5, CSS3 ve JavaScript'in yenilikçi özelliklerinin tanıtılması sayesinde gelişti. Markup(işaretleme dili), styling sheets ve script'lerin bu güçlü birleşimi sayfa unsurları ile kullanıcı etkileşimini, Macromedia Flash olmadan video oynatımına ve oyunların oynanmasına imkân sağladı. (Tüm bunlar sunucuda değil, istemci cihaz üzerinde gerçekleşmektedir.) Yakın zamanda yayınlanan CSS3 ve JavaScript altyapısı tasarım modellerini ve felsefesini değiştirdi; kutu modelini(box model) grids ve flex'ler takip etti, bunları translations, transformations, animasyonlar eşlik etti. Style still'e yeni yaklaşımı internetin sanal katmanını tanımladı.

İnternet tarayıcıları

Bu değişikliklerin hiçbiri bilinen web tecrübesini ciddi şekilde değiştirmeyecektir.

Mobil cihazlar

2007 yılında Apple iPhone piyasaya sundu. Bu cihaz ilk tamamıyla fonksiyonel dokunmatik tecrübeli akıllı telefondu. Web'te gezinti yapma imkânı veren bununla birlikte geniş çeşitlilikte native uygulama kullanıma izin veren, fiyatı makul, kullanışlı bir cihaz fikri hızlıca yayıldı.

Mobil Kullanıcı Tecrübesinin Yükselişi

Uygulamaların popülaritesinin arakasındaki en önemli sebeplerden birisi daha iyi bir kullanıcı tecrübesidir. Native uygulamalar paket bir yapı olarak çalışırken geleneksel web uygulamaları gerçek zamanlı tarayıcıya yüklenir. Tarayıcı ayrıca bir soyutlayıcı olarak sistem donanımı ile web uygulaması arasında yer alır. Paketleniş kaynaklar ve direkt donanıma bağlanma yeteneği native uygulamaların daha performanslı çalışmasını sağlar.

Bir diğer uygulama kategorisi hibrit uygulama olarak adlandırılır, native uygulama özellikleri ile web uygulamaları özellikleri arasında yer alır.

Hibrit uygulamalar native mobil karakteristikliğini sergiler ve Uygulama Mağazalarından indirilmesi, kurulması ve mobil cihazın kısıtlı hafızasının bir kısmını tüketmesini gerektirir. Aynı zamanda mobil cihazın ana ekranında gözükürler.

Hibrit uygulamaların bir kısmı, mobil tarayıcılarda çalışsalarda bir şekilde web'in paylaşılan prensiplerini sağlamazlar:

  • URL'leri yoktur yani bağlanılabilir değildir. Eğer web üzerinden bağlanılamıyorsa, web'in bir parçası olamazlar.
  • Markup ve styling yapıları arama motorları tarafından bağlanılabilir değildir.
  • Kullanıcı arayüzü zenginliği ve sistem yetenekleri ek fonksiyonel çekirdek vasıtasıyla farklıdır.
  • Doğası gereği açık kaynaklı olan web'e karşı hibrit uygulamaların kodlarına erişilmez.

İleri Web Uygulamaları

2015 yılında, Google'da Chrome Blink üzerine çalışan bir web developer olan Alex Russell, bir websiteyi çevrimdışı(offline) modda, istenilen kişiselleştirme yeteneğine sahip ve dokunma tecrübesi ile çalışıyor haldeki bir mobil uygulamaya dönüştürdü.

Alex, Uygulama mağazalarındaki web uygulamalarının paketleme ve yayınlama süreçini, web sitesini doğru içerik ile mobil yetenekli web uygulaması haline dönüştürerek ortadan kaldırdı. Yapıya yeni özellikleri devamlı ekleyerek geliştirmesini sürdürdü, bunlardan bazıları kişiselleştirme, ana sayfaya konumlandırma, bildirimler yetisi, çevrimdışı(offline) çalışma yapısı ve dokunma teknolojisi desteği gibi.

Bu sayede, geleneksel web uygulamalarının ve bununla birlikte çoklu platform(cross-platform) mobil uygulamaların sahip oldukları kısıtlamaları bir bir bu geliştirmeyi websitesi üzerinde geliştirerek aştır.

İleri web uygulamaları, web teknolojisi avantajları ile mobil native uygulama kullanıcı tecrübesini birleştirmek adına yeni bir trend ve umut oldu.

Karakteristiği

Google geliştiricilerine göre ileri web uygulamaları:

  • Progressive - Tarayıcının ne olduğu önemli olmadan tüm kullanıcılarda çalışır.
  • Responsive - Tüm formlara uygundur: Masaüstü, mobil, tablet ve kullanılacak yeni formlarda.
  • Bağlantı bağımsız(Connectivity independent) - Çevrimdışı modda ya da düşük kaliteli network'te çalışılabilirlik.
  • Native görünümü(App-like) - Native mobil uygulama gibi gözüken web uygulamaları üretmesi.
  • Güncel - Service worker yapısı sayesinde her zaman güncellenir.
  • Güvenilir - HTTPS üzerinden hizmet verdiği için verinin gözlemlenmesi ya da bozulmasına izin vermez.
  • Keşfedilebilir - W3C manifest yapısı sayesinde uygulama olarak tanımlanabilme özelliği vardır. Service worker kayıt olma yapısı arama motorlarının onları bulmasına izin verir.
  • Tekrar ulaşılabilir (Re-engageable) - Müşteri ile etkileşim mobil uygulama bildirimleri(push notification) desteği sayesinde mümkündür.
  • Kurulabilir - Uygulama Mağazalarının yükleme ve kullanım zorluğu olmadan direkt ana sayfada uygulamanın yer almasını sağlanır.
  • Bağlanılabilir - Karmaşık yükleme süreçi olmadan basit bir şekilde URL ile paylaşılabilirliği.

Teknolojisi

İleri web uygulamaları konsepti, web ve mobil yazılım geliştirme teknolojilerinin gelişiminin ortaya çıkardığı bir sonuç olması sebebi ile birkaç teknolojiyi kapsar:

  1. HTML5, CSS3, JavaScript, Media Queries ve jQuery Responsive Web Tasarımı teknolojileri
  2. Transport Layer Security (TLS) ile üst düzey güvenlik
  3. Web Manifest ya da Extensible Web Manifesto teknolojisi native uygulama tecrübesi üretmek için
  4. Servis workers çevrimdışı modda arka plan kodlarının işlenmesi için
  5. Application Shell Architecture içeriğin dinamik yüklenmesi ve hızlı bir şekilde uygulamanın yüklenmesi için

Manifest

W3C'nin JSON tabanlı bir tanımlamasıdır. Geliştiricilere web uygulaması ile ilgili metadata'ları koyabildiği merkezi bir yer oluşturur. Şunları içerir:

  • Web uygulamasının ismi
  • Web uygulaması iconları ve resim objeleri linkleri
  • Web uygulamasını açmak ve başlatmak için tercih edilen URL bilgisi
  • Web uygulamasının bir dizi karakteristikliği için konfigürasyon verileri
  • Varsayılan web uygulaması oryantasyon(orientation) tanımlaması
  • Tam ekran gibi görünüş modunun tanımlanması

Geliştiriciler web manifest dosyasındaki metadalar değiştirilerek uç kullanıcı arayüzünde kusursuz native uygulama tecrübesini İleri Web Uygulaması(Progressive Web App) sayesinde elde edebilmektedir.

Service Workers

Native uygulamalar, kullanıcı tecrübesi daha zengin ve performanslı çalışırlar. Bunun sebebi gerekli olan içeriğin, bileşenlerin ve kaynakların uygulamanın Uygulama Mağazalarından indirilme süresince cihazın hafızasına konumlandırılmış olmasıdır.

Buna karşın, geleneksel web uygulamaları güvenilmez web bağlantı hızları ve yükleme kısıtları sebebi ile problem yaşar. Tüm bunların üzerinden gelebilmek amacıyla Service Worker yapısı Web Worker yapısı gözetilerek tasarlandı ve kusursuz yükleme tecrübesini sunmaktadır.

Teknik olarak, Servis Worker web tarayıcılarında HTTP ve web taleplerini programlı bir şekilde yönetebilmek amacıyla kodlanabilir vekil(proxy) bir network yapısı sunmaktadır. Service Worker network ile cihazın arasında yer alır ve içeriğin taşınmasını sağlar. Cache'leme mekanizmasını verimli ve hatasız bir şekilde çevrimdışı modda sunabilme yeteneğine sahiptir.

Uygulama Kabuk Mimarisi(Application Shell Architecture)

Uygulamanın arayüzlerinin ve içeriğinin hızlı bir şekilde yüklenmesi amacıyla servis worker responsive web uygulamasının basit kullanıcı arayüzlerini saklar. Bahsedilen basit kullanıcı arayüzleri terimi uygulamanın kabuğu(shell) olarak ifade edilir.

Bu kabuk başlangıç statik çerçevesini(frame), sayfa düzenini ya da içeriğin adım adım ve bununla birlikte dinamik bir şekilde yüklenmesini sağlayan bir mimari sağlar. Teknik olarak, kabuk paketlenmiş bir koddur ve mobil cihazın tarayıcısının cache'inde tutulur. Bu sebeple, farklı bağlantı hızlarında uygulamanın içeriği yüklenme sırasında kabuk yapı kullanıcı ile ilk etkileşimi yapar. Kullanıcı boş bir ekranın yüklenmesini beklemeden ilk etkileşim olarak bir ekran ile karşılaşmış olur.

Bu tip web uygulamalarının en büyük güçü kullanıcıya sağlam bir mobil tecrübeyi harika bir web teknolojisi ile kullandırmasıdır.

Bu tip web uygulamaları henüz sadece Chrome tarayıcıları tarafından desteklenmektedir. Ancak yakın gelecekte tüm tarayıcılar tarafından desteklenebilir.

Kaynakça

  1. ^ ardalis. "Ortak istemci tarafı web teknolojileri". docs.microsoft.com. 25 Mart 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 3 Mart 2021. 
  2. ^ "Arşivlenmiş kopya". 25 Mart 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 3 Mart 2021. 
Bu makalenin çoğu Wikipedia'nın Progressive Web App İngilizce makalesinden 9 Ocak 2017 tarihinde Wayback Machine sitesinde arşivlendi. (09 Ekim 2016) alınmadır.

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Java</span> açık kaynak kodlu, nesneye yönelik, zeminden bağımsız, yüksek verimli, çok işlevli, yüksek seviye, adım adım işletilen bir programlama dili

Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmış açık kaynak kodlu, nesneye yönelik, platform bağımsız, yüksek verimli, çok işlevli, yüksek seviye, hem yorumlanan hem de derlenen bir dildir.

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

Bilgisayar alanında RSS ve Atom formatına sahip içerikleri okumaya yarayan uygulamalardır. Kişisel bilgisayarlarda masaüstü uygulaması olarak, mobil uygulama olarak ve web uygulaması olarak çalışan versiyonları bulunmaktadır.

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

Mobil internet mobil haldeki taşınabilir elektronik cihazlar ve sensörler vasıtasıyla veri oluşturabilen tüm alet ve cihazlar arasındaki iletişime verilen genel addır.

<span class="mw-page-title-main">Google ürünleri listesi</span> Vikimedya liste maddesi

Google ürünleri listesi Google tarafından satın alınan tüm ana masaüstü, mobil ve çevrimiçi ürünleri içerir. Bu ürünler son ürün ya da beta sürümler olabilir. Liste ayrıca kullanımdan kaldırılmış, birleştirilmiş ya da tekrar isimlendirilmiş ürünleri de içerir. Ürünlerin içinde olan özellikler ayrıca listelenmemiştir.

Bada,, akıllı telefon ve tablet bilgisayar gibi mobil cihazlar için Samsung Electronics tarafından geliştirilmiş bir işletim sistemidir. Adı, Korecede "okyanus" veya "deniz" anlamına gelen "바다 (bada)" kelimesinden türemiştir. Orta ve yüksek kaliteli akıllı telefonlara kadar çeşitlilik gösterir.

<span class="mw-page-title-main">Internet Explorer 10</span>

Internet Explorer 10 (IE10). Microsoft tarafından geliştirilen Internet Explorer Web tarayıcısının 10. sürümüdür. MIX Microsoft konferansında 4 Eylül 2012 yılında Windows Server 2012 ile sunuldu. 2011 yılında tanıtılmış olan Internet Explorer 9'un yerini aldı. 2013 yılında ise yerini Internet Explorer 11 aldı. IE10, 26 Ekim 2012'de Windows 8 sürümüne dahil edildi. IE10, 26 Şubat 2013 tarihinde Windows 7 ve Windows Server 2008 R2 için de piyasaya sürüldü. Windows 7 için Windows İnternet Explorer 10 Developer Preview sürümü yayınlanmıştır. Windows 7'deki sürümünde Metro Arayüzü bulunmamaktadır. Windows 8 ve Windows RT sürümlerinde masaüstünde açıldığında pek bir fark görülmüyor. Windows Vista ve önceki sürümler desteklenmez.

<span class="mw-page-title-main">Google I/O</span>

Google I/O, Google tarafından San Francisco, Kaliforniya'da her yıl düzenlenen yazılım geliştiricilere yönelik bir toplantıdır. Google I/O, Google ve Android, Chrome, Chrome OS, Google API'leri, Google Web Toolkit, App Engine gibi açık kaynak kodlu web teknolojileriyle ortak olarak geliştirilen web ya da mobil tabanlı uygulamaları konu alan teknik birçok sunum ve tartışmadan oluşmaktadır.

<span class="mw-page-title-main">Facebook Messenger</span> Facebooka bağlı Mesajlaşma Uygulaması

Facebook Messenger, bir diğer adıyla Messenger Facebook'un yarattığı ve geliştirdiği yazılı, sesli ve görüntülü haberleşme sağlayabilen bir anlık mesajlaşma servisi ve yazılım uygulamasıdır. Facebook'un web-tabanlı sohbet özelliği ile entegredir ve açık bir protokol olan MQTT protokolü üzerine inşa edilmiştir. Messenger, Facebook kullanıcılarının kendi çevreleri ile hem ana web sayfası hem de mobil uygulamaları üzerinden sohbet edebilmesine olanak sağlar.

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">Android KitKat</span> android işletim sisteminin 4.4 sürümü

Android KitKat veya Android 4.4 - 4.4.4 KitKat Android sürümünün Google tarafından geliştirilen 11. sürümüdür. Sürümün ilk 4.4 sürümü 31 Ekim 2013 yılında kullanıcılara tanıtılmıştır. Sürüm Linux kernel 3.10 bazında yaratıldı.

<span class="mw-page-title-main">Malzeme Tasarımı</span>

Material Design Google tarafından 2014 yılında geliştirilen bir tasarım dilidir. Google 2014 Google I/O konferansında, 25 Haziran 2014 tarihinde Materyal Tasarımı açıkladı. Origamiden ilham alan düzen, Microsoft'un "Metro" temasının daha pastel ve kâğıtlaşmış halini andırıyor. Bu, Google Now-da tanıtılan "Kart" motifleri üzerine genişlenir. Materyal Tasarımında grid tabanlı düzenleri, duyarlı animasyonlar ve geçişler, dolgu ve aydınlatma ve gölgeler gibi derinlik etkileri daha liberal kullanır. Tasarımcı Matías Duarte bunu "gerçek kâğıt gibi, dijital malzeme genişletmek ve akıllıca reform olabilir" gibi, belirtti. Malzemenin fiziksel yüzeyleri ve kenarları vardır. Dikişler ve gölgeler dokunmada neler yapabileceğiniz hakkında anlam vermektedir. "Google, yeni tasarım dilinin kâğıt ve mürekkepe dayandığını belirtiyor. Google, Mayıs 2021'de Android 12 sistemini piyasaya sürerken, artırılmış animasyonu, daha büyük düğmeleri ve kullanıcının duvar kağıdından özel UI temalarının oluşturulabilmesini vurgulayan "Material You" olarak bilinen bir konsepti açıkladı.

<span class="mw-page-title-main">Google Keep</span> not alma uygulaması

Google Keep Google tarafından geliştirilen bir not alma uygulamasıdır. 20 Mart 2013 tarihinde durdurulmuş Google Notebook'un yerine ilan edildi. Google Keep Android ve iOS mobil işletim sistemleri için bir mobil uygulama ile bir web uygulaması olarak kullanılabilir. Hizmete diğer Google ürünleri gibi, @gmail.com e-posta adreslerini kullanan bir Google Account hesabı ile kaydolmak mümkündür. Eylül 2015 itibarıyla, Google Play'de 50 milyondan fazla kez indirildi.

<span class="mw-page-title-main">Bul (Apple)</span>

iPhone'umu Bul ya da bilinen yaygın adlarıyla Find My iPad, Find My iPod veya Find My Mac, Apple tarafından sağlanan ve iOS cihazlarının ve Mac bilgisayarların uzaktan konum takibi yapılmasına izin veren bir uygulama ve hizmet. Mart 2013 itibarıyla, şu anda hizmet şu anda iOS 5 veya üstü ve Mac OS X Lion için veya iCloud aracılığıyla kullanılabilmektedir. iOS 9 sürümünden itibaren uygulama artık işletim sistemi ile birlikte verilmektedir. Bir kullanıcı iOS 8'i çalıştırıyorsa, uygulama App Store'dan ücretsiz olarak indirilebilir.

<span class="mw-page-title-main">Google TV (servis)</span>

Google TV Android işletim sistemi için Google tarafından işletilen bir çevrimiçi Video on demand Filmler ve TV hizmetidir. Google Play hizmetine dahildir. Filmler ve televizyon şovları, Google Play web sitesinde veya Chrome, Android, iOS ve Roku cihazları için kullanılabilen Google TV uygulaması üzerinden görülebilir. Bazı başlıklar yalnızca kiralamak veya satın almak için kullanılabilirken bazıları hem ikisi aracılığıyla kullanılabilir. Alternatif olarak, kullanıcılar çevrimdışı görüntüleme için filmleri ve TV şovlarını indirebilir ve bunları daha sonra mobil uygulamayı kullanarak görüntüleyebilirler. İndirilen dosyalar beş cihazla sınırlıdır ve beş cihaz indirildikten sonra yerel olarak ek bir cihazda senkronize etmek için silinmelidir. Eylül 2020'de Google TV için Android uygulaması, Amerika Birleşik Devletleri'nde Google TV olarak yeniden adlandırıldı ve akış hizmetlerinde içerik toplama eklendi. Haziran 2021'de birkaç TV'de uygulamanın kullanılmayacağı ve kullanıcıların bunun yerine YouTube uygulamasını kullanmaları gerektiği konusunda kullanıcılara bilgi verildi.

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

Zune HD, 15 Eylül 2009'da Microsoft tarafından piyasaya sürülen Zune ürün ailesine ait taşınabilir bir medya yürütücüsüdür. Apple'nin iPod Touch serisinin mobil cihazlarına doğrudan bir rakipti. Başlangıçta 16 ve 32 GB kapasitelerde çıktı. Zune Pad-dan bu modelde vazgeçildi. 64 GB'lık bir sürüm 9 Nisan 2010'da piyasaya sürüldü. Navigasyon için dokunmatik ekranlı bir arayüz var ve Wi-Fi, senkronizasyon, Zune Marketplace'ye erişim ve Web'de gezinme gibi özelliklere sahiptir.

<span class="mw-page-title-main">Windows Live Barkod</span>

Windows Live Barkod Microsoft'un Windows Live hizmetlerinin bir parçasıydı. Kullanıcıların, iki boyutlu bir matris barkodu olan Hızlı Yanıt Kodu aracılığıyla çeşitli ortamlar ve el cihazları arasında bilgi aktarmasına izin verildi. İnsanlara bilgi alışverişinde bulunmak ve mobil cihazlarda çeşitli çevrimiçi hizmetleri kullanmak için bir yöntem sundu.

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

Ebeveyn denetimi ya da ebeveyn kontrolü, dijital televizyon servislerine, bilgisayar ve video oyunlarına, mobil cihazlara ve yazılıma dahil edilebilecek özelliklerdir. Ebeveyn denetimleri kabaca dört kategoriye ayrılır: uygunsuz içerik yaşına erişimi sınırlayan içerik filtreleri; Kullanım sınırlamalarını kullanmaya veya belirli kullanım türlerini yasaklamak gibi bu cihazların kullanımını kısıtlayan kullanım kontrolleri; Belirli yazılım kullanımını zorlayan bilgisayar kullanım yönetimi araçları; Ve cihazları kullanırken yeri ve etkinliği izleyebilen izleme. Ebeveyn denetimleri bir diğer özelliği, Ebeveyn Danışma, TV için TV-MA, MPAA için R ve NC-17 ve ESRB için M ve AO gibi derecelendirmeyi engelleme yeteneğidir. İçerik Filtreleri, İnternet içeriğine erişimi sınırlayan ebeveyn denetimlerinin ilk popüler türüdür. Televizyon istasyonları televizyon içeriğine erişimi sınırlamak için V-Chip teknolojisini de tanıtmaya başladı. Modern kullanım denetimleri açık şarkılar ve filmler gibi açık içeriği sınırlandırabilir. Güneşin belirli saatlerinde cihazları kapatabilir, cihazların ses çıkışını sınırlayabilir ve GPS teknolojisi uygun fiyatlı hale getirildiğinde artık mobil telefonlar gibi cihazların kolayca bulunması mümkündür.

<span class="mw-page-title-main">Google Chrome Uygulaması</span> Google Chrome Web tarayıcısında çalışan İnternet uygulaması

Google Chrome Uygulaması, Google Chrome web tarayıcısında çalışan bir web uygulamasıdır. Chrome uygulamaları, Google Chrome uzantıları ve temaların yüklenebileceği veya satın alınabileceği Chrome Web Store'den edinilebilir. Barındırılan ve paketlenmiş olan, yürütülebilir dosyalarının farklı konumlarına ve farklı kullanım durumlarını hedefleyen iki tür uygulama vardır.

Windows Uygulama Stüdyosu veya Windows Phone App Studio Windows uygulaması geliştirme için Microsoft tarafından sağlanan bir web uygulamasıdır. Kullanıcıların Windows Mağaza'ya ve Windows Phone Store'ye yükleyebilecekleri veya yayınlayabilecekleri uygulamalar oluşturmasına, ek olarak bir Microsoft Visual Studio çözümü biçiminde tam kaynak kodunu sağlar. Araç, Evrensel Windows Platformu uygulamalarını geliştirmek için kullanılır.

<span class="mw-page-title-main">Vikipedi mobil uygulamalarının listesi</span> Vikimedya liste maddesi

Wikimedia Vakfı dahil, mobil cihaz işletim sistemi üzerinde Vikipedi kullanmak için Wikimedia Vakfı resmi yayınlar. Bunların tümü uygun aracılığıyla ücretsiz olarak edinilebilir. Ayrıca, herhangi bir üçüncü taraf mağazasından bağımsız olarak, Wikimedia Vakfı'nın eski ve beta sürümlerini de içeren yayın web sitesinden indirilebilir.