ഉള്ളടക്കത്തിലേക്ക് പോവുക

പ്രോഗ്രസീവ് വെബ് ആപ്പ്

വിക്കിപീഡിയ, ഒരു സ്വതന്ത്ര വിജ്ഞാനകോശം.
പിഡബ്യൂഎ ലോഗോ

പ്രോഗ്രസീവ് വെബ് ആപ്പ് (PWA) എന്നത് ഒരു പ്രത്യേക തരം വെബ് ആപ്ലിക്കേഷനാണ്. ഇത് സാധാരണ ബ്രൗസറിൽ കാണുന്ന വെബ്‌സൈറ്റ് പോലെയാണ് പ്രവർത്തിക്കുന്നത്, പക്ഷേ അത് മൊബൈലോ കംപ്യൂട്ടറിലോ ഒരു ആപ്പായി തന്നെ ഇൻസ്റ്റാൾ ചെയ്യാം. അതായത്, ഒരു വെബ്‌സൈറ്റ് തന്നെ ആപ്പായായി ഉപയോഗിക്കാനാകും, കൂടാതെ ഇന്റർനെറ്റ് ഇല്ലാതെ പോലും ചില കാര്യങ്ങൾ ചെയ്യാൻ കഴിയും[1]. പിഡബ്യൂഎകൾ (Progressive Web Apps) ഉപകരണത്തിലെ വെബ് ബ്രൗസറിന്റെ ഓഫ്‌ലൈൻ കാഷ് ഉപയോഗിച്ചാണ് ഇൻസ്റ്റാൾ ചെയ്യപ്പെടുന്നത്. അതായത്, ഉപയോക്താവ് ആപ്പ് തുറക്കുന്ന സമയത്ത് അതിന്റെ ഫയലുകൾ ബ്രൗസർ ഓട്ടോമാറ്റിക്കായി ഡൗൺലോഡ് ചെയ്ത് ലോക്കലി സേവ് ചെയ്യും. ഇത് ആപ്പ് വീണ്ടും തുറക്കുമ്പോൾ ഇന്റർനെറ്റ് ഇല്ലാതെയും അതിന്റെ ചില ഭാഗങ്ങൾ പ്രവർത്തിക്കാനാകാൻ സഹായിക്കുന്നു("ലോക്കലി സേവ്" എന്നതുകൊണ്ട് ഉദ്ദേശിക്കുന്നത് ഒരു ഫയൽ അല്ലെങ്കിൽ ഡാറ്റ ഉപകരണത്തിന്റെ ആന്തരിക സംഭരണത്തിൽ (device storage) സൂക്ഷിക്കുന്നതാണ്. ഉദാഹരണം: നമുക്ക് ഒരു വെബ്‌അപ്പ് ഒരു പ്രാവശ്യം തുറന്നപ്പോൾ അതിന്റെ എച്ച്ടിഎംഎൽ, സിഎസ്എസ്, ജാവാസ്ക്രിപ്റ്റ് ഫയലുകൾ ബ്രൗസറിന്റെ cache (കാഷ്) എന്ന ഭാഗത്ത് ലോക്കലി (ഉപകരണത്തിൽ) സംരക്ഷിക്കാം. അതിനാൽ അടുത്ത തവണ ആപ്പ് തുറക്കുമ്പോൾ, ഇന്റർനെറ്റ് ഇല്ലാതെയും ആ ഫയലുകൾ ഉപയോഗിച്ച് ആപ്പ് പ്രവർത്തിക്കും. ഇതാണ് പിഡബ്യൂഎകളുടെ പ്രധാന സവിശേഷതകളിൽ ഒന്ന്)[2].

പ്രോഗ്രസീവ് വെബ് ആപ്പുകൾ (PWAs) 2016-ൽ വിവിധ പ്ലാറ്റ്‌ഫോമുകൾക്കായി പ്രത്യേകം ബണ്ടിൽ ചെയ്യുകയോ വിതരണം ചെയ്യുകയോ ചെയ്യാതെ നേറ്റീവ് ആപ്ലിക്കേഷനുകൾക്ക് ബദലായി അവതരിപ്പിച്ചു. ഇവ വെബ് ബ്രൗസറുകൾ വഴി പ്രവർത്തിക്കുകയും ഉപകരണ-നിർദ്ദിഷ്ട(device-specific) ആപ്ലിക്കേഷനുകളുടെ അനുഭവം നൽകുകയും ചെയ്യുന്നു. പിഡബ്യൂഎകളുടെ പ്രധാന നേട്ടം, ഒറ്റ കോഡ് ബേസ് ഉപയോഗിച്ച് എല്ലാ പ്ലാറ്റ്‌ഫോമുകളിലും പ്രവർത്തിക്കാനുള്ള കഴിവാണ്. പിഡബ്യൂഎകൾ വിവിധ സിസ്റ്റങ്ങളിൽ, ഡെസ്ക്ടോപ്പ്, മൊബൈൽ ഉപകരണങ്ങൾ ഉൾപ്പെടെ ഉപയോഗിക്കാം. ആപ്പിൾ ആപ്പ് സ്റ്റോർ, ഗൂഗിൾ പ്ലേ, അല്ലെങ്കിൽ വിൻഡോസിലെ മൈക്രോസോഫ്റ്റ് സ്റ്റോർ തുടങ്ങിയ ഡിജിറ്റൽ പ്ലാറ്റ്‌ഫോമുകളിൽ പിഡബ്യൂഎകൾ പ്രസിദ്ധീകരിക്കേണ്ട ആവശ്യമില്ല, അത് നിർബന്ധമല്ലാത്ത ഒരു ഓപ്ഷനാണ്.

പിഡബ്യൂഎ ഒരു വെബ്‌പേജ് അല്ലെങ്കിൽ എച്ച്ടിഎംഎൽ, സിഎസ്എസ്, ജാവാസ്ക്രിപ്റ്റ്, വെബ്അസംബ്ലി(WebAssembly) തുടങ്ങിയ സാധാരണ വെബ് ടെക്‌നോളജികൾ ഉപയോഗിച്ച് നിർമ്മിച്ച വെബ്‌സൈറ്റ് രൂപത്തിൽ വിതരണം ചെയ്യപ്പെടുന്നതിനാൽ, പിഡബ്യൂഎയെ പിന്തുണയ്ക്കുന്ന ബ്രൗസർ ഉള്ള ഏത് പ്ലാറ്റ്‌ഫോമിലും ഇത് പ്രവർത്തിക്കും[3]. 2021 വരെ, ഗൂഗിൾ ക്രോം, ആപ്പിൾ സഫാരി, ആൻഡ്രോയിഡ് ഫയർഫോക്സ്, മൈക്രോസോഫ്റ്റ് എഡ്ജ് എന്നിവയിൽ പ്രോഗ്രസീവ് വെബ് ആപ്പ് സവിശേഷതകൾ വ്യത്യസ്തമായ രീതിയിൽ പിന്തുണയ്ക്കുന്നു[4][5]. പക്ഷേ, ഡെസ്ക്ടോപ്പ് ഫയർഫോക്സ് ബ്രൗസറിൽ ഈ സവിശേഷതകൾക്ക് പിന്തുണ ഇല്ല[6].

ചരിത്രം

[തിരുത്തുക]

മുൻഗാമികൾ

[തിരുത്തുക]

2007-ൽ ആപ്പിളിന്റെ വേൾഡ് വൈഡ് ഡെവലപ്പേഴ്‌സ് കോൺഫറൻസിൽ സ്റ്റീവ് ജോബ്സ് പ്രഖ്യാപിച്ചത്, ഐഫോൺ "വെബ് 2.0 ഇന്റർനെറ്റ് സ്റ്റാൻഡേർഡുകൾ ഉപയോഗിച്ച് സൃഷ്ടിച്ച ആപ്ലിക്കേഷനുകൾ പ്രവർത്തിക്കും" എന്നായിരുന്നു[7]. ആദ്യ ഐഫോണിന് ആപ്ലിക്കേഷനുകൾ വികസിപ്പിക്കാൻ സോഫ്റ്റ്‌വെയർ ഡെവലപ്മെന്റ് കിറ്റ് (SDK) ആവശ്യമായിരുന്നില്ല, പകരം ഡെവലപ്പർമാർക്ക് വെബ് 2.0 ഇന്റർനെറ്റ് സ്റ്റാൻഡേർഡുകൾ ഉപയോഗിച്ച് ആപ്ലിക്കേഷനുകൾ സൃഷ്ടിക്കാം, ഈ ആപ്ലിക്കേഷനുകൾ സഫാരി ബ്രൗസർ എഞ്ചിൻ വഴി ഐഫോണിൽ പൂർണ്ണമായി ഏകീകരിക്കപ്പെട്ടിരിക്കും[8]. ആദ്യഘട്ടത്തിൽ, ഡെവലപ്പർമാർക്കായി ഒരു പ്രത്യേക മോഡൽ അവതരിപ്പിച്ചു. എന്നാൽ, ആ മോഡൽ ഡെവലപ്പർമാരിൽ വളരെ ബുദ്ധിമുട്ടുണ്ടാക്കി. അവരുടെ പരാതികൾ പരിഗണിച്ച്, അവരുടെ വിശ്വാസം വീണ്ടെടുക്കാൻ തീരുമാനിച്ചു. അതിനാൽ പിന്നീട്, ആ മോഡൽ ആപ്പ് സ്റ്റോർ മോഡലിലേക്ക് മാറ്റി[9]. 2007 ഒക്ടോബർ മാസം, സ്റ്റീവ് ജോബ്‌സ് ഒരു പ്രഖ്യാപനം നടത്തി. അടുത്ത വർഷം, ആപ്പ് ഡെവലപ്പർമാർക്ക് വേണ്ടി ഒരു എസ്ഡികെ (Software Development Kit) പുറത്തിറങ്ങുമെന്ന് അദ്ദേഹം പറഞ്ഞു. എസ്ഡികെ ഉപയോഗിച്ച്, ഡെവലപ്പർമാർക്ക് ഐഫോണിനുള്ള സ്വന്തം ആപ്പുകൾ നിർമ്മിക്കാൻ കഴിയും. ഇതിലൂടെ ഡെവലപ്പർമാരുടെ ആഗ്രഹങ്ങൾക്കും ആവശ്യങ്ങൾക്കും ഔദ്യോഗികമായി പിന്തുണ ലഭിച്ചു[8]. അതിന്റെ ഫലമായി, ആപ്പിൾ പഴയ പോലെ തന്നെ വെബ് ആപ്പുകൾക്ക് പിന്തുണ നൽകിക്കൊണ്ടിരുന്നു. എന്നാൽ, ഭൂരിഭാഗം ഡെവലപ്പർമാർ അവരുടെ ആപ്പുകൾ നേരിട്ട് ആപ്പ് സ്റ്റോർ വഴി വിതരണം ചെയ്യാൻ തുടങ്ങിയതുകൊണ്ട്, വെബ് ആപ്പുകളോടുള്ള താൽപര്യം കുറവായി. പുതിയ ഐഒഎസ് ആപ്പുകളുടെ വലിയ പങ്ക് ആപ്പ് സ്റ്റോറിലേക്കാണ് മാറിയത്. ആപ്പ് സ്റ്റോർ വഴി ആപ്പുകൾ വിതരണം ചെയ്യുന്നത് കൂടുതൽ ജനപ്രിയമായി.

2010-കൾ മുതൽ വെബ് സാങ്കേതികവിദ്യകൾ ഉപയോഗിച്ച് സജീവമായ വെബ് ആപ്ലിക്കേഷനുകൾ ഉണ്ടാക്കാൻ തുടങ്ങി. പ്രതികരണക്ഷമമായ വെബ് രൂപകൽപ്പന വിവിധ സ്ക്രീനുകളിൽ സുഖപ്രദമായ കാഴ്ച നൽകുന്നു. സ്ക്രീൻ സ്വാതന്ത്ര്യം കാരണം പ്രോഗ്രസ്സീവ് വെബ് ആപ്ലിക്കേഷൻ വികസനം എളുപ്പമായി. ഇതിലൂടെ ഫോൺ, ടാബ്ലറ്റ്, ഡെസ്ക്ടോപ്പ് തുടങ്ങി എല്ലായിടത്തും ഒരേ വെബ് ആപ്ലിക്കേഷന് പ്രവർത്തിക്കാൻ കഴിയുന്നു. എച്ച്ടിഎംഎൽ, സിഎസ്എസ്, ജാവാസ്ക്രിപ്റ്റ് എന്നിവയുടെ ഉപയോഗം പ്രോഗ്രസ്സീവ് വെബ് ആപ്പുകൾക്ക് കൂടുതൽ പ്രതികരണശേഷി ലഭിച്ചു. ഇത് വെബ്സൈറ്റുകൾക്ക് ആപ്പുകൾ പോലെയുള്ള അനുഭവം നൽകാൻ സഹായിച്ചു. വെബ് പേജുകൾ കൂടുതൽ സ്വഭാവികമായി മാറി. ഉപയോക്താക്കൾക്ക് ഒരു യഥാർത്ഥ ആപ്പ് ഉപയോഗിക്കുന്നതുപോലെയുള്ള അനുഭവം വെബ്സൈറ്റുകൾ വഴി ലഭിച്ചു[10].

2013-ൽ മൊസില്ല ഫയർഫോക്സ് ഓഎസ് പുറത്തിറക്കി. ഇത് മൊബൈൽ ഫോണുകളിൽ വെബ് ആപ്പുകൾ നേറ്റീവ് ആപ്പുകളായി റൺ ചെയ്യാനുള്ള ഒരു ഓപ്പൺ സോഴ്‌സ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റമായിരുന്നു. വെബ് ടെക്നോളജി ഉപയോഗിച്ച് ഡിവൈസിൽ നേരിട്ട് ആപ്പുകൾ പോലെയുള്ള അനുഭവം നൽകുക എന്നതാണ് ഉദ്ദേശ്യം. പിന്നീട് പല കാരണങ്ങളാൽ ഈ പദ്ധതി നിർത്തിവച്ചു. ഫയർഫോക്സ് ഒഎസ് ജെക്കോ എന്ന റെൻഡറിംഗ് എഞ്ചിൻ അടിസ്ഥാനമാക്കിയുള്ളതായിരുന്നു. ഇതിൽ ഉപയോഗിച്ച യൂസർ ഇന്റർഫേസ് ഗായ എന്നത് ആയിരുന്നു, ഇത് എച്ച്ടിഎംഎൽ 5 കൊണ്ട് എഴുതിയതായിരുന്നു. സാധാരണ വെബ് സാങ്കേതിക വിദ്യകൾ ഉപയോഗിച്ച് മൊബൈൽ ഓപ്പറേറ്റിംഗ് സിസ്റ്റം നിർമ്മിക്കാനായിരുന്നു ലക്ഷ്യം[11]. ഫയർഫോക്സ് ഒഎസിന്റെ വികസനം 2016-ൽ അവസാനിച്ചു. 2017-ൽ ഈ പ്രോജക്ട് പൂർണ്ണമായി നിർത്തി. എങ്കിലും, ഫയർഫോക്സ് ഒഎസിന്റെ ഒരു ഭിന്ന രൂപമായ കായ്ഒഎസ് എന്ന ഫീച്ചർ ഫോൺ പ്ലാറ്റ്‌ഫോമിന്റെ അടിസ്ഥാനമായി ഉപയോഗിച്ചു[12][13].

പ്രാരംഭ ആമുഖം

[തിരുത്തുക]

2015-ൽ ഡിസൈനർ ഫ്രാൻസിസ് ബെറിമാനും ഗൂഗിൾ ക്രോം എഞ്ചിനീയർ അലക്സ് റസലും ചേർന്ന് "പ്രോഗ്രസിവ് വെബ് ആപ്പ്സ്" എന്ന പദം രൂപപ്പെടുത്തി. ഇത് മെച്ചപ്പെട്ട ബ്രൗസറുകൾ നൽകുന്ന പുതിയ സാങ്കേതികതകളെ ഉപയോഗിക്കുന്ന ആപ്പുകൾക്ക് വേണ്ടി ഉപയോഗിക്കുകയായിരുന്നു. സർവീസ് വർക്കറും വെബ് ആപ്പ് മാനിഫെസ്റ്റും പോലുള്ള സവിശേഷതകൾ ഉപയോഗിച്ച്, വെബ് ആപ്പുകൾ സ്വതന്ത്രമായി ഒഎസിൽ പ്രവർത്തിക്കുന്ന രീതിയിൽ മാറ്റാൻ ഇത് സഹായിച്ചു(വെബ് ആപ്പ് മാനിഫെസ്റ്റ് എന്നത് ആപ്പ് ഐക്കൺ, പേര്, സ്ക്രീൻ ഓറിയന്റേഷൻ തുടങ്ങിയ വിവരങ്ങൾ അടങ്ങിയിരിക്കുന്ന ഒരു ജെസൺ ഫയലാണ്, ഇത് വെബ് ആപ്പിനെ മൊബൈൽ ആപ്പുപോലെ ഇൻസ്റ്റാൾ ചെയ്യാനും ഹോം സ്ക്രീനിൽ കാണിക്കാനും സഹായിക്കുന്നു. ഇവ രണ്ടും ചേർന്നാണ് ഒരു സാധാരണ വെബ് ആപ്പിനെ പ്രോഗ്രസിവ് വെബ് ആപ്പായി മാറ്റുന്നത്)[14]. ഗൂഗിൾ ആൻഡ്രോയിഡിന് വേണ്ടി പ്രോഗ്രസീവ് വെബ് ആപ്പുകൾ (പിഡബ്യൂഎ) വികസിപ്പിക്കാൻ വലിയ ശ്രമം നടത്തി. ഡെവലപ്പർമാർക്ക് പിഡബ്ല്യൂഎ ഉപയോഗിച്ച് ശക്തമായ ആപ്പുകൾ നിർമ്മിക്കാൻ പ്രോത്സാഹനം നൽകി. പ്ലേ സ്റ്റോറിൽ പോലും പിഡബ്ല്യൂഎ ഏകീകരിക്കാൻ പിന്തുണ നൽകി[15][16]. ഫയർഫോക്സ് 2016-ൽ സർവീസ് വർക്കേഴ്സിനുള്ള പിന്തുണ ചേർത്തു. മൈക്രോസോഫ്റ്റ് എഡ്ജും ആപ്പിൾ സഫാരിയും 2018-ൽ ഈ ടെക്നോളജി ഉപയോഗിച്ചു. അതിനാൽ സർവീസ് വർക്കേഴ്സ് എല്ലാ പ്രധാന ബ്രൗസറുകളിലും ലഭ്യമായി[17].

2019 വരെ എത്തിയപ്പോഴേക്കും, മൈക്രോസോഫ്റ്റ് എഡ്ജ് (വിൻഡോസിൽ) ഉൾപ്പെടെ പല ഡെസ്ക്ടോപ്പ് ബ്രൗസറുകളും പിഡബ്ല്യൂഎ പിന്തുണ നൽകി. ഗൂഗിൾ ക്രോം (വിൻഡോസ്, മാക്ഒഎസ്, ക്രോംഒഎസ്, ലിനക്സ്) മുതലായവയിലും പിന്തുണ ലഭിച്ചു. ഇതു കൊണ്ടു തന്നെ പിഡബ്യൂഎ ഡെസ്ക്ടോപ്പിലും വ്യാപകമായി ഉപയോഗിക്കപ്പെട്ടു[18][19].

2020 ഡിസംബറിൽ, ഫയർഫോക്‌സ് ഡെസ്ക്ടോപ്പിൽ നിന്ന് പി.ഡബ്ല്യു.എ പിന്തുണ പൂർണ്ണമായും നീക്കി. ഉപയോഗത്തിലുണ്ടായിരുന്ന "സൈറ്റ് സ്‌പെസിഫിക് ബ്രൗസർ" എന്ന സംവിധാനവും എടുത്തുകളഞ്ഞു. ഇതിനാൽ ഇനി ഫയർഫോക്‌സ് ഡെസ്ക്ടോപ്പിൽ പി.ഡബ്ല്യു.എ പ്രവർത്തിക്കില്ല( "സൈറ്റ് സ്‌പെസിഫിക് ബ്രൗസർ" (Site-Specific Browser) എന്നത് ഒരു വെബ്‌സൈറ്റ്‌ കാണാനായി പ്രത്യേകമായി ഒരു ആപ്പ് പോലെയുള്ള വെബ്‌ ബ്രൗസർ തുറക്കാനാവുന്ന സംവിധാനം ആണ് ഇത്. ഉദാഹരണത്തിന്, ഒരു പിഡബ്യൂഎയെ കമ്പ്യൂട്ടറിൽ ഇൻസ്റ്റാൾ ചെയ്യുമ്പോൾ അത് സ്വതന്ത്രമായ ഒരു അപ്ലിക്കേഷൻ പോലെ പ്രവർത്തിക്കും – അതിനാണ് ഈ സംവിധാനത്തിന്റെ ആവശ്യകത. ഫയർഫോക്സ് ഇത് പരീക്ഷണാടിസ്ഥാനത്തിൽ ലഭ്യമാക്കിയിരുന്നെങ്കിലും പിന്നീട് പിൻവലിച്ചു). "ഡെസ്ക്‌ടോപ്പിലേക്കുള്ള പിഡബ്യൂഎ പിന്തുണ ഉടനെ വരില്ല എന്നതാണ് ഞങ്ങൾ നൽകുന്ന സന്ദേശം." അതിന്റെ അടിസ്ഥാനത്തിൽ, ഡെസ്ക്‌ടോപ്പ് ഫയർഫോക്സിൽ പിഡബ്യൂഎ ഉപയോഗം ലഭ്യമാകില്ല എന്ന് ഒരു ഫയർഫോക്സ് ആർക്കിടെക്ട് പറയുകയുണ്ടായി. എങ്കിലും മൊസില്ല ആൻഡ്രോയ്ഡിൽ പിഡബ്യൂഎ പിന്തുണ നൽകുന്നു. അവർ ആ പിന്തുണ തുടരുമെന്നും വ്യക്തമാക്കി[6][20][21].

ബ്രൗസറിനുള്ള പിന്തുണ

[തിരുത്തുക]
ബ്രൗസർ സപ്പോർട്ട് കമന്റ്
വിൻഡോസ് മാക്ഒഎസ് ലിനക്സ് ആൻഡ്രോയിഡ് ഐഒഎസ് & iPadOS
ക്രോമിയം-അടിസ്ഥാനമാക്കിയുള്ള അതെ അതെ അതെ അതെ ഗൂഗിൾക്രോം, മൈക്രോസോഫ്റ്റ് എഡ്ജ്,[18] ബ്രേവ്, ഓപ്പറ, വിവാൾഡി,[22] മുതലായ ബ്രൗസറുകളും മറ്റുള്ളവയും.
ഫയർഫോക്സ് അല്ല [6] അല്ല [6] അല്ല [6] Partial അല്ല
സഫാരി Partial [23] Partial [24]

സ്വഭാവഗുണങ്ങൾ

[തിരുത്തുക]

പ്രോഗ്രസ്സീവ് വെബ് ആപ്പുകൾ (PWA) യഥാർത്ഥ വെബ് സ്റ്റാൻഡേർഡുകൾ പാലിക്കുന്ന ഏതൊരു ബ്രൗസറിലും പ്രവർത്തിക്കാൻ രൂപകൽപ്പന ചെയ്തിരിക്കുന്നു. ഇത് മൊബൈൽ, ഡെസ്ക്ടോപ്പ് തുടങ്ങിയ പല പ്ലാറ്റ്‌ഫോമുകളിലും ഒരേ കോഡ് ഉപയോഗിച്ച് ആപ്ലിക്കേഷനുകൾ നിർമ്മിക്കാൻ സഹായിക്കുന്നു. നേറ്റീവ് ആപ്പുകൾ ഉപയോഗിക്കുന്നതിലേക്കാൾ എളുപ്പത്തിൽ ക്രോസ് പ്ലാറ്റ്‌ഫോം ആപ്പുകൾ നിർമ്മിക്കുകയാണ് ഇതിന്റെ ലക്ഷ്യം[15]. പ്രോഗ്രസീവ് വെബ് ആപ്പുകൾ "പ്രോഗസ്സീവ് എൻഹാൻസ്മെന്റ്(progressive enhancement)" എന്ന വെബ് ഡെവലപ്പ്മെന്റ് തന്ത്രം പിന്തുടരുന്നു. ഇതിലൂടെ അടിസ്ഥാന ഫംഗ്‌ഷനാലിറ്റികൾ ചെറിയ ഉപകരണങ്ങളിലും പൂർണ്ണമായ സവിശേഷതകൾ ഉൾക്കൊണ്ടുകൊണ്ട് ആധുനിക ബ്രൗസറുകളിലും പ്രവർത്തിക്കാൻ കഴിയുന്നു. അതായത്, ഉപയോക്താവിന്റെ ഉപകരണ ശേഷിയെ ആശ്രയിച്ച് ആപ്പ് ക്രമാനുസൃതമായി മെച്ചപ്പെടുന്നു.

ചില പ്രോഗ്രസീവ് വെബ് ആപ്പുകൾ ആപ്പ് ഷെൽ മോഡൽ(App Shell Model) എന്ന സങ്കേതപരമായ രീതി ഉപയോഗിക്കുന്നു. ഈ മോഡലിൽ, സർവീസ് വർക്കേഴ്സ് വെബ് ആപ്ലിക്കേഷന്റെ അടിസ്ഥാന യുഐ(UI) അല്ലെങ്കിൽ "ഷെൽ" ബ്രൗസറിന്റെ ഓഫ്ലൈൻ ക്യാഷിൽ സ്റ്റോർ ചെയ്യുന്നു. ഒരിക്കൽ ലോഡ് ചെയ്താൽ, അടുത്ത സമയത്ത് ആപ്പ് സന്ദർശിക്കുമ്പോൾ വെറും ഡാറ്റ മാത്രമേ ലോഡ് ചെയ്യേണ്ടതുള്ളു. ഇതിലൂടെ ആപ്പ് വേഗത്തിൽ പ്രവർത്തിക്കുകയും, ഓഫ്ലൈൻ(offline) മോഡിലും കാര്യക്ഷമമാകുകയും ചെയ്യുന്നു[25]. ഈ മോഡൽ ഉപയോഗിച്ച്, പിഡബ്യുഐകൾക്ക് ഇന്റർനെറ്റ് ഇല്ലാതെ പോലും നെറ്റീവ് ആപ്പിനൊപ്പംത്തന്നെ പ്രവർത്തിക്കാൻ കഴിയും. ഇത് സ്റ്റാറ്റിക് ഫ്രെയിം ഉപയോഗിച്ച് ആപ്പ് വേഗത്തിൽ ലോഡ് ചെയ്യാൻ സഹായിക്കുന്നു. പിന്നെ ലഭിക്കുന്ന ഉള്ളടക്കം സാവധാനത്തിൽ അല്ലെങ്കിൽ ഡൈനാമിക്കായി ലോഡ് ചെയ്യാം[26].

സാങ്കേതിക മാനദണ്ഡങ്ങൾ

[തിരുത്തുക]

2016-ൽ അലക്സ് റസ്സൽ പറയുന്നതനുസരിച്ച് പ്രോഗ്രസ്സീവ് വെബ് ആപ്പ് (PWA) ആക്കാനുള്ള അടിസ്ഥാന സാങ്കേതിക വ്യവസ്ഥകൾ മുന്നോട്ടുവച്ചു[27][28][29]. എന്തൊക്കെയാണ് വേണ്ടത് എന്നത് താഴെ കൊടുക്കുന്നു:

  • പിഡബ്യുഎകൾ ഒരു സുരക്ഷിത സ്രോതസ്സിൽ നിന്നായിരിക്കണം. എച്ച്ടിടിപിഎസ് ഉപയോഗിച്ചാണ് ഈ ആപ്പുകൾ സർവുചെയ്യേണ്ടത്. ഇതുകൊണ്ട് ഉപയോക്താവിന്റെ സ്വകാര്യതയും സുരക്ഷയും ഉറപ്പാക്കപ്പെടുന്നു. എച്ച്ടിടിപി കണ്ടന്റ് കൂടി ചേർന്നാൽ മിക്സഡ് കണ്ടന്റായി, അത് സുരക്ഷിതമല്ലെന്ന് കണക്കാക്കുന്നു(ഒരു വെബ്സൈറ്റ് എച്ച്ടിടിപിഎസ് (സുരക്ഷിതമായ വഴി) വഴി ഓപ്പൺ ആകുമ്പോഴും, അതിന്റെ ഭാഗമായ ചില ഭാഗങ്ങൾ— ഉദാഹരണത്തിന് ഇമേജുകൾ, സ്ക്രിപ്റ്റുകൾ, വീഡിയോകൾ എന്നിവ— എച്ച്ടിടിപി(സുരക്ഷിതമല്ലാത്ത വഴി) വഴി ലോഡ് ചെയ്യുകയാണെങ്കിൽ, അതാണ് മിക്സഡ് കണ്ടന്റ്(mixed content)).
  • സർവീസ് വർക്കർ എന്നത് ബ്രൗസറിന്റെ മെയിൻ പ്രവർത്തനത്തിലല്ലാതെ ബാക്ക്‌ഗ്രൗണ്ടിൽ പ്രവർത്തിക്കുന്ന ഒരു ജാവാസ്ക്രിപ്റ്റ് പ്രോഗ്രാമാണ്. ഇത് നെറ്റ്‌വർക്ക് അഭ്യർത്ഥനകൾ കൈകാര്യം ചെയ്യാനും, വെബ് പേജുകൾ ഓൺലൈനല്ലാതെ ഉപയോഗിക്കാൻ സഹായിക്കുന്ന കാഷെ മെമ്മറി നിയന്ത്രിക്കാനുമാണ് ഉപയോഗിക്കുന്നത്. സാധാരണ കാഷെ സിസ്റ്റങ്ങൾ പോലെ സ്വാഭാവികമായി ഉള്ള കണക്കുകൂട്ടലുകൾ ആശ്രയിക്കാതെ, സർവീസ് വർക്കറിന് മുൻകൂട്ടി കാഷെ ചെയ്യാനും ആവശ്യമായപ്പോൾ നീക്കം ചെയ്യാനും കഴിയുന്നു. ഇത് വെബ് അപ്ലിക്കേഷൻ ഓൺലൈൻ ഇല്ലാത്ത സാഹചര്യത്തിൽ പോലും പ്രവർത്തിക്കാൻ സഹായിക്കുന്നു. ഫെച്ച് ഹാൻഡ്ലർ ഉപയോഗിച്ച് അഭ്യർത്ഥനകൾ മനസ്സിലാക്കി, കാഷെയിൽ നിന്നോ അല്ലെങ്കിൽ നെറ്റ്‌വർക്കിൽ നിന്നോ പ്രതികരണം(response) നൽകാനാകും[30]. ഇത് മൂലം പേജുകൾ ഓഫ്‌ലൈൻ ആകുമ്പോഴും അല്ലെങ്കിൽ കുറഞ്ഞ ഗുണമേന്മയുള്ള നെറ്റ്‌വർക്ക് കണക്ഷനുകളിൽ പോലും ആക്സസ് ചെയ്യാൻ സഹായിക്കുന്നു.
  • ഒരു പ്രോഗ്രസ്സീവ് വെബ് ആപ്പിന് വേണ്ടിയുള്ള മാനിഫെസ്റ്റ് ഫയലിൽ കുറഞ്ഞത് അഞ്ച് പ്രധാനമായ പ്രത്യേകതകൾ ഉണ്ടാകണം: പേര് (name അല്ലെങ്കിൽ short\_name), സ്റ്റാർട്ട് യുആർഎൽ (start\_url), പ്രദർശന രീതി (display – standalone, fullscreen അല്ലെങ്കിൽ minimal-ui), 192 പിക്‌സലും 512 പിക്‌സലുമുള്ള ഐക്കണുകൾ (icons). ഈ വിവരങ്ങൾ ഉപയോഗിച്ച് ആപ്പ് എളുപ്പത്തിൽ യുആർഎൽ വഴി പങ്കിടാൻ കഴിയും, മാത്രമല്ല സെർച്ച് എൻജിൻ വഴി കണ്ടെത്താനും കഴിയും, കൂടാതെ പൈതൃക ആപ്പുകളെപ്പോലെ സങ്കീർണ്ണമായ ഇൻസ്റ്റാളേഷൻ പ്രക്രിയകൾ ഒഴിവാക്കാനും സഹായിക്കും. മാത്രമല്ല, ഇത്തരം ആപ്പുകൾ മൂന്നാം കക്ഷി ആപ്പ് സ്റ്റോറുകളിൽ ലിസ്റ്റ് ചെയ്യാനും കഴിയും, ഇതുവഴി ഉപയോഗത്തിന് കൂടുതൽ സൗകര്യം ലഭിക്കും[31]. കൂടാതെ, പ്രോഗ്രസ്സീവ് വെബ് ആപ്പുകൾക്ക് നെറ്റീവ് ആപ്പുകളിലെപോലെ ഇടപെടലുകളും നാവിഗേഷനുമുള്ള പിന്തുണയുണ്ട്. ഹോം സ്ക്രീനിൽ ചേർക്കുന്നത്, സ്‌പ്ലാഷ് സ്ക്രീൻ കാണിക്കുന്നത് തുടങ്ങിയ ഫീച്ചറുകൾ ഇവ പിന്തുണയ്ക്കുന്നു. ഇതിലൂടെ ഉപയോക്താവിന് ആപ്പിൽ നിന്ന് ലഭിക്കുന്ന അനുഭവം എളുപ്പവും ആകർഷകവുമായതും ആകുന്നു. പിഡബ്യുഎ ഒരു വെബ് ആപ്പ് ആണെങ്കിലും, നമുക്ക് ഒരു നേറ്റീവ് മൊബൈൽ ആപ്പ്(Native Mobile App) പോലെ ഉപയോഗിക്കാം. ഉദാഹരണത്തിന്, ഹോം സ്ക്രീനിലേക്ക് ചേർക്കാൻ സാധിക്കും, ആപ്പ് തുറക്കുമ്പോൾ സ്പ്ലാഷ് സ്ക്രീൻ കാണാം. ബ്രൗസർ ഇല്ലാതെയും, ഒരു നോർമൽ ആപ്പ് പോലെ ഫുൾസ്ക്രീൻ ആയി പ്രവർത്തിക്കും. അത് കൂടാതെ, ഓഫ് ലൈൻ സപ്പോർട്ട്(Offline support) ഉള്ളതിനാൽ, ഇന്റർനെറ്റ് ഇല്ലാതെയും കുറച്ച് ഫീച്ചറുകൾ പ്രവർത്തികയും ചെയ്യും[31].

സാങ്കേതികവിദ്യകൾ

[തിരുത്തുക]

പിഡബ്യുഎ ഉണ്ടാക്കാൻ ചില പ്രത്യേക സാങ്കേതികവിദ്യകൾ ഉപയോഗിക്കുന്നു. ഒരു വെബ് ആപ്പ് പിഡബ്യുഎ ആകണമെങ്കിൽ ഇൻസ്റ്റാളേഷൻ മാനദണ്ഡങ്ങൾ പാലിക്കണം (ഓഫ്‌ലൈനിൽ പ്രവർത്തിക്കാനും, ഹോം സ്ക്രീനിലേക്ക് ചേർക്കാനും കഴിയണം). ഇതിന് വേണ്ടതായ രണ്ട് കാര്യങ്ങൾ ഉണ്ട്: മാനിഫെസ്റ്റ് ഫയൽ (ആപ്പിന്റെ വിശദാംശങ്ങൾ സൂക്ഷിക്കുന്നത്) ഒപ്പം സർവീസ് വർക്കറും. ഇവ രണ്ടും ശരിയായി ഉണ്ടെങ്കിൽ, ഒരു വെബ് ആപ്പ് പ്രോഗ്രസീവ് വെബ് ആപ്പ് (PWA) ആകും[32][33][34]. മറ്റ് സാങ്കേതികവിദ്യകൾ ഡാറ്റ സംഭരിക്കാൻ, സെർവറുമായി ആശയവിനിമയം നടത്താൻ, അല്ലെങ്കിൽ കോഡ് എക്സിക്യൂട്ട് ചെയ്യാൻ ഉപയോഗിക്കുന്നു.

മാനിഫെസ്റ്റ്

[തിരുത്തുക]

വെബ്ബ് ആപ്പ് മാനിഫെസ്റ്റ്(Web App Manifest) എന്നത് ഡബ്ല്യൂ3ഡബ്ല്യൂ (World Wide Web Consortium) നിർദേശിച്ച ഒരു സ്പെസിഫിക്കേഷൻ ആണ്, ഇത് ഒരു വെബ് ആപ്ലിക്കേഷനുമായി ബന്ധപ്പെട്ട മെറ്റാഡാറ്റാ വിവരങ്ങൾ കേന്ദ്രീകൃതമായി സംഗ്രഹിക്കുന്നതിനായി ഉപയോഗിക്കുന്നു. സാധാരണയായി "manifest.json" എന്ന ഫയലായി ഇത് സൂക്ഷിക്കുന്നു. ഈ ഫയൽ വെബ് ആപ്ലിക്കേഷന്റെ നാമം, ഐകോൺ, സ്റ്റാർട്ടപ്പ് സ്ക്രീൻ കളർ, ഡിസ്പ്ലേ മോഡ് തുടങ്ങിയ വിവരങ്ങൾ അടങ്ങിയിരിക്കുന്നു. വെബ് ആപ്ലിക്കേഷൻ ഒരു നേറ്റീവ് ആപ്ലിക്കേഷനായി പ്രവർത്തിക്കാൻ സഹായിക്കുന്നതാണ് ഇതിന്റെ പ്രധാന ലക്ഷ്യം[35]. ഒരു വെബ് ആപ്ലിക്കേഷനുമായി ബന്ധപ്പെട്ട മെറ്റാഡാറ്റ സ്ഥാപിക്കുന്നതിലേക്കായി ഡെവലപ്പർമാർക്ക് ഒരു കേന്ദ്രീകൃത സ്ഥലം നൽകുന്നതിന് വേണ്ട കാര്യങ്ങൾ താഴെ ചേർക്കുന്നു:

  • വെബ് ആപ്ലിക്കേഷന്റെ പേര്
  • വെബ് ആപ്പ് ഐക്കണുകളിലേക്കോ ഇമേജ് ഒബ്‌ജക്റ്റുകളിലേക്കോ ഉള്ള ലിങ്കുകൾ
  • വെബ് ആപ്പ് ആരംഭിക്കുന്നതിനോ അല്ലെങ്കിൽ തുറക്കുന്നതിനോ വേണ്ടി തിരഞ്ഞെടുത്ത യുആർഎൽ ഉപയോഗിക്കുന്നു.
  • വെബ് ആപ്പ് കോൺഫിഗറേഷൻ ഡാറ്റ - വെബ് ആപ്പിന്റെ പ്രവർത്തനങ്ങൾ ശരിയായി നിയന്ത്രിക്കാനും വിവിധ എൻവയോൺമെന്റുകളിൽ (development, production) സജീവമായി പ്രവർത്തിക്കാനും ആവശ്യമായ അടിസ്ഥാന ഡാറ്റയാണ് കോൺഫിഗറേഷൻ ഡാറ്റ. ഇതിൽ എപിഐ യുആർഎൽസ്(API URLs), ഡാറ്റാബേസ് ക്രെഡൻഷ്യലുകൾ, എൻവയോൺമെന്റ് വെരിയബിൾസ്, സെക്യൂരിറ്റി സെറ്റിംഗ്സ് എന്നിവ ഉൾപ്പെടുന്നു. ആപ്ലിക്കേഷൻ വിവിധ സാഹചര്യങ്ങളിൽ കൃത്യമായി പ്രവർത്തിക്കുന്നതിന് ഈ കോൺഫിഗറേഷൻ ഡാറ്റ അനിവാര്യമാണ്.
  • വെബ് ആപ്ലിക്കേഷന്റെ ഡിഫോൾട്ട് ഓറിയന്റേഷൻ - വെബ് ആപ്ലിക്കേഷനുകൾ സാധാരണയായി പോർട്രെയിറ്റ് (Portrait) അല്ലെങ്കിൽ ലാൻഡ്സ്കേപ്പ് (Landscape) മോഡുകളിൽ തുറക്കാം. ഡെസ്‌ക്ടോപ്പ് ബ്രൗസറുകളിൽ സാധാരണയായി ലാൻഡ്സ്കേപ്പ് മോഡ് ആണ് ഡിഫോൾട്ട്, മൊബൈൽ ഡിവൈസുകളിൽ പോർട്രെയിറ്റ് മോഡാണ് ഉപോയഗിക്കുന്നത്. സിഎസ്എസ് മേത്തേഡുകൾ ഉപയോഗിച്ച് (e.g., `@media (orientation: portrait) { ... }`) ഓരോ മോഡിനും വ്യത്യസ്ത ലേയൗട്ടുകൾ ക്രമീകരിക്കാം.
  • ഡിസ്പ്ലേ മോഡ് സജ്ജമാക്കാനുള്ള ഓപ്ഷൻ, ഉദാ: പൂർണ്ണ സ്ക്രീൻ

ഈ മെറ്റാഡാറ്റാ ഒരു ആപ്പിനെ ഹോം സ്ക്രീനിൽ ചേർക്കാൻ അല്ലെങ്കിൽ നെറ്റീവ് ആപ്പുകളോടൊപ്പം ലിസ്റ്റ് ചെയ്യാൻ അനിവാര്യമാണ്. ഇതിൽ ആപ്പ് നാമം, ഐക്കൺ, സ്റ്റാർട്ട് യു‌ആർ‌എൽ, ഡിസ്‌പ്ലേ മോഡ്, തീം കളർ എന്നിവ ഉൾപ്പെടുന്നു. ഇത് ശരിയായി ക്രമീകരിച്ചാൽ, ആപ്പ് ഒരു നേറ്റീവ് ആപ്പ് പോലെ പ്രവർത്തിക്കും.

ഐഒഎസിനുള്ള(iOS) പിന്തുണ

[തിരുത്തുക]

ഐഒഎസ് സഫാരി വെബ്ബ് ആപ്പ് മാനിഫെസ്റ്റുകൾ ഭാഗികമായി മാത്രം പിന്തുണയ്ക്കുന്നു. പിഡബ്യുഎകളെ(Progressive Web App) മെറ്റാഡാറ്റാ ആപ്പിൾ-സ്പെസിഫിക് മെറ്റാ ടാഗുകൾ ഉപയോഗിച്ച് നിർവചിക്കാം. ഇവയുടെ സഹായത്തോടെ ഫുൾസ്ക്രീൻ ഡിസ്പ്ലേ, ഐക്കൺസ്, സ്പ്ലാഷ് സ്ക്രീൻസ്, ആപ്പ് നാമം എന്നിവ ക്രമീകരിക്കാനാകും[36][37].

സർവീസ് വർക്കേഴ്സ്

[തിരുത്തുക]

സർവീസ് വർക്കക്കർ ഒരു പ്രത്യേക തരം വെബ് വർക്കർ ആണ്. ഇത് ബ്രൗസറിൽ നെറ്റ്‌വർക്ക് അപേക്ഷകൾ പ്രോക്സി പോലെ കൈകാര്യം ചെയ്യാൻ കഴിയും. അതായത്, കാഷിംഗ്, ഓഫ്‌ലൈൻ പിന്തുണ, നോട്ടിഫിക്കേഷൻ എന്നിവ സൃഷ്ടിക്കാൻ ഇത് സഹായിക്കും(പ്രോക്സി എന്നത് ഒരു മധ്യസ്ഥനെ പോലെയാണ്. ഉപയോക്താവിന്റെ അഭ്യർത്ഥന നേരിട്ട് സെർവറിൽ പോകാതെ, പ്രോക്സി വഴി സഞ്ചരിക്കുന്നു. അതായത്, പ്രോക്സി ഒരു ഇടനിലക്കാരനായി പ്രവർത്തിച്ച്, സുരക്ഷ, സ്‌പീഡ്, കാഷിംഗ് എന്നിവ മെച്ചപ്പെടുത്തുന്നു). ഇത് മൂലം അകലെയുള്ള സെർവറിന്റെ ലഭ്യത പരിശോധിക്കാൻ കഴിയും, സെർവർ ലഭ്യമായിരിക്കുമ്പോൾ ഉള്ള കണ്ടന്റുകൾ കാഷ് ചെയ്യുകയും പിന്നീട്, സെർവർ ലഭ്യമല്ലാത്തപ്പോൾ പോലും കാഷ് ചെയ്ത കണ്ടന്റ് ഡോക്യുമെന്റിന് നൽകാൻ കഴിയും. സർവീസ് വർക്കേഴ്സ് ഒരു വെബ് വർക്കർ പോലെ തന്നെ മെയിൻ ത്രെഡിന് പുറത്ത് സ്വതന്ത്രമായി പ്രവർത്തിക്കുന്നതാണ്. ബ്രൗസറിന്റെ ബാക്ക്ഗ്രൗണ്ടിൽ പ്രവർത്തിക്കുന്നതിനാൽ പേജ് റിഫ്രഷ് ചെയ്താലും അതിന്റെ പ്രവർത്തനം തടസപ്പെടുന്നില്ല. നെറ്റ്വർക്കുമായി ബന്ധപ്പെട്ട അഭ്യർത്ഥനകൾ കൈകാര്യം ചെയ്യുക, ഡാറ്റ കാഷെ ചെയ്യുക, പുഷ് നോട്ടിഫിക്കേഷനുകൾ സജ്ജീകരിക്കുക തുടങ്ങിയവ ചെയ്യാൻ സെർവീസ് വർക്കേഴ്സ് ഉപയോഗിക്കുന്നു. ഇതുവഴി ഓഫ്ലൈൻ സപ്പോർട്ട് നൽകുന്നതും പേജിന്റെ ലോഡിംഗ് വേഗത വർദ്ധിപ്പിക്കുന്നതും സാധ്യമാകുന്നു. സർവീസ് വർക്കേഴ്സ് പുഷ് നോട്ടിഫിക്കേഷനുകൾ കൈകാര്യം ചെയ്യാനും ഡാറ്റ പശ്ചാത്തലത്തിൽ സിങ്ക്രണൈസ് ചെയ്യാനും കഴിയും. മാത്രമല്ല, റിസോഴ്സ് അഭ്യർത്ഥനകൾ കാഷെ ചെയ്യുകയും തിരിച്ചുപിടിക്കുകയും, നെറ്റ്വർക്കിലെ അഭ്യർത്ഥനകൾ തടഞ്ഞ് കൈകാര്യം ചെയ്യുകയും കേന്ദ്രീകൃത അപ്‌ഡേറ്റുകൾ സ്വീകരിക്കുകയും ചെയ്യും. ഇവയെ രജിസ്റ്റർ ചെയ്ത ഡോക്യുമെന്റ് ലോഡ് ചെയ്യാത്ത സമയത്തും ഇവയ്ക്ക് സ്വതന്ത്രമായി പ്രവർത്തിക്കാൻ കഴിയും[38].

സർവീസ് വർക്കേഴ്സ് രജിസ്ട്രേഷൻ, ഇൻസ്റ്റാളേഷൻ, ആക്ടിവേഷൻ എന്ന മൂന്ന് ഘട്ട ലൈഫ്സൈക്കിൾ (Lifecycle) വഴി കടന്നു പോകുന്നു. രജിസ്ട്രേഷൻ എന്നത് ബ്രൗസറിനെ സർവീസ് വർക്കറിന്റെ സ്ഥാനം അറിയിക്കുകയും ഇൻസ്റ്റാളേഷനിലേക്ക് തയ്യാറാക്കുന്നതുമാണ്. ഇൻസ്റ്റാളേഷൻ എന്ന് പറയുന്നത്, ആ വെബ് ആപ്പിന് മുമ്പേ സർവീസ് വർക്കർ ഇൻസ്റ്റാൾ ചെയ്തിട്ടില്ലെങ്കിൽ അല്ലെങ്കിൽ സർവീസ് വർക്കറിൽ ഒരു അപ്‌ഡേറ്റ് വന്നാൽ സംഭവിക്കുന്ന പ്രക്രിയയാണ്. പിഡബ്യുഎയുടെ ഒരു പുതുക്കൽ (update) ഉണ്ടായാൽ, ആ പുതുക്കൽ പ്രാബല്യത്തിൽ വരാൻ എല്ലാ തുറന്നിരിക്കുന്ന പേജുകളും അടയ്ക്കണം. പഴയ വേർഷനും പുതുക്കിയ വേർഷനും ഒരേസമയം പ്രവർത്തിക്കുന്നത് അവ തമ്മിൽ കോൺഫ്ലിറ്റ്(conflict) ഉണ്ടാകും, അതിനാൽ പേജ് അടയ്ക്കുന്നതുവരെ പുതുക്കൽ പ്രവർത്തനക്ഷമമാകില്ല. എല്ലാ പേജുകളും അടഞ്ഞതിന് ശേഷം മാത്രമേ പുതിയ വേർഷൻ പ്രവർത്തനം ആരംഭിക്കൂ. ലൈഫ്സൈക്കിൾ ഒരു ഡൊമെയ്നിൽ (Domain) ഒരേസമയം ഒരു സിംഗിൾ സർവീസ് വർക്കർ മാത്രമേ സജീവമായിരിക്കൂ. ഇതാണ് വേർഷനുകൾ തമ്മിൽ മാറ്റം സംഭവിക്കുമ്പോൾ സ്ഥിരത (Consistency) നിലനിർത്താൻ ഇത് സഹായിക്കുന്നത്. പഴയതും പുതിയതും ഒരേസമയം പ്രവർത്തിക്കുന്ന പ്രശ്നം ഉണ്ടാകാതിരിക്കാൻ ലൈഫ്സൈക്കിൾ അതിനെ നിയന്ത്രിക്കുന്നു[38].

വെബ്അസംബ്ലി

[തിരുത്തുക]

വെബ് അസ്സെംബ്ലി പ്രികംപൈൽഡ്(precompiled) കോഡ് വെബ് ബ്രൗസറിൽ സ്വഭാവിക വേഗത്തിൽ പ്രവർത്തിക്കാൻ അനുവദിക്കുന്നു. ഇതിലൂടെ ജാവാസ്ക്രിപ്റ്റിന് പുറത്തുള്ള ഭാഷകൾ ഉപയോഗിച്ച് വികസിപ്പിച്ച കോഡുകളും ബ്രൗസറിൽ മികച്ച രീതിയിൽ പ്രവർത്തിക്കാൻ കഴിയുന്നു[39]. സി ഭാഷയിൽ എഴുതിയ ലൈബ്രറികൾ വെബ് ആപ്ലിക്കേഷനുകളിൽ ഉൾപ്പെടുത്താം. ഇത് സാധാരണയായി വെബ്അസംബ്ലി (WASM) ഉപയോഗിച്ച് നടപ്പിലാക്കുന്നു. വാസ്‌എം ഉപയോഗിച്ച്, ഉയർന്ന പ്രകടനക്ഷമതയുള്ള സി കോഡ് വെബ് ബ്രൗസറുകളിൽ നേരിട്ട് പ്രവർത്തിപ്പിക്കാം. വെബ് അസംബ്ലി 2015-ൽ പ്രഖ്യാപിക്കുകയും 2017 മാർച്ചിൽ ആദ്യമായി പുറത്തിറങ്ങുകയും ചെയ്തു. 2019 ഡിസംബർ അഞ്ചിന് വേൾഡ് വൈഡ് വെബ് കൺസോർഷ്യം (ഡബ്ല്യു3സി) അംഗീകാരം ലഭിച്ചു[40][41]. 2021-ൽ അസോസിയേഷൻ ഫോർ കമ്പ്യൂട്ടിങ് മെഷിനറി (എസിഎം) സിഗ്പ്ലാൻ(SIGPLAN) എന്ന സംഘടന നൽകുന്ന പ്രോഗ്രാമിംഗ് ലാംഗ്വേജസ് സോഫ്റ്റ്വെയർ അവാർഡ് വാസ്എം നേടി[42].

ഡാറ്റ സംഭരണം

[തിരുത്തുക]

പ്രോഗ്രസീവ് വെബ് ആപ്പുകൾ സാധ്യമായ സമയങ്ങളിൽ എക്സിക്യൂഷൻ കോൺടെക്സ്റ്റുകൾ ലോഡ് ചെയ്യപ്പെടാതിരിക്കും. അതിനാൽ, ദീർഘകാലത്തേക്ക് അവയുടെ ആന്തരിക അവസ്ഥ (ഉപയോക്തൃ ഡാറ്റ, ഡൈനാമിക്കായി ലോഡ് ചെയ്യുന്ന ആപ്ലിക്കേഷൻ റിസോഴ്സുകൾ) നിലനിർത്താൻ ചില സംവിധാനങ്ങൾ ഉപയോഗിക്കണം. ഇൻഡെക്സ്ഡ്ഡിബി(IndexedDB) ഉപയോഗിച്ച് വലിയ തോതിലുള്ള ഡാറ്റ സംഭരിക്കാം. ലോക്കൽ സ്റ്റോറേജ്(LocalStorage) ചെറിയ തോതിലുള്ള സ്ഥിരമായ ഡാറ്റയ്ക്ക് അനുയോജ്യമാണ്. സെക്ഷൻ സ്റ്റോറേജ്(SessionStorage) താൽക്കാലിക ഡാറ്റ സംഭരിക്കാൻ ഉപയോഗിക്കുന്നു, ബ്രൗസർ ടാബ് അടയ്ക്കുന്നതുവരെ മാത്രം നിലനിൽക്കും. കാഷ്ഡ് എപിഐ(Cache API) ഉപയോഗിച്ച് ഓഫ്‌ലൈനിൽ ആവശ്യമായ ഫയലുകൾ സൂക്ഷിക്കാം. സർവീസ് വർക്കറുകൾ വഴി ഓഫ്‌ലൈൻ പ്രവർത്തനങ്ങൾ സാധ്യമാക്കാം. ഇവ ഉപയോഗിച്ച്, പ്രോഗ്രസീവ് വെബ് ആപ്പുകൾക്ക് എപ്പോഴും പ്രവർത്തിക്കാൻ കഴിയും.

അവലംബം

[തിരുത്തുക]
  1. "What are Progressive Web Apps? PWA Guide for Beginners". freeCodeCamp.org (in ഇംഗ്ലീഷ്). 2024-01-18. Retrieved 2024-05-06.
  2. "Progressive Web Apps | Software AG". techradar.softwareag.com. Retrieved 2020-09-25.
  3. Ltd, Cybellium. Mastering Front-end development (in ഇംഗ്ലീഷ്). Cybellium Ltd. p. 273. ISBN 979-8-8668-4882-9.
  4. "Can I use pwa?". CanIUse. Retrieved 27 January 2021.
  5. "Is Service Worker Ready?". Jake Archibald.
  6. 6.0 6.1 6.2 6.3 6.4 Newman, Jared (2021-01-26). "Firefox just walked away from a key piece of the open web". Fast Company (in അമേരിക്കൻ ഇംഗ്ലീഷ്). Retrieved 2021-01-27.
  7. Jobs, Steve; Apple (11 June 2007). "iPhone to Support Third-Party Web 2.0 Applications". Apple (in ഇംഗ്ലീഷ്).
  8. 8.0 8.1 Ritchie, Rene (5 March 2018). "App Store Year Zero: Unsweet web apps drove iPhone to an SDK". iMore (in ഇംഗ്ലീഷ്). Retrieved 23 May 2019.
  9. "Jobs' original vision for the iPhone: No third-party native apps". 9to5Mac. 21 October 2011. Retrieved 22 May 2019.
  10. Marcotte, Ethan (25 May 2010). "Responsive Web Design". A List Apart. Retrieved May 25, 2010.
  11. "Mozilla ends commercial Firefox OS development - gHacks Tech News". gHacks Technology News (in അമേരിക്കൻ ഇംഗ്ലീഷ്). 2016-09-27. Retrieved 2022-05-05.
  12. Hoffman, Chris; PCWorld | (2016-09-28). "Mozilla is stopping all commercial development on Firefox OS". PCWorld (in ഇംഗ്ലീഷ്). Retrieved 2021-03-17.
  13. "KaiOS, a feature phone platform built on the ashes of Firefox OS, adds Facebook, Twitter and Google apps". TechCrunch (in അമേരിക്കൻ ഇംഗ്ലീഷ്). 26 February 2018. Retrieved 2021-03-17.
  14. Russell, Alex. "Progressive Web Apps: Escaping Tabs Without Losing Our Soul". Retrieved June 15, 2015.
  15. 15.0 15.1 Evans, Jonny (26 January 2018). "Apple goes back to the future with web apps". Computerworld (in ഇംഗ്ലീഷ്). Retrieved 23 May 2019.
  16. Ladage, Aaron (17 April 2018). "Progressive Web Apps Are Here and They're Changing Everything". DEG. Retrieved 23 May 2019.
  17. "Can I use... Support tables for HTML5, CSS3, etc". caniuse.com. Retrieved 2021-05-16.
  18. 18.0 18.1 "Progressive Web Apps on Windows overview". Microsoft Edge Documentation (in ഇംഗ്ലീഷ്). 13 March 2021. Retrieved 13 March 2021.
  19. LePage, Pete (4 June 2019). "Progressive Web Apps on Desktop". Google Developers (in ഇംഗ്ലീഷ്). Retrieved 13 September 2019.
  20. "eBay PWA". Mozilla. Retrieved 25 December 2024.
  21. agi90 (19 December 2020). "Comment". Reddit. We have no plans of sunsetting PWAs on mobile that I know of.{{cite web}}: CS1 maint: numeric names: authors list (link)
  22. "Get your PWA on". Vivaldi Browser (in ഇംഗ്ലീഷ്). 2021-10-07. Retrieved 2021-10-11.
  23. Angle, Patrick; Avenard, Jean-Yves; Caceres, Marcos; Cannon, Ada Rose; Carlson, Eric; Davidson, Garrett; Davis, Jon; Dubost, Karl; Eidson, Brady (2023-06-06). "News from WWDC23: WebKit Features in Safari 17 beta". WebKit. Retrieved 2023-06-14.
  24. Angle, Patrick; Caceres, Marcos; Caliman, Razvan; Davis, Jon; Eidson, Brady; Hatcher, Timothy; Niwa, Ryosuke; Simmons, Jen (2023-03-27). "WebKit Features in Safari 16.4". WebKit. Retrieved 2023-06-14.
  25. "The App Shell Model".
  26. Osmani, Addi. "The App Shell Model | Web Fundamentals". Google Developers (in ഇംഗ്ലീഷ്). Retrieved 23 May 2019.
  27. Russell, Alex. "What, Exactly, Makes a Progressive Web App". Retrieved October 18, 2016.
  28. "What does it take to be installable?". web.dev (in ഇംഗ്ലീഷ്). Retrieved 2021-05-19.
  29. "Progressive Web App". web.dev. Retrieved June 15, 2015.
  30. "Service worker caching and HTTP caching". web.dev (in ഇംഗ്ലീഷ്). Retrieved 2021-05-19.
  31. 31.0 31.1 W3C "Web App Manifest", Working Draft, retrieved 12 September 2016.
  32. "Discoverable". Mozilla Developer Network (in അമേരിക്കൻ ഇംഗ്ലീഷ്). Retrieved 2017-04-24.
  33. "Network independent". Mozilla Developer Network (in അമേരിക്കൻ ഇംഗ്ലീഷ്). Retrieved 2017-04-24.
  34. "Instant Loading Web Apps with an Application Shell Architecture". Google Developers (in ഇംഗ്ലീഷ്). Retrieved 2017-04-24.
  35. "Web Manifest Docs on MDN". MDN Web Docs.
  36. "What's new on iOS 12.2 for Progressive Web Apps". Medium. 27 March 2019.
  37. "Configuring Web Applications". Safari Web Content Guide.
  38. 38.0 38.1 "Introduction to Service Worker | Web". Google Developers (in ഇംഗ്ലീഷ്). 1 May 2019. Retrieved 23 May 2019.
  39. "WebAssembly Concepts". MDN. Retrieved 14 August 2018.
  40. World Wide Web Consortium. "WebAssembly Core Specification". World Wide Web Consortium (W3). Retrieved 2024-05-06.
  41. "WebAssembly 1.0 Becomes a W3C Recommendation and the Fourth Language to Run Natively in Browsers". InfoQ (in ഇംഗ്ലീഷ്). Retrieved 2024-05-06.
  42. "Programming Languages Software Award". www.sigplan.org. Retrieved 2024-05-06.
"https://ml.wikipedia.org/w/index.php?title=പ്രോഗ്രസീവ്_വെബ്_ആപ്പ്&oldid=4523394" എന്ന താളിൽനിന്ന് ശേഖരിച്ചത്