Этот материал находится в платной подписке. Оформи премиум подписку и смотри или слушай Progressive Web Apps (PWA) - The Complete Guide, а также все другие курсы, прямо сейчас!
Премиум
  • Урок 1. 00:02:07
    About this Course
  • Урок 2. 00:03:25
    What are Progressive Web Apps?
  • Урок 3. 00:06:08
    PWAs vs Native Mobile Apps
  • Урок 4. 00:06:25
    A Demo PWA & What We'll Build in this Course
  • Урок 5. 00:06:28
    Our First Progressive Web App
  • Урок 6. 00:03:20
    PWA Core Building Blocks
  • Урок 7. 00:03:18
    Comparing PWAs and SPAs
  • Урок 8. 00:03:24
    What is "Progressive Enhancement"?
  • Урок 9. 00:04:25
    Course Outline
  • Урок 10. 00:06:11
    Course Project Setup
  • Урок 11. 00:02:12
    How to get the Most out of this Course
  • Урок 12. 00:01:02
    Module Introduction
  • Урок 13. 00:01:37
    Using an App Manifest to Make your App Installable
  • Урок 14. 00:03:41
    Adding the Manifest
  • Урок 15. 00:09:44
    Understanding App Manifest Properties
  • Урок 16. 00:09:45
    Adding Properties to the App Manifest
  • Урок 17. 00:02:17
    PWAs and Browser Support
  • Урок 18. 00:01:36
    Using the Chrome Developer Tools
  • Урок 19. 00:04:37
    Simulating the Web App on an Emulator
  • Урок 20. 00:02:31
    Installing the Web App - Prerequisites
  • Урок 21. 00:05:51
    Adding Properties for Safari
  • Урок 22. 00:02:31
    Adding Properties for the Internet Explorer
  • Урок 23. 00:00:29
    Wrap Up
  • Урок 24. 00:00:41
    Module Introduction
  • Урок 25. 00:04:41
    Why Service Workers Are Amazing!
  • Урок 26. 00:06:19
    Understanding Service Worker Events
  • Урок 27. 00:05:20
    The Service Worker Lifecycle
  • Урок 28. 00:01:25
    Service Worker Browser Support
  • Урок 29. 00:09:27
    Registering a Service Worker
  • Урок 30. 00:05:40
    Reacting to Incoming Events (in SW)
  • Урок 31. 00:03:01
    Updating & Activating Service Workers
  • Урок 32. 00:04:50
    Non-Lifecycle Events
  • Урок 33. 00:02:41
    Getting that "App Install Banner"
  • Урок 34. 00:03:43
    Testing the App on Real Device (and Installing the App!)
  • Урок 35. 00:06:44
    Deferring the App Install Banner
  • Урок 36. 00:01:21
    Wrap Up
  • Урок 37. 00:00:50
    Module Introduction
  • Урок 38. 00:03:55
    Async Code in JavaScript
  • Урок 39. 00:04:41
    Promises - Basics
  • Урок 40. 00:04:06
    Rejecting Promises
  • Урок 41. 00:02:26
    Where we Use Promises in our Project
  • Урок 42. 00:06:12
    Fetch - Basics
  • Урок 43. 00:04:23
    Sending Post Requests via Fetch
  • Урок 44. 00:03:13
    Fetch and CORS
  • Урок 45. 00:03:05
    Comparing Fetch and Ajax
  • Урок 46. 00:03:30
    Adding Polyfills (for Legacy Browser Support)
  • Урок 47. 00:02:06
    Fetch & Service Workers
  • Урок 48. 00:08:04
    [OPTIONAL] Assignment Solution
  • Урок 49. 00:00:57
    Wrap Up
  • Урок 50. 00:00:44
    Module Introduction
  • Урок 51. 00:03:07
    Why Caching?
  • Урок 52. 00:04:01
    Understanding the Cache API
  • Урок 53. 00:01:50
    Browser Support
  • Урок 54. 00:02:54
    Adjusting the Course Project
  • Урок 55. 00:03:08
    Identifying (Pre-)Cacheable Items
  • Урок 56. 00:11:05
    Static Caching/ Precaching
  • Урок 57. 00:04:56
    Retrieving Items from the Cache
  • Урок 58. 00:03:06
    Adding & Retrieving Multiple Files (to/ from Cache)
  • Урок 59. 00:09:11
    Cache Multiple Files with addAll
  • Урок 60. 00:01:55
    Dynamic Caching - The Basics
  • Урок 61. 00:07:20
    Implementing Dynamic Caching
  • Урок 62. 00:02:14
    Handling Errors
  • Урок 63. 00:06:57
    Adding Cache Versioning
  • Урок 64. 00:06:38
    Different Cache Versions & Cleanup
  • Урок 65. 00:02:43
    Optimizing Cache Management
  • Урок 66. 00:21:52
    [OPTIONAL] Assignment Solution
  • Урок 67. 00:00:36
    Wrap Up
  • Урок 68. 00:01:13
    Module Introduction
  • Урок 69. 00:04:05
    Module Preparation: Adding a Button
  • Урок 70. 00:06:52
    Offering "Cache on Demand"
  • Урок 71. 00:06:22
    Providing an Offline Fallback Page
  • Урок 72. 00:01:44
    Strategy: Cache with Network Fallback
  • Урок 73. 00:03:07
    Strategy: Cache Only
  • Урок 74. 00:01:58
    Strategy: Network Only
  • Урок 75. 00:06:22
    Strategy: Network with Cache Fallback
  • Урок 76. 00:09:05
    Strategy: Cache then Network
  • Урок 77. 00:05:12
    Cache then Network & Dynamic Caching
  • Урок 78. 00:06:00
    Cache then Network with Offline Support
  • Урок 79. 00:03:10
    Cache Strategies & "Routing"
  • Урок 80. 00:05:46
    Applying Cache Only
  • Урок 81. 00:25:53
    [OPTIONAL] Assignment Solution
  • Урок 82. 00:02:41
    A Better Way Of Parsing Static Cache URLs
  • Урок 83. 00:02:58
    A Better Way Of Serving Fallback Files
  • Урок 84. 00:03:19
    Post Request and Cache API
  • Урок 85. 00:06:07
    Cleaning/ Trimming the Cache
  • Урок 86. 00:03:50
    Getting Rid of a Service Worker
  • Урок 87. 00:00:29
    Preparing the Project for the Next Steps
  • Урок 88. 00:00:58
    Wrap Up
  • Урок 89. 00:01:02
    Module Introduction
  • Урок 90. 00:01:13
    Understanding the Basics
  • Урок 91. 00:07:20
    Setting Up Firebase
  • Урок 92. 00:08:32
    Connecting Frontend to Backend
  • Урок 93. 00:04:52
    Dynamic Caching vs. Caching Dynamic Content
  • Урок 94. 00:03:35
    Introducing IndexedDB
  • Урок 95. 00:00:39
    IndexedDB Browser Support
  • Урок 96. 00:02:32
    Adding the IDB File
  • Урок 97. 00:13:12
    Storing Fetched Posts in IndexedDB
  • Урок 98. 00:03:57
    Using IndexedDB in the Service Worker
  • Урок 99. 00:06:41
    Reading Data from IDB
  • Урок 100. 00:03:41
    Clearing IDB & Handling Server-Client Mismatch
  • Урок 101. 00:03:59
    Implementing the Clear Database Method
  • Урок 102. 00:04:06
    Deleting Single Items from the Database
  • Урок 103. 00:01:34
    IndexedDB and Caching Strategies
  • Урок 104. 00:00:46
    Wrap Up
  • Урок 105. 00:01:19
    Module Introduction
  • Урок 106. 00:02:52
    Responsive Design in this Course
  • Урок 107. 00:03:31
    Understanding Responsive Design in our Project
  • Урок 108. 00:09:47
    CSS and Media Queries
  • Урок 109. 00:08:53
    Using Images in a Responsive Way
  • Урок 110. 00:08:30
    Adding Animations
  • Урок 111. 00:01:47
    The Viewport & Scaling
  • Урок 112. 00:00:47
    Wrap Up
  • Урок 113. 00:01:05
    Module Introduction
  • Урок 114. 00:03:34
    How does Background Sync Work?
  • Урок 115. 00:04:05
    Adding the Basic Setup to our Project
  • Урок 116. 00:04:38
    Registering a Synchronization Task
  • Урок 117. 00:06:01
    Storing our Post in IndexedDB
  • Урок 118. 00:04:13
    Adding a Fallback
  • Урок 119. 00:15:53
    Syncing Data in the Service Worker
  • Урок 120. 00:02:17
    Understanding Periodic Sync
  • Урок 121. 00:15:12
    Adding Server Side Code
  • Урок 122. 00:05:21
    Fixing Errors
  • Урок 123. 00:00:50
    Wrap Up
  • Урок 124. 00:01:05
    Module Introduction
  • Урок 125. 00:01:57
    Why we need Web Push Notifications
  • Урок 126. 00:09:05
    How Push & Notifications Work
  • Урок 127. 00:01:53
    Displaying Notifications - Some Theory First
  • Урок 128. 00:02:03
    Browser Support
  • Урок 129. 00:08:08
    Requesting Permissions
  • Урок 130. 00:03:39
    Displaying Notifications
  • Урок 131. 00:03:34
    Notifications from Within the Service Worker
  • Урок 132. 00:08:50
    Understanding Notifications' Options
  • Урок 133. 00:02:59
    Advanced Options
  • Урок 134. 00:02:24
    Adding Actions to Notifications
  • Урок 135. 00:05:22
    Reacting to Notification Interaction - Clicks
  • Урок 136. 00:02:37
    Reacting to Notification Interaction - Closing
  • Урок 137. 00:06:37
    From Notifications to Push Messages
  • Урок 138. 00:04:33
    Creating a Push Subscription
  • Урок 139. 00:10:51
    Storing Subscriptions
  • Урок 140. 00:01:46
    Connecting Server & Client (PWA)
  • Урок 141. 00:09:56
    Sending Push Messages from the Server
  • Урок 142. 00:07:40
    Listening to Push Messages
  • Урок 143. 00:02:04
    Displaying Push Notifications on a Real Device
  • Урок 144. 00:05:46
    Opening a Page upon User Interaction
  • Урок 145. 00:04:29
    Improving our Code
  • Урок 146. 00:01:17
    Wrap Up
  • Урок 147. 00:00:56
    Module Introduction
  • Урок 148. 00:07:29
    Preparing the Project
  • Урок 149. 00:04:36
    Getting DOM Access
  • Урок 150. 00:08:05
    Creating our own Polyfills
  • Урок 151. 00:07:26
    Getting the Video Image
  • Урок 152. 00:06:25
    Hooking Up the Capture Button
  • Урок 153. 00:08:41
    Storing the Image on a Server
  • Урок 154. 00:14:37
    Accepting File Upload Example with Firebase
  • Урок 155. 00:04:52
    Testing the Camera & Upload
  • Урок 156. 00:02:31
    Implementing a Fallback
  • Урок 157. 00:16:39
    Getting the User Position
  • Урок 158. 00:08:47
    Fixing Bugs
  • Урок 159. 00:01:44
    Testing the App on a Real Device
  • Урок 160. 00:00:48
    Wrap Up
  • Урок 161. 00:01:02
    Module Introduction
  • Урок 162. 00:00:56
    Understanding the Basics
  • Урок 163. 00:06:57
    Installing Workbox & Using It
  • Урок 164. 00:05:03
    Configuring Workbox Precaching
  • Урок 165. 00:04:46
    Customizing the Service Worker
  • Урок 166. 00:06:42
    Implementing Routing with the Workbox Router
  • Урок 167. 00:03:32
    Expanding Dynamic Caching
  • Урок 168. 00:06:10
    Options and Setting Up Strategies
  • Урок 169. 00:03:46
    Custom Handlers (Example: For IndexedDB)
  • Урок 170. 00:06:48
    Providing an Offline HTML Fallback
  • Урок 171. 00:03:27
    Handling Background Synchronisation and Push Notifications
  • Урок 172. 00:05:18
    Understanding the Workbox Documentation
  • Урок 173. 00:06:31
    Enhancing the Build Workflow
  • Урок 174. 00:03:57
    Running our App on a Real Server
  • Урок 175. 00:04:25
    Auditing our Webpage with Lighthouse
  • Урок 176. 00:01:12
    Wrap Up
  • Урок 177. 00:01:19
    Module Introduction
  • Урок 178. 00:09:30
    React with create-react-app
  • Урок 179. 00:01:29
    A General Note about SPAs and PWAs
  • Урок 180. 00:14:40
    Angular with the CLI
  • Урок 181. 00:06:50
    Vue with Vue CLI
  • Урок 182. 00:01:01
    Wrap Up
  • Урок 183. 00:03:22
    Course Roundup