SlideShare a Scribd company logo
Basic Learning about
Progressive Web Apps
(PWA)
MUHAMAD ALDY BINTANG
UNIVERSITAS INDONESIA
20/02/2019
READ ME FIRST
• I do not own the entire content, basically I will reference all the literature I
have found from books and internets.
• Any pictures, content, and examples of code are belong to their owner, I will
state the reference of the owner on the end of the presentation.
• This presentation is for study purpose only.
• If you have any question or critic for this presentation, you can contact me on
muhamadaldy17@gmail.com.
20/02/2019
OUTLINE
o PWA basic understanding
o The advantages of PWA
o PWA components for website
o Simple PWA
o Simple code for PWA
20/02/2019
History of PWA
Wikipedia[1] said PWA, Progressive Web Application, is a web application (we know as Website)
which load like regular website with offer the user functionally for user’s flexibility.
Timeline history
◦ 2005: Responsive web apps is developed, using PHP, ASP.NET, Ajax.
◦ 2007: Web apps lose to native apps in better user experience and faster file loading.
◦ 2010: Evolve of HTML5, CSS3, and JavaScript, make web apps more capable.
◦ 2015: Frances Berriman and Alex Russell developed first generation of progressive web apps.
20/02/2019
FlipBoard using PWA[2]
20/02/2019
Characteristic of PWA
Progressive, can works for every user regardless of browser uses because already built with the
PWA function.
Responsive, can fit in any form factor, mobile and desktop.
Connectivity Independent, no always need connection to internet to access, accept to working
offline and update later.
App like interaction, user can use like they using native apps, with app style.
Fresh, always up-to-date with service worker, a JavaScript file which runs separately from main
browser thread with function to control network and cache[3], so the user still receive the latest
data and store locally when they go offline and update status to server and send the data when
go online.
Safe, can only works with HTTPS, featuring encrypt and decrypt the traffic.
20/02/2019
Characteristic of PWA
Discoverable, identifiable as application with W3C App Manifest, can be added to home screen
(like example in slide 5) with identity saved in JSON file[4], and easy to search in search engine.
Able to re-engage, with push notification user can know the latest update of the website which
administrator send with ease.
Installable, the web app can be saved into home screen so the user doesn’t has to check/open
related app to search again through.
Linkable, easily to share via URL and doesn’t require to install first.
20/02/2019
Example of Company using PWA
• The informations are based on [5] and [6] (see references)
• The pictures can be surfed from Internet, all pictures are belong to each of the corporation.
20/02/2019
Advantages using PWA[7]
Lighter than native apps, less memory, less bandwidth.
No need installation instead of built in system.
Lower cost because no need to upload the app into store.
Less effort to build unlike native apps which need to upload for update release.
More support for deep links nowadays.
20/02/2019
PWA Components[7]
HTML5, main language for write website with progressive support.
CSS3, language for styling and designing alongside HTML.
JavaScript, language for using JAVA function and access hardware with JavaScript’s API.
Service Worker, provide to work offline and auto update when go online.
HTTPS, protocol which PWA can be run and accessed on internet.
App Manifest, a JSON file for create link to access easily, by W3C.
App Shell, the design concept aimed at loading and rendering the container first, example like
splash screen.
Caching, save some of files in cache memory so furthermore the web app can load shortly.
20/02/2019
Some of
frameworks for
PWA
• The information based on [8]
(see references).
• The pictures can be surfed
from Internet, all pictures are
belong to each of the
corporation.
20/02/2019
Simple PWA Example
o The main purpose of this
website is to show list of
movie and search history.
o Yassine Benabbas, the
author, wrote the article
[9] for guiding basic
knowledge of PWA using
HTML, CSS, and
JavaScript.
o This PWA run in localhost.
20/02/2019
Example PWA Code
o index.html code
o Calling initialization CSS
(main.css) and JavaScript
(main.js)
o On body:
o Two divider container
o First one for search box
o Second one for display
search history
o It’s using ID based to call
CSS style
20/02/2019
Simple PWA Example
o main.css file
o Three style to be called:
history, anime_item, and
anime_item img.
o The rest of code can be
learned from W3C School,
it still normal CSS code.
20/02/2019
Example PWA Code
o Initialization JavaScript
o Create empty array to
store search history.
o Using API from
https://api.jikan.me/ to
get the data.
o When the function
buildAnimeMarkup is
called, it return the data
with HTML code.
20/02/2019
Simple PWA Example
o Some other function from
JavaScript file.
o All of the codes are in
JavaScript language, it’s
better to get used to JAVA
language.
o JAVA language and
JavaScript using object
oriented programming
concept.
20/02/2019
Example PWA Code
o JSON code, name
manifest.json
o It is use for adding into
home screen with icon
which adjust the device’s
screen.
o It also storing name,
nickname, language, display
parameter, etc. when
opened later.
20/02/2019
Simple PWA Example
o In HTML file, add this
codes to call
manifest.json
o With this the website can
offer/have feature to be
add to device’s home
screen.
20/02/2019
Simple PWA
Example
o Furthermore, add service worker so user can
work offline and get update (synchronize) when
go online.
o Add caching feature to reduce loading time in
main.js file.
o The example is using Web App Manifest
Generator for creating manifest.json file.
o Add HTTPS protocol which is mandatory for a
PWA, we can get free SSL certificate on
https://letsencrypt.org/
o Add server side rendering.
20/02/2019
Conclusion
 PWA is a progressive web apps which run as a website with app-like style and
feature, get more interactive and flexible for user experience.
 PWA have several characteristic, like app-like, connection independent, safe,
and advantages, such as light weight (in load time and data), no installation,
lower cost.
 PWA built with HTML, CSS, and JavaScript language, and can be worked with
framework, like Ionic, Quasar.
 A simple PWA should have features, like can be added into home screen,
service worker (offline mode), HTTPS protocol, as it base.
20/02/2019
REFERENCES
1. Wikipedia. Progressive web applications.
https://en.wikipedia.org/wiki/Progressive_web_applications
2. Russell, Alex. 2015. Progressive Web Apps: Escaping Tabs Without Losing Our Soul.
https://infrequently.org/2015/06/progressive-apps-escaping-tabs-without-losing-our-soul/
3. Introduction to Service Worker. https://developers.google.com/web/ilt/pwa/introduction-to-
service-worker
4. The Web App Manifest. https://developers.google.com/web/fundamentals/web-app-
manifest/
5. Appscope. 7 Excellent Progressive Web App Examples. https://medium.com/appscope/7-
excellent-progressive-web-apps-that-prove-pwas-are-ready-for-mainstream-consumer-
adoption-9a8a8e876eba
20/02/2019
REFERENCES
6. Progressive Web Apps. https://pwa.rocks/
7. The Complete Guide to Progressive Web Apps, https://flaviocopes.com/progressive-web-
apps/
8. What are the best PWA framework? https://www.slant.co/topics/12815/~pwa-framework
9. Benabbas, Yassine. 2018. PWA from scratch guide (yet another one). https://itnext.io/pwa-
from-scratch-guide-yet-another-one-bdfa438b50aa
20/02/2019

More Related Content

What's hot

Introduction to web development
Introduction to web developmentIntroduction to web development
Introduction to web development
Mohammed Safwat
 
Project report | Major Project | Engineering | Devansh Koolwal
Project report | Major Project | Engineering | Devansh KoolwalProject report | Major Project | Engineering | Devansh Koolwal
Project report | Major Project | Engineering | Devansh Koolwal
Devansh Koolwal
 
Modern Web Development
Modern Web DevelopmentModern Web Development
Modern Web Development
Robert Nyman
 
Portfolio
PortfolioPortfolio
Portfolio
Gun Hyuk Go
 
Static dynamic and active web pages
Static dynamic and active web pagesStatic dynamic and active web pages
Static dynamic and active web pages
Mohammad Kamrul Hasan
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
Saikiran Sheshagiri
 
Web browsers and web document
Web browsers and web documentWeb browsers and web document
Web browsers and web document
Mohammad Kamrul Hasan
 
Bcs 053 solved assignment 2014-15
Bcs 053 solved assignment 2014-15Bcs 053 solved assignment 2014-15
Bcs 053 solved assignment 2014-15
Indira Gnadhi National Open University (IGNOU)
 
Introduction of internet
Introduction of internetIntroduction of internet
Introduction of internet
Gulbir Chaudhary
 
Intro to Front-End Web Devlopment
Intro to Front-End Web DevlopmentIntro to Front-End Web Devlopment
Intro to Front-End Web Devlopment
damonras
 
Web engineering lecture 4
Web engineering lecture 4Web engineering lecture 4
Web engineering lecture 4
University of Swat
 
List of Web Technologies used in Web Development
List of Web Technologies used in Web DevelopmentList of Web Technologies used in Web Development
List of Web Technologies used in Web Development
Jayapal Reddy Nimmakayala
 
KMUTNB - Internet Programming 1/7
KMUTNB - Internet Programming 1/7KMUTNB - Internet Programming 1/7
KMUTNB - Internet Programming 1/7
phuphax
 
Html5 features: location, history and offline apps
Html5 features: location, history and offline appsHtml5 features: location, history and offline apps
Html5 features: location, history and offline apps
Konstantin Delchev
 
ppt of web development for diploma student
ppt of web development for diploma student ppt of web development for diploma student
ppt of web development for diploma student
Abhishekchauhan863165
 
Fundamentals of Web Development For Non-Developers
Fundamentals of Web Development For Non-DevelopersFundamentals of Web Development For Non-Developers
Fundamentals of Web Development For Non-Developers
Lemi Orhan Ergin
 
Zend Framework In Action
Zend Framework In ActionZend Framework In Action
Zend Framework In Action
askme
 
Wa html5-pdf
Wa html5-pdfWa html5-pdf
Wa html5-pdf
Olivier Eeckhoutte
 
How backbone.js is different from ember.js?
How backbone.js is different from ember.js?How backbone.js is different from ember.js?
How backbone.js is different from ember.js?
SoftProdigy - We know software!
 
Wa html5-pdf
Wa html5-pdfWa html5-pdf
Wa html5-pdf
MassoudmAlShareef
 

What's hot (20)

Introduction to web development
Introduction to web developmentIntroduction to web development
Introduction to web development
 
Project report | Major Project | Engineering | Devansh Koolwal
Project report | Major Project | Engineering | Devansh KoolwalProject report | Major Project | Engineering | Devansh Koolwal
Project report | Major Project | Engineering | Devansh Koolwal
 
Modern Web Development
Modern Web DevelopmentModern Web Development
Modern Web Development
 
Portfolio
PortfolioPortfolio
Portfolio
 
Static dynamic and active web pages
Static dynamic and active web pagesStatic dynamic and active web pages
Static dynamic and active web pages
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Web browsers and web document
Web browsers and web documentWeb browsers and web document
Web browsers and web document
 
Bcs 053 solved assignment 2014-15
Bcs 053 solved assignment 2014-15Bcs 053 solved assignment 2014-15
Bcs 053 solved assignment 2014-15
 
Introduction of internet
Introduction of internetIntroduction of internet
Introduction of internet
 
Intro to Front-End Web Devlopment
Intro to Front-End Web DevlopmentIntro to Front-End Web Devlopment
Intro to Front-End Web Devlopment
 
Web engineering lecture 4
Web engineering lecture 4Web engineering lecture 4
Web engineering lecture 4
 
List of Web Technologies used in Web Development
List of Web Technologies used in Web DevelopmentList of Web Technologies used in Web Development
List of Web Technologies used in Web Development
 
KMUTNB - Internet Programming 1/7
KMUTNB - Internet Programming 1/7KMUTNB - Internet Programming 1/7
KMUTNB - Internet Programming 1/7
 
Html5 features: location, history and offline apps
Html5 features: location, history and offline appsHtml5 features: location, history and offline apps
Html5 features: location, history and offline apps
 
ppt of web development for diploma student
ppt of web development for diploma student ppt of web development for diploma student
ppt of web development for diploma student
 
Fundamentals of Web Development For Non-Developers
Fundamentals of Web Development For Non-DevelopersFundamentals of Web Development For Non-Developers
Fundamentals of Web Development For Non-Developers
 
Zend Framework In Action
Zend Framework In ActionZend Framework In Action
Zend Framework In Action
 
Wa html5-pdf
Wa html5-pdfWa html5-pdf
Wa html5-pdf
 
How backbone.js is different from ember.js?
How backbone.js is different from ember.js?How backbone.js is different from ember.js?
How backbone.js is different from ember.js?
 
Wa html5-pdf
Wa html5-pdfWa html5-pdf
Wa html5-pdf
 

Similar to Basic Learning about Progressive Web Apps (PWA)

PWA for PHP Developers
PWA for PHP DevelopersPWA for PHP Developers
PWA for PHP Developers
Ben Marks
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
Akshay Sharma
 
SEMINAR (pwa).pptx
SEMINAR (pwa).pptxSEMINAR (pwa).pptx
SEMINAR (pwa).pptx
BasitMir10
 
9 Best Tools to Leverage for Progressive Web App Development
9 Best Tools to Leverage for Progressive Web App Development9 Best Tools to Leverage for Progressive Web App Development
9 Best Tools to Leverage for Progressive Web App Development
codecraftcrew
 
Progressive Web Apps –The Future of Apps
Progressive Web Apps –The Future of Apps   Progressive Web Apps –The Future of Apps
Progressive Web Apps –The Future of Apps
Ashish Saxena
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
sudharsan
 
Basic Understanding of Progressive Web Apps
Basic Understanding of Progressive Web AppsBasic Understanding of Progressive Web Apps
Basic Understanding of Progressive Web Apps
AnjaliTanpure1
 
Top 10 Best PWA Development Tools and Technologies to Use.pdf
Top 10 Best PWA Development Tools and Technologies to Use.pdfTop 10 Best PWA Development Tools and Technologies to Use.pdf
Top 10 Best PWA Development Tools and Technologies to Use.pdf
Groovy Web
 
Checklist for progressive web app development
Checklist for progressive web app developmentChecklist for progressive web app development
Checklist for progressive web app development
WebGuru Infosystems Pvt. Ltd.
 
Introduction of Progressive Web App
Introduction of Progressive Web AppIntroduction of Progressive Web App
Introduction of Progressive Web App
Sankalp Khandelwal
 
What Are The Top 5 Progressive Web App Development Frameworks For 2023
What Are The Top 5 Progressive Web App Development Frameworks For 2023What Are The Top 5 Progressive Web App Development Frameworks For 2023
What Are The Top 5 Progressive Web App Development Frameworks For 2023
CalvinLee106
 
Top 10 PWA Frameworks in 2020
Top 10 PWA Frameworks in 2020Top 10 PWA Frameworks in 2020
Top 10 PWA Frameworks in 2020
Devathon
 
Progressive web app testing
Progressive web app testingProgressive web app testing
Progressive web app testing
Kalhan Liyanage
 
Progressive Web Apps (PWAs) - Transforming the Future of Full-Stack Developme...
Progressive Web Apps (PWAs) - Transforming the Future of Full-Stack Developme...Progressive Web Apps (PWAs) - Transforming the Future of Full-Stack Developme...
Progressive Web Apps (PWAs) - Transforming the Future of Full-Stack Developme...
mohitreal1995
 
CTE 323 - Lecture 1.pptx
CTE 323 - Lecture 1.pptxCTE 323 - Lecture 1.pptx
CTE 323 - Lecture 1.pptx
OduniyiAdebola
 
0506-django-web-framework-for-python.pdf
0506-django-web-framework-for-python.pdf0506-django-web-framework-for-python.pdf
0506-django-web-framework-for-python.pdf
radhianiedjan1
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
Allison Clemens
 
New trends on web platform
New trends on web platformNew trends on web platform
New trends on web platform
Kenneth Rohde Christiansen
 
Angular webinar - Credo Systemz
Angular webinar - Credo SystemzAngular webinar - Credo Systemz
Angular webinar - Credo Systemz
Training Institute
 
What Are Progressive Web Application Development
What Are Progressive Web Application DevelopmentWhat Are Progressive Web Application Development
What Are Progressive Web Application Development
App Verticals
 

Similar to Basic Learning about Progressive Web Apps (PWA) (20)

PWA for PHP Developers
PWA for PHP DevelopersPWA for PHP Developers
PWA for PHP Developers
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
 
SEMINAR (pwa).pptx
SEMINAR (pwa).pptxSEMINAR (pwa).pptx
SEMINAR (pwa).pptx
 
9 Best Tools to Leverage for Progressive Web App Development
9 Best Tools to Leverage for Progressive Web App Development9 Best Tools to Leverage for Progressive Web App Development
9 Best Tools to Leverage for Progressive Web App Development
 
Progressive Web Apps –The Future of Apps
Progressive Web Apps –The Future of Apps   Progressive Web Apps –The Future of Apps
Progressive Web Apps –The Future of Apps
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
Basic Understanding of Progressive Web Apps
Basic Understanding of Progressive Web AppsBasic Understanding of Progressive Web Apps
Basic Understanding of Progressive Web Apps
 
Top 10 Best PWA Development Tools and Technologies to Use.pdf
Top 10 Best PWA Development Tools and Technologies to Use.pdfTop 10 Best PWA Development Tools and Technologies to Use.pdf
Top 10 Best PWA Development Tools and Technologies to Use.pdf
 
Checklist for progressive web app development
Checklist for progressive web app developmentChecklist for progressive web app development
Checklist for progressive web app development
 
Introduction of Progressive Web App
Introduction of Progressive Web AppIntroduction of Progressive Web App
Introduction of Progressive Web App
 
What Are The Top 5 Progressive Web App Development Frameworks For 2023
What Are The Top 5 Progressive Web App Development Frameworks For 2023What Are The Top 5 Progressive Web App Development Frameworks For 2023
What Are The Top 5 Progressive Web App Development Frameworks For 2023
 
Top 10 PWA Frameworks in 2020
Top 10 PWA Frameworks in 2020Top 10 PWA Frameworks in 2020
Top 10 PWA Frameworks in 2020
 
Progressive web app testing
Progressive web app testingProgressive web app testing
Progressive web app testing
 
Progressive Web Apps (PWAs) - Transforming the Future of Full-Stack Developme...
Progressive Web Apps (PWAs) - Transforming the Future of Full-Stack Developme...Progressive Web Apps (PWAs) - Transforming the Future of Full-Stack Developme...
Progressive Web Apps (PWAs) - Transforming the Future of Full-Stack Developme...
 
CTE 323 - Lecture 1.pptx
CTE 323 - Lecture 1.pptxCTE 323 - Lecture 1.pptx
CTE 323 - Lecture 1.pptx
 
0506-django-web-framework-for-python.pdf
0506-django-web-framework-for-python.pdf0506-django-web-framework-for-python.pdf
0506-django-web-framework-for-python.pdf
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
New trends on web platform
New trends on web platformNew trends on web platform
New trends on web platform
 
Angular webinar - Credo Systemz
Angular webinar - Credo SystemzAngular webinar - Credo Systemz
Angular webinar - Credo Systemz
 
What Are Progressive Web Application Development
What Are Progressive Web Application DevelopmentWhat Are Progressive Web Application Development
What Are Progressive Web Application Development
 

More from Muhamad Aldy Bintang

Final presentation aldy ian - pwa
Final presentation   aldy ian - pwaFinal presentation   aldy ian - pwa
Final presentation aldy ian - pwa
Muhamad Aldy Bintang
 
20190821 muhamad aldy b. status report
20190821 muhamad aldy b. status report20190821 muhamad aldy b. status report
20190821 muhamad aldy b. status report
Muhamad Aldy Bintang
 
20190814 muhamad aldy b. status report
20190814 muhamad aldy b. status report20190814 muhamad aldy b. status report
20190814 muhamad aldy b. status report
Muhamad Aldy Bintang
 
20190805_pwa ian, aldy, thariq_midterm
20190805_pwa ian, aldy, thariq_midterm20190805_pwa ian, aldy, thariq_midterm
20190805_pwa ian, aldy, thariq_midterm
Muhamad Aldy Bintang
 
20190802 muhamad aldy b. status report
20190802 muhamad aldy b. status report20190802 muhamad aldy b. status report
20190802 muhamad aldy b. status report
Muhamad Aldy Bintang
 
20190725 muhamad aldy b. status report
20190725 muhamad aldy b. status report20190725 muhamad aldy b. status report
20190725 muhamad aldy b. status report
Muhamad Aldy Bintang
 
20190718_muhamad aldy b._status report
20190718_muhamad aldy b._status report20190718_muhamad aldy b._status report
20190718_muhamad aldy b._status report
Muhamad Aldy Bintang
 
201907_10 muhamad aldy b._status report
201907_10 muhamad aldy b._status report201907_10 muhamad aldy b._status report
201907_10 muhamad aldy b._status report
Muhamad Aldy Bintang
 
MAB meeting1 10 july 2019
MAB meeting1 10 july 2019MAB meeting1 10 july 2019
MAB meeting1 10 july 2019
Muhamad Aldy Bintang
 
Muhamad Aldy Bintang - NTUST Introduction Presentation
Muhamad Aldy Bintang - NTUST Introduction PresentationMuhamad Aldy Bintang - NTUST Introduction Presentation
Muhamad Aldy Bintang - NTUST Introduction Presentation
Muhamad Aldy Bintang
 

More from Muhamad Aldy Bintang (10)

Final presentation aldy ian - pwa
Final presentation   aldy ian - pwaFinal presentation   aldy ian - pwa
Final presentation aldy ian - pwa
 
20190821 muhamad aldy b. status report
20190821 muhamad aldy b. status report20190821 muhamad aldy b. status report
20190821 muhamad aldy b. status report
 
20190814 muhamad aldy b. status report
20190814 muhamad aldy b. status report20190814 muhamad aldy b. status report
20190814 muhamad aldy b. status report
 
20190805_pwa ian, aldy, thariq_midterm
20190805_pwa ian, aldy, thariq_midterm20190805_pwa ian, aldy, thariq_midterm
20190805_pwa ian, aldy, thariq_midterm
 
20190802 muhamad aldy b. status report
20190802 muhamad aldy b. status report20190802 muhamad aldy b. status report
20190802 muhamad aldy b. status report
 
20190725 muhamad aldy b. status report
20190725 muhamad aldy b. status report20190725 muhamad aldy b. status report
20190725 muhamad aldy b. status report
 
20190718_muhamad aldy b._status report
20190718_muhamad aldy b._status report20190718_muhamad aldy b._status report
20190718_muhamad aldy b._status report
 
201907_10 muhamad aldy b._status report
201907_10 muhamad aldy b._status report201907_10 muhamad aldy b._status report
201907_10 muhamad aldy b._status report
 
MAB meeting1 10 july 2019
MAB meeting1 10 july 2019MAB meeting1 10 july 2019
MAB meeting1 10 july 2019
 
Muhamad Aldy Bintang - NTUST Introduction Presentation
Muhamad Aldy Bintang - NTUST Introduction PresentationMuhamad Aldy Bintang - NTUST Introduction Presentation
Muhamad Aldy Bintang - NTUST Introduction Presentation
 

Recently uploaded

PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
Dr. Shivangi Singh Parihar
 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
adhitya5119
 
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptxC1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
mulvey2
 
S1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptxS1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptx
tarandeep35
 
Pengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptxPengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptx
Fajar Baskoro
 
Life upper-Intermediate B2 Workbook for student
Life upper-Intermediate B2 Workbook for studentLife upper-Intermediate B2 Workbook for student
Life upper-Intermediate B2 Workbook for student
NgcHiNguyn25
 
How to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRMHow to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRM
Celine George
 
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama UniversityNatural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Akanksha trivedi rama nursing college kanpur.
 
How to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold MethodHow to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold Method
Celine George
 
How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
Celine George
 
DRUGS AND ITS classification slide share
DRUGS AND ITS classification slide shareDRUGS AND ITS classification slide share
DRUGS AND ITS classification slide share
taiba qazi
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
Celine George
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
Celine George
 
Walmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdfWalmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdf
TechSoup
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Dr. Vinod Kumar Kanvaria
 
PIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf IslamabadPIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf Islamabad
AyyanKhan40
 
Community pharmacy- Social and preventive pharmacy UNIT 5
Community pharmacy- Social and preventive pharmacy UNIT 5Community pharmacy- Social and preventive pharmacy UNIT 5
Community pharmacy- Social and preventive pharmacy UNIT 5
sayalidalavi006
 
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UPLAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
RAHUL
 
The basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptxThe basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptx
heathfieldcps1
 
The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
History of Stoke Newington
 

Recently uploaded (20)

PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
 
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptxC1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
 
S1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptxS1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptx
 
Pengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptxPengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptx
 
Life upper-Intermediate B2 Workbook for student
Life upper-Intermediate B2 Workbook for studentLife upper-Intermediate B2 Workbook for student
Life upper-Intermediate B2 Workbook for student
 
How to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRMHow to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRM
 
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama UniversityNatural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
 
How to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold MethodHow to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold Method
 
How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
 
DRUGS AND ITS classification slide share
DRUGS AND ITS classification slide shareDRUGS AND ITS classification slide share
DRUGS AND ITS classification slide share
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
 
Walmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdfWalmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdf
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
 
PIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf IslamabadPIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf Islamabad
 
Community pharmacy- Social and preventive pharmacy UNIT 5
Community pharmacy- Social and preventive pharmacy UNIT 5Community pharmacy- Social and preventive pharmacy UNIT 5
Community pharmacy- Social and preventive pharmacy UNIT 5
 
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UPLAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
 
The basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptxThe basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptx
 
The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
 

Basic Learning about Progressive Web Apps (PWA)

  • 1. Basic Learning about Progressive Web Apps (PWA) MUHAMAD ALDY BINTANG UNIVERSITAS INDONESIA 20/02/2019
  • 2. READ ME FIRST • I do not own the entire content, basically I will reference all the literature I have found from books and internets. • Any pictures, content, and examples of code are belong to their owner, I will state the reference of the owner on the end of the presentation. • This presentation is for study purpose only. • If you have any question or critic for this presentation, you can contact me on muhamadaldy17@gmail.com. 20/02/2019
  • 3. OUTLINE o PWA basic understanding o The advantages of PWA o PWA components for website o Simple PWA o Simple code for PWA 20/02/2019
  • 4. History of PWA Wikipedia[1] said PWA, Progressive Web Application, is a web application (we know as Website) which load like regular website with offer the user functionally for user’s flexibility. Timeline history ◦ 2005: Responsive web apps is developed, using PHP, ASP.NET, Ajax. ◦ 2007: Web apps lose to native apps in better user experience and faster file loading. ◦ 2010: Evolve of HTML5, CSS3, and JavaScript, make web apps more capable. ◦ 2015: Frances Berriman and Alex Russell developed first generation of progressive web apps. 20/02/2019
  • 6. Characteristic of PWA Progressive, can works for every user regardless of browser uses because already built with the PWA function. Responsive, can fit in any form factor, mobile and desktop. Connectivity Independent, no always need connection to internet to access, accept to working offline and update later. App like interaction, user can use like they using native apps, with app style. Fresh, always up-to-date with service worker, a JavaScript file which runs separately from main browser thread with function to control network and cache[3], so the user still receive the latest data and store locally when they go offline and update status to server and send the data when go online. Safe, can only works with HTTPS, featuring encrypt and decrypt the traffic. 20/02/2019
  • 7. Characteristic of PWA Discoverable, identifiable as application with W3C App Manifest, can be added to home screen (like example in slide 5) with identity saved in JSON file[4], and easy to search in search engine. Able to re-engage, with push notification user can know the latest update of the website which administrator send with ease. Installable, the web app can be saved into home screen so the user doesn’t has to check/open related app to search again through. Linkable, easily to share via URL and doesn’t require to install first. 20/02/2019
  • 8. Example of Company using PWA • The informations are based on [5] and [6] (see references) • The pictures can be surfed from Internet, all pictures are belong to each of the corporation. 20/02/2019
  • 9. Advantages using PWA[7] Lighter than native apps, less memory, less bandwidth. No need installation instead of built in system. Lower cost because no need to upload the app into store. Less effort to build unlike native apps which need to upload for update release. More support for deep links nowadays. 20/02/2019
  • 10. PWA Components[7] HTML5, main language for write website with progressive support. CSS3, language for styling and designing alongside HTML. JavaScript, language for using JAVA function and access hardware with JavaScript’s API. Service Worker, provide to work offline and auto update when go online. HTTPS, protocol which PWA can be run and accessed on internet. App Manifest, a JSON file for create link to access easily, by W3C. App Shell, the design concept aimed at loading and rendering the container first, example like splash screen. Caching, save some of files in cache memory so furthermore the web app can load shortly. 20/02/2019
  • 11. Some of frameworks for PWA • The information based on [8] (see references). • The pictures can be surfed from Internet, all pictures are belong to each of the corporation. 20/02/2019
  • 12. Simple PWA Example o The main purpose of this website is to show list of movie and search history. o Yassine Benabbas, the author, wrote the article [9] for guiding basic knowledge of PWA using HTML, CSS, and JavaScript. o This PWA run in localhost. 20/02/2019
  • 13. Example PWA Code o index.html code o Calling initialization CSS (main.css) and JavaScript (main.js) o On body: o Two divider container o First one for search box o Second one for display search history o It’s using ID based to call CSS style 20/02/2019
  • 14. Simple PWA Example o main.css file o Three style to be called: history, anime_item, and anime_item img. o The rest of code can be learned from W3C School, it still normal CSS code. 20/02/2019
  • 15. Example PWA Code o Initialization JavaScript o Create empty array to store search history. o Using API from https://api.jikan.me/ to get the data. o When the function buildAnimeMarkup is called, it return the data with HTML code. 20/02/2019
  • 16. Simple PWA Example o Some other function from JavaScript file. o All of the codes are in JavaScript language, it’s better to get used to JAVA language. o JAVA language and JavaScript using object oriented programming concept. 20/02/2019
  • 17. Example PWA Code o JSON code, name manifest.json o It is use for adding into home screen with icon which adjust the device’s screen. o It also storing name, nickname, language, display parameter, etc. when opened later. 20/02/2019
  • 18. Simple PWA Example o In HTML file, add this codes to call manifest.json o With this the website can offer/have feature to be add to device’s home screen. 20/02/2019
  • 19. Simple PWA Example o Furthermore, add service worker so user can work offline and get update (synchronize) when go online. o Add caching feature to reduce loading time in main.js file. o The example is using Web App Manifest Generator for creating manifest.json file. o Add HTTPS protocol which is mandatory for a PWA, we can get free SSL certificate on https://letsencrypt.org/ o Add server side rendering. 20/02/2019
  • 20. Conclusion  PWA is a progressive web apps which run as a website with app-like style and feature, get more interactive and flexible for user experience.  PWA have several characteristic, like app-like, connection independent, safe, and advantages, such as light weight (in load time and data), no installation, lower cost.  PWA built with HTML, CSS, and JavaScript language, and can be worked with framework, like Ionic, Quasar.  A simple PWA should have features, like can be added into home screen, service worker (offline mode), HTTPS protocol, as it base. 20/02/2019
  • 21. REFERENCES 1. Wikipedia. Progressive web applications. https://en.wikipedia.org/wiki/Progressive_web_applications 2. Russell, Alex. 2015. Progressive Web Apps: Escaping Tabs Without Losing Our Soul. https://infrequently.org/2015/06/progressive-apps-escaping-tabs-without-losing-our-soul/ 3. Introduction to Service Worker. https://developers.google.com/web/ilt/pwa/introduction-to- service-worker 4. The Web App Manifest. https://developers.google.com/web/fundamentals/web-app- manifest/ 5. Appscope. 7 Excellent Progressive Web App Examples. https://medium.com/appscope/7- excellent-progressive-web-apps-that-prove-pwas-are-ready-for-mainstream-consumer- adoption-9a8a8e876eba 20/02/2019
  • 22. REFERENCES 6. Progressive Web Apps. https://pwa.rocks/ 7. The Complete Guide to Progressive Web Apps, https://flaviocopes.com/progressive-web- apps/ 8. What are the best PWA framework? https://www.slant.co/topics/12815/~pwa-framework 9. Benabbas, Yassine. 2018. PWA from scratch guide (yet another one). https://itnext.io/pwa- from-scratch-guide-yet-another-one-bdfa438b50aa 20/02/2019