Skip to content

๐ŸŠ Introduction to the book 'Do it! Making Progressive Web Apps (PWAs)'. ๐Ÿต 'Do it! ํ”„๋กœ๊ทธ๋ ˆ์‹œ๋ธŒ ์›น์•ฑ ๋งŒ๋“ค๊ธฐ' ์ฑ…์˜ ์†Œ๊ฐœ์ž…๋‹ˆ๋‹ค.

Notifications You must be signed in to change notification settings

codedesign-webapp/pwa-about

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

71 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Hits





1. Do it! ํ”„๋กœ๊ทธ๋ ˆ์‹œ๋ธŒ ์›น์•ฑ ๋งŒ๋“ค๊ธฐ ์ฑ…์ด๋ž€?

'Do it! ํ”„๋กœ๊ทธ๋ ˆ์‹œ๋ธŒ ์›น์•ฑ ๋งŒ๋“ค๊ธฐ' ์ฑ…์˜ ์†Œ๊ฐœ์ž…๋‹ˆ๋‹ค.



๋“ค์–ด๊ฐ€๋ฉฐ

์ตœ๊ทผ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ„์•ผ๋Š” PWA(Progressive Web Apps, ํ”„๋กœ๊ทธ๋ ˆ์‹œ๋ธŒ ์›น์•ฑ), ๋ทฐ(Vue.js) ๋“ฑ์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํ†ตํ•œ SPA(Single Page Apps) ์ง€์›, ํŒŒ์ด์–ด๋ฒ ์ด์Šค(Firebase) ๋“ฑ์˜ ์‹ค์‹œ๊ฐ„ DB ์‚ฌ์šฉ๊ณผ ๊ฐ™์€ ๋งŽ์€ ๋ณ€ํ™”๊ฐ€ ์ด๋ค„์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋Ÿฌํ•œ ๋™ํ–ฅ์„ ๋‹ด์•„ ๊ทธ ๋™์•ˆ ๋‹ค๋ฃจ์ง€ ๋ชปํ–ˆ๋˜ ์ฃผ์ œ์˜ ์ƒˆ๋กœ์šด ์ฑ…์œผ๋กœ ์ค€๋น„ํ•˜์—ฌ 'Do it ํ”„๋กœ๊ทธ๋ ˆ์‹œ๋ธŒ ์›น์•ฑ(PWA) ๋งŒ๋“ค๊ธฐ'๋ผ๋Š” ์ฑ…์œผ๋กœ ๋งŒ๋‚˜๋ต™๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.


  • ํ”„๋กœ๊ทธ๋ ˆ์‹œ๋ธŒ ์›น์•ฑ(PWA) ๋งŒ๋“ค๊ธฐ๊ฐ€ ์ฆ๊ฒ๋‹ค!

  • ์ž…๋ฌธ์šฉ ์•ฑ์€ ๋ฌผ๋ก , 6๊ฐ€์ง€ ์‹ค์ „ ์ƒํ™ฉ์„ ์œ„ํ•œ PWA ํ”„๋กœ์ ํŠธ ์™„์„ฑ

  • PWA์—์„œ ๋ฉˆ์ถ”์ง€ ์•Š๊ณ  ํ•˜์ด๋ธŒ๋ฆฌ๋“œ์•ฑ์œผ๋กœ ๋ณ€ํ™˜, ๊ตฌ๊ธ€ ํ”Œ๋ ˆ์ด ๋“ฑ๋ก๊นŒ์ง€ ์ „ ๊ณผ์ •์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค!

  • ๋˜‘๊ฐ™์€ ์ฝ”๋“œ ๋ฒ ์ด์Šค์—์„œ ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ์œผ๋กœ ์‰ฝ๊ฒŒ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ์ง„์ •ํ•œ ํฌ๋กœ์Šค ํ”Œ๋žซํผ ํ”„๋ ˆ์ž„์›Œํฌ๋ผ ํ•  ์ˆ˜ ์žˆ๋‹ค!


์ด ์ฑ…์œผ๋กœ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋Š” 14๊ฐ€์ง€ ํ•ต์‹ฌ ์ฃผ์ œ

์ด ์ฑ…์— ์‹ค๋ฆฐ ๋‹ค์–‘ํ•œ ์‹ค์Šต์„ ๋”ฐ๋ผ ํ•˜๋‹ค ๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ 14๊ฐ€์ง€ ํ•ต์‹ฌ ์ฃผ์ œ๋ฅผ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ํ„ฐ๋“ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ์ˆ ์€ ๋ชจ๋˜ ์›น๊ณผ ๋ชจ๋ฐ”์ผ ์•ฑ์„ ๊ฐœ๋ฐœํ•  ๋•Œ ํ•„์ˆ˜์ด๋ฏ€๋กœ ํ”„๋ŸฐํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๋กœ ์„ฑ์žฅํ•˜๋Š” ๋ฐ ํญ๋„“์€ ๊ฒฝํ—˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

1. ES6+ ํ•„์ˆ˜ ๊ธฐ๋Šฅ
2. ๋ทฐ, ๋ทฐํ‹ฐํŒŒ์ด ๊ธฐ์ดˆ & ๊ณ ๊ธ‰
3. ๊ตฌ๊ธ€ ๋จธํ‹ฐ๋ฆฌ์–ผ ๋””์ž์ธ ์ŠคํŽ™ 2
4. ๋ฐ˜์‘ํ˜• ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ
5. ํŒŒ์ด์–ด๋ฒ ์ด์Šค ์‹ค์‹œ๊ฐ„ DB
6. ์›Œํฌ๋ฐ•์Šค ๋Ÿฐํƒ€์ž„ ์บ์‹œ
7. ๋ชจ๋ฐ”์ผ ํ•˜๋“œ์›จ์–ด ์ œ์–ด
8. ์ด๋ฉ”์ผ-๊ตฌ๊ธ€ ์ธ์ฆ
9. ํ‘ธ์‹œ ์•Œ๋ฆผ
10. ์˜คํ”„๋ผ์ธ ๋™๊ธฐํ™”
11. ์•„ํŒŒ์น˜ ์ฝ”๋ฅด๋„๋ฐ”๋กœ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์•ฑ ๋งŒ๋“ค๊ธฐ
12. PWA โ†’ ๋„ค์ดํ‹ฐ๋ธŒ ์•ฑ ๋ณ€ํ™˜
13. ๊ตฌ๊ธ€ ํ”Œ๋ ˆ์ด ์Šคํ† ์–ด์— ๋ฐฐํฌ
14. ์„œ๋ฒ„๋ฆฌ์Šค ํ”„๋กœ๊ทธ๋ž˜๋ฐ

์ฑ… ์ž์„ธํžˆ ์‚ดํŽด๋ณด๊ธฐ



2. ์ฑ…์˜ ๋‚ด์šฉ

'Do it! ํ”„๋กœ๊ทธ๋ ˆ์‹œ๋ธŒ ์›น์•ฑ(PWA) ๋งŒ๋“ค๊ธฐ' ์ฑ…์—์„œ ๋‹ค๋ฃฐ ๋‚ด์šฉ์„ ๊ฐ„๋žตํžˆ ์ •๋ฆฌํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

| ์ฒซ์งธ๋งˆ๋‹น |

์ „ ์„ธ๊ณ„์ ์œผ๋กœ ์ฃผ๋ชฉ๋ฐ›๋Š” ํ”„๋กœ๊ทธ๋ ˆ์‹œ๋ธŒ ์›น์•ฑ์˜ ํŠน์ง•์„ ์ž์„ธํžˆ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค.

  • ํ—ฌ๋กœ์›”๋“œ! ํ”„๋กœ๊ทธ๋ ˆ์‹œ๋ธŒ ์›น์•ฑ
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ES6+
  • ์ˆœ์ˆ˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์™€ PWA

| ๋‘˜์งธ๋งˆ๋‹น |

ํ˜„๋Œ€ํ™”๋œ ์›น์•ฑ ์ž‘์—…์„ ์‰ฝ๊ฒŒ ์ˆ˜ํ–‰ํ•˜๋ ค๋ฉด ๋ทฐ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ž˜ ํ™œ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ๋ทฐ, Vuex, Vue Router, SPA(Single Page Application)
  • ๋ทฐํ‹ฐํŒŒ์ด์™€ ๋จธํ‹ฐ๋ฆฌ์–ผ๋””์ž์ธ(์ŠคํŽ™2)
  • ๋ทฐ์™€ PWA

| ์…‹์งธ๋งˆ๋‹น |

์‹ค์ „ ์‘์šฉ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ์ˆ˜์ค€๋ณ„๋กœ ๋‹ค์–‘ํ•œ ์ƒํ™ฉ์˜ ์•ฑ์„ ์„ค๊ณ„ํ•˜๊ณ  ์ค€๋น„ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ๊ตฌ๊ธ€ Workbox, ํŒŒ์ด์–ด๋ฒ ์ด์Šค
  • ์‹ค์ „ ์ƒํ™ฉ์˜ 6๊ฐ€์ง€ ์•ฑ ํ”„๋กœ์ ํŠธ : To-Do ์•ฑ ๋งŒ๋“ค๊ธฐ, ์‚ฌ์ง„ ๊ฐค๋Ÿฌ๋ฆฌ ์•ฑ ๋งŒ๋“ค๊ธฐ, ์นด๋ฉ”๋ผ ๊ฐค๋Ÿฌ๋ฆฌ ์•ฑ ๋งŒ๋“ค๊ธฐ, ๋กœ๊ทธ์ธ ์„œ๋น„์Šค ๋งŒ๋“ค๊ธฐ, ํ‘ธ์‹œ ์•Œ๋ฆผ ์„œ๋น„์Šค ๋งŒ๋“ค๊ธฐ, ์˜คํ”„๋ผ์ธ ๋™๊ธฐํ™” ๊ธฐ๋Šฅ ๋งŒ๋“ค๊ธฐ

| ๋„ท์งธ๋งˆ๋‹น |

PWA๋ฅผ ๊ตฌ๊ธ€ ํ”Œ๋ ˆ์ด์—๋„ ๋ฐฐํฌ์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์˜ ์ด์•ผ๊ธฐ๊ฐ€ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.

  • ํ•˜์ด๋ธŒ๋ฆฌ๋“œ์•ฑ๊ณผ ์ฝ”๋ฅด๋„๋ฐ”
  • PWA์™€ ์•ˆ๋“œ๋กœ์ด๋“œ์•ฑ
  • ๊ตฌ๊ธ€ ํ”Œ๋ ˆ์ด ์Šคํ† ์–ด์— ์•ฑ ๋“ฑ๋กํ•˜๊ธฐ

์ƒ์„ธํ•œ ๋ชฉ์ฐจ์™€ ์˜ˆ์ œ ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ ๋ฐฉ๋ฒ•์€ ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.



3. ๋ผ์ด๋ธŒ ๋ฐ๋ชจ

์ฑ…์„ ํ†ตํ•ด์„œ ๋งŒ๋“ค๊ฒŒ ๋  PWA ์•ฑ์˜ ๋ผ์ด๋ธŒ ๋ฐ๋ชจ์ž…๋‹ˆ๋‹ค. ์‹ค์ „ ์ƒํ™ฉ์˜ ์ด 6๊ฐ€์ง€ ์•ฑ์„ ๋ผ์ด๋ธŒ๋กœ ์ง์ ‘ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋” ๋‚˜์•„๊ฐ€ ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ์œผ๋กœ ๋ณ€ํ™˜๋œ PWA ์•ฑ์„ ๊ตฌ๊ธ€ ํ”Œ๋ ˆ์ด์—์„œ ์ง์ ‘ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์•„ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.



์ง€๊ธˆ ๋ฐ”๋กœ ์‹คํ–‰ํ•ด์„œ ํ…Œ์ŠคํŠธํ•˜์‹œ๋ ค๋ฉด ์•„๋ž˜ ๋งํฌ๋ฅผ ํ™œ์šฉํ•ด ๋ณด์„ธ์š”.

PWA Live Demo



4. ๋งˆ๋ฌด๋ฆฌ

์ด ์ฑ…์—์„œ ๊ฐ€์žฅ ์ค‘์‹ฌ์„ ์ด๋ฃจ๋Š” ํ‚ค์›Œ๋“œ๋Š” ํ”„๋กœ๊ทธ๋ ˆ์‹œ๋ธŒ ์›น์•ฑ(PWA)์˜ ๋งŒ๋“ค๊ธฐ๊ฐ€ ์ฆ๊ฒ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฑ…์„ ์ค€๋น„ํ•˜๋ฉด์„œ ์•Œ๊ฒŒ๋œ PWA์— ๋Œ€ํ•œ ๋ทฐ์˜ ์ฒ ํ•™๊ณผ ์ง€์›๋„ ๋„ˆ๋ฌด ํ›Œ๋ฅญํ–ˆ๊ณ  ๊ทธ ๋™์•ˆ ๊ฟˆ๊ฟ”์™”๋˜ ์›น์œผ๋กœ ์ด์ƒ์ ์ธ ์•ฑ์„ ๋งŒ๋“œ๋Š” ์‹œ๋Œ€๊ฐ€ ์ •๋ง ์ด๋ค„์ง€๋Š” ์›น์•ฑ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์˜ ๋ณ€ํ™”๋„ ๋†€๋ž์Šต๋‹ˆ๋‹ค. CODE*DESIGN ์›น์•ฑ(https://code-design.web.app) ์นดํŽ˜๊ฐ€ ์‹œ์ž‘๋œ 2012๋…„ ๋ถ€ํ„ฐ ์•ฝ 9๋…„๋™์•ˆ์€ ํšŒ์›๋ถ„๋“ค๊ป˜์„œ ๋ฌผ์–ด๋ด ์ฃผ์‹  2000์—ฌ๊ฐœ์˜ ์งˆ๋ฌธ์— ๋‹ต์„ ์ค€๋น„ํ•˜๊ณ  600์—ฌ๊ฐœ์˜ ์•ฑ ์ œ์ž‘์— ๋Œ€ํ•œ ์ƒ๊ฐ๋“ค์„ ๋‚˜๋ˆ„๋ฉด์„œ ์–ด๋–ค ๊ธฐ์ˆ ๋“ค์„ ์•Œ๋ ค๋“œ๋ ค์•ผ ํ•  ์ง€ ๋Š˜ ๊ณ ์‹ฌํ–ˆ๋˜ ์‹œ๊ธฐ์˜€๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์•ฑ ์ œ์ž‘์— ๋Œ€ํ•œ ๊ฟˆ์„ ์ด๋ฃจ์‹œ๋Š”๋ฐ ์–ด๋–ค ๊ฒƒ์„ ๋“œ๋ฆด ์ˆ˜ ์žˆ์„๊ฐ€๋ฅผ ์ค€๋น„ํ•˜๊ณ  ๋‹ค๋“ฌ์œผ๋ฉด์„œ ๋งˆ์นจ๋‚ด ์‹ค์ „์˜ ์ƒํ™ฉ๋ณ„ ์˜ˆ์ œ์™€ ์ œ์ž‘ ๋ฐฉ๋ฒ•์„ ์ฑ…์— ๋‹ด์„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋ชจ์ชผ๋ก ์ •๋ฆฌํ•œ ๋‚ด์šฉ๋“ค์ด ์ฑ…์„ ๋น ๋ฅด๊ฒŒ ๊ฒ€ํ† ํ•˜๊ณ  ๊ณ„ํš์„ ์„ธ์šฐ์‹ค ๋•Œ ๋„์›€๋“œ๋ ธ์œผ๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ์ฑ…์„ ํ†ตํ•ด ํ•™์ƒ๊ณผ ์ง์žฅ์ธ๋“ค์—๊ฒŒ๋Š” ์ข‹์€ ํฌํŠธํด๋ฆฌ์˜ค์˜ ์žฌ๋ฃŒ๊ฐ€ ๋˜๊ณ  ๊ธฐ์—…์ธ๋“ค์—๊ฒŒ๋Š” ์„ฑ๊ณต์ ์ธ ์‚ฌ์—…์„ ์ด๋ฃจ์‹œ๋Š”๋ฐ์— ์กฐ๊ธˆ์ด๋‚˜๋งˆ ๊ธฐ์—ฌ๋˜์—ˆ์œผ๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.



CODE*DESIGN ์›น์•ฑ : https://CODE-DESIGN.web.app

'CODE*DESIGN ์›น์•ฑ'์€ PWA ํ”„๋กœ๊ทธ๋ ˆ์‹œ๋ธŒ ์›น์•ฑ์˜ ๊ฐœ๋ฐœ๊ณผ UIUX ๋””์ž์ธ ๋ฐฉ๋ฒ•์˜ ์Šคํ„ฐ๋””๋ฅผ ์œ„ํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ ์นดํŽ˜์ž…๋‹ˆ๋‹ค.












1. What is a book 'Do it! Making Progressive Web Apps(PWAs)'?

This is an introduction to the book 'Do it! Making Progressive Web Apps(PWAs)'.



Introduction

In recent web application fields, there are many emerging tech stacks -- PWAs(Progressive Web Apps), SPA(Single Page Apps), Vue.js, and the use of real-time DBs such as Firebase. So, with this trend, I prepared a new book called 'Do it! Making Progressive Web Apps(PWA)'.


  • Making a Progressive Web App (PWA) is fun!

  • Practice of PWA projects for 6 real apps as well as basic apps

  • You can see the entire process converting from PWA to a hybrid app and registering on Google Play!

  • PWA is a true cross-platform framework because you can easily convert from the same code base of PWA app into your Android app!


14 key topics you can learn from this book

By following the various examples in this book, you can naturally master the 14 key topics: These skills are essential when developing modern web and mobile apps, giving you a broad experience in growing as a front-end developer.

1. ES6+ essential features
2. Basic & Advanced skills for Vue.js, Vuetify.js
3. Google Material Design Specification 2
4. Responsive Web Programming
5. Firebase real-time DB
6. Workbox runtime cache
7. Mobile hardware control
8. Email-Google authentication
9. Push Notification
10. Offline synchronization
11. Making hybrid apps with Apache Cordova
12. PWA โ†’ Native App Conversion
13. Publishing on Google Play Store
14. Serverless Programming

Take a closer look at the book



2. Content of the book

Here is a brief summary of the topics covered in the book 'Do it! Making a Progressive Web Apps(PWAs)'.

| First Part |

Take a closer look at the features of progressive web apps that are gaining worldwide attention.

  • Hello World! Progressive Web Apps
  • JavaScript ES6+
  • vanilla JavaScript and PWA

| Second Part |

To make it easy to work with modern web apps, you need to make good use of Vue.js framework.

  • Vue, Vuex, Vue Router, SPA(Single Page Application)
  • Vuetify and Material Design (Specification 2)
  • Vue and PWA

| Third Part |

We designed and prepared apps in various situations for each level to enable practical application.

  • Google Workbox, Firebase
  • 6 PWA apps for real projects : To-Do app, photo gallery app, camera gallery app, login service, push notification service, and offline sync app.

| Fourth Part |

The story begins how to distribute PWAs to Google Play.

  • Hybrid Apps and Cordova
  • PWAs and Android app
  • Registering an app on the Google Play Store

For detailed table of contents, please refer to the link below.



3. Live Demos

This is a link for 6 live demos of the PWA apps you'll be making through the book. You can directly run a total of 6 PWA apps in real situation, and furthermore, you can download and test the PWA apps converted to an Android app directly from Google Play.



If you want to run it and test it right now, use the link below.

PWA Live Demo



4. Success story of PWAs

The central keyword in this book is that making progressive web apps (PWAs) is fun. Vue's philosophy and support for PWAs, which I learned while preparing the book, was great, and the change is amazing in the web app development environment that really brings the era of creating ideal apps with the web technology I've dreamed of. 'CODE*DESIGN Web App' ( https://code-design.web.app ), for about 9 years since 2012 when the community cafe started, I have prepared answers to around 2,000 questions asked by cafe members and thoughts about creating 600 apps. It seems to have been a long time when I always struggled with what kind of good skills to prepare and share with community members. And while preparing and refining what I could give to fulfill member's dream for creating app, I was finally able to put into a book filled with actual situation and production method.

I hope that this README will help you quickly review the book. And through this book, I hope that it will be a good chance to find materials of a good portfolio for students and front-end developer, and a good contribution to achieve a successful business for businessmen, startup.

Thank you.



CODE*DESIGN web app: https://CODE-DESIGN.web.app

'CODE*DESIGN Web App' is an internet community cafe for PWAs(Progressive Web Apps) development and UI/UX design method studies.

About

๐ŸŠ Introduction to the book 'Do it! Making Progressive Web Apps (PWAs)'. ๐Ÿต 'Do it! ํ”„๋กœ๊ทธ๋ ˆ์‹œ๋ธŒ ์›น์•ฑ ๋งŒ๋“ค๊ธฐ' ์ฑ…์˜ ์†Œ๊ฐœ์ž…๋‹ˆ๋‹ค.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published