기존에 만들던 프로젝트에 적용을 해보기위해서 시작을 했습니다.
프로그레시브 웹 앱이라고 하며, 웹과 앱의 기능 모두이 이점을 갖도록 수 많은 웹의 특정기술과 표준 패턴을 사용해 개발된 웹 앱입니다.
//menifest.json
{
"name": "TraviaryApp", // 앱의 이름을 정한다.
"short_name": "Traviary",
"start_url": "",
"display": "standalone",
"background_color": "#F8F7DA",![](https://velog.velcdn.com/images/yangth/post/7a41cd97-7095-4e35-bd18-e76cc7eadaf1/image.png)
"theme_color": "#8C383A",
"description": "PWA with Vite.js, React.js and TypeScript",
"icons": [
{
"src": "icons/palm-tree.ico",
"sizes": "64x64",
"type": "image/x-icon"
},
{
"src": "icons/palm-tree(256x256).png",
"type": "image/png",
"sizes": "256x256"
},
{
"src": "icons/palm-tree(512x512).png",
"type": "image/png",
"sizes": "512x512"
},
{
"src": "icons/palm-tree(512x512).png",
"type": "image/png",
"sizes": "512x512"
}
]
} /// 아이콘들
// sw.js (service Worker)
// eslint-disable-next-line no-unused-vars
self.addEventListener("install", (e) => {
console.log("[Service Worker] installed")
});
// install
self.addEventListener('activate', (e) => {
console.log("[Service Worker] actived", e)
})
//activate
self.addEventListener('fetch', (e) => {
console.log("[Service Worker] fetched resource" + e.request.url)
})
// fetch
설치를 하고
실행을 시키면
이렇게 앱이 완성이 됩니다.
이걸 이제 핸드폰에 앱처럼 사용할수 있게 만들어볼 예정입니다.
예상외로 간단하게 설치 할수 있어서 좋았고, 저번 zero-gg 프로젝트에서 팀원이 리뷰를 했을때 듣기만 하고 해보질 못해서 조금은 아쉬웠는데 이번 기회를 통해서 PWA를 적용할수 있어서 좋았습니다. 이외에도 추가로 기능들이 있는걸로 알고 있는데 조금 더 공부해서 조금 심화된 내용을 적용해보고자 합니다.