Công nghệ

 

Progressive Web App hay PWA là một công nghệ mới phát triển trong vài năm gần đây,là một ựng dạng web chỉ sử dụng html,css,js nhưng có thể cài đặt trên điện thoại và truy cập online.Nếu bạn đang tìm hiểu Progressive Web App  và muốn thực hành dễ hiểu nhất,tải code về xem thì có thể cùng CSTSoft tạo 1 web đơn giản PWA chạy trực tiếp trên internet

Progress Web App cơ bản gồm những gì?

  • PWAs cơ bản nhất là một web app được tạo từ  HTML, CSS và JS đơn giản nhất.
  • PWA gồm một manifest.json chứa những thông tin cho ứng dụng của bạn, bao gồm icons, background, màu,tên App…
  • PWA gồm 1 file đăng ký  Service Worker xử lý  dữ liệu qua mạng online , offline
  • PWA có thể cài đặt như 1 ứng dụng app thông thường với 1 icon ngoài màn hình chính

Để tạo 1 PWA đơn giản bạn làm theo các bước đơn giản sau đây

Bước 1: Tạo 1 trang html bắt đầu ứng dụng, link tới file manifest.json.Đây là một file quan trọng sẽ được tạo trong bước tiếp theo. Có thể đặt index.html

Code: 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

<!DOCTYPE html>

<html>

<head>

 

<!-- Responsive -->

<meta charset="utf-8">

<meta name="viewport"

        content="width=device-width,

                initial-scale=1">

<meta http-equiv="X-UA-Compatible"

        content="ie=edge">

 

<!-- Title -->

<title>PWA SonWeb</title>

 

<!-- Meta Tags required for

    Progressive Web App -->

<meta name=

"apple-mobile-web-app-status-bar"

        content="#aa7700">

<meta name="theme-color"

        content="blue">

 

<!-- Manifest File link -->

<link rel="manifest"

        href="manifest.json">

</head>

 

<body>

<h1 style="color: green;">

    SonWeb App</h1>

 

 

<p>

    This is a simple tutorial for

    creating a PWA application.

</p>

 

 

<script>

    window.addEventListener('load', () => {

        registerSW();

    });

 

    // Register the Service Worker

    async function registerSW() {

        if ('serviceWorker' in navigator) {

            try {

            await navigator

                    .serviceWorker

                    .register('serviceWorker.js');

            }

            catch (e) {

            console.log('SW registration failed');

            }

        }

    }

</script>

 

 

</body>

</html>

Bước 2: Tạo 1 file manifest.json cùng thư mục,File này về cơ bản chứa thông tin về ứng dụng web.Một số thông tin cơ bản bao gồm tên ứng dụng, URL bắt đầu, màu chủ đề và biểu tượng.Tất cả thông tin cần thiết được viết ở định dạng JSON
Code mẫu file maifest.json

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

{

    "name":"PWA SonWeb",

    "short_name":"PWA",

    "start_url":"index.html",

    "display":"standalone",

    "background_color":"#5900b3",

    "theme_color":"black",

    "scope": ".",

    "description":"This is a PWA simple.",

    "icons":[

    {

    "src":"images/icon-192x192.png",                   

    "sizes":"192x192",

    "type":"image/png"

    },

    {

    "src":"images/icon-512x512.png",

    "sizes":"512x512",

    "type":"image/png"

    }

]

}

Bước 3: Tạo một thư mục mới là images và chứa icon cài đặt ứng dụng trong thư mục đó.Bạn nên có kích thước của các biểu tượng ít nhất là 192 x 192 pixel và 512 x 512 pixel.Tên image and kích thước nên khớp với khai báo trong manifest.json
Bước 4: Mở file index.html trong trình chuyệt Chorme dùng Chrome Developer Tools.Mở Mở manifest từ danh sách

Bước 5: Chúng tôi sẽ cần tạo một file serviceworker.js cho PWA cùng thư mục.File này xử lý cấu hình của dịch vụ, hoạt động của ứng dụng
Code serviceworker.js mẫu:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

var staticCacheName = "pwa";

 

self.addEventListener("install", function (e) {

e.waitUntil(

    caches.open(staticCacheName).then(function (cache) {

    return cache.addAll(["/"]);

    })

);

});

 

self.addEventListener("fetch", function (event) {

console.log(event.request.url);

 

event.respondWith(

    caches.match(event.request).then(function (response) {

    return response || fetch(event.request);

    })

);

});

bước 6: Bước cuối cùng là liên kết file service worker tới index.html,Thêm code script tag trong file index.html.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

<script>

    window.addEventListener('load', () => {

    registerSW();

    });

 

    // Register the Service Worker

    async function registerSW() {

    if ('serviceWorker' in navigator) {

        try {

        await navigator

                .serviceWorker

                .register('serviceworker.js');

        }

        catch (e) {

        console.log('SW registration failed');

        }

    }

    }

</script>

Cài đặt một ứng dụng web PWA
Trên máy tính, hãy mở Chrome.
Truy cập vào một trang web mà bạn muốn cài đặt.
Ở trên cùng bên phải của thanh địa chỉ, hãy nhấp vào biểu tượng Cài đặt .
Làm theo hướng dẫn trên màn hình để cài đặt PWA.

Bạn có thể tải file về xem trực tiếp tại đây: PWA code

Thông tin chi tiết vui lòng liên hệ:

CÔNG TY CỔ PHẦN TƯ VẤN GIẢI PHÁP CÔNG NGHỆ CSTSOFT

Địa chỉ: 192 Lê Trọng Tấn - Hà Nội

Số điện thoại: 098 913 8873

Email: support@cstsoft.net