Angular Service Worker Tutorial

Поделиться
HTML-код
  • Опубликовано: 5 июн 2018
  • Learn how to add a service worker to your Angular (Angular 2+) app to make it available offline. Service workers can be tricky to configure correctly but with the official Angular service worker package, it'll actually be a breeze.
    ----------
    Code & Further Links can be found on: www.academind.com/learn/angul...
    Official docs: angular.io/guide/service-work...
    Want to learn something totally different? Check out all other courses: academind.com/learn/our-courses
    ----------
    • You can follow Max on Twitter (@maxedapps).
    • And you should of course also follow @academind_real.
    • You can also find us on Facebook.( / academindchannel )
    • Or visit our Website (www.academind.com) and subscribe to our newsletter!
    See you in the videos!
    ----------
    Academind is your source for online education in the areas of web development, frontend web development, backend web development, programming, coding and data science! No matter if you are looking for a tutorial, a course, a crash course, an introduction, an online tutorial or any related video, we try our best to offer you the content you are looking for. Our topics include Angular, React, Vue, Html, CSS, JavaScript, TypeScript, Redux, Nuxt.js, RxJs, Bootstrap, Laravel, Node.js, Progressive Web Apps (PWA), Ionic, React Native, Regular Expressions (RegEx), Stencil, Power BI, Amazon Web Services (AWS), Firebase or other topics, make sure to have a look at this channel or at academind.com to find the learning resource of your choice!
  • НаукаНаука

Комментарии • 139

  • @JustLookA7
    @JustLookA7 3 года назад

    I have to work on a new project soon, and I realized that the users will have connectivity issues while using it, as it's supposed to be used on the road.
    An approach similar to this will allow me to sync that content when switching from online to offline and viceversa.
    Thanks a bunch Max, you are a great instructor!

  • @DebmallyaBhattacharya
    @DebmallyaBhattacharya 6 лет назад +3

    Just what I was looking for. You are among the best tutors, Max. Thanks :)

    • @academind
      @academind  6 лет назад +1

      Thanks so much Debmallya, I really appreciate your great feedback!

  • @abhijitboda
    @abhijitboda 4 года назад

    You are awesome! I was looking for this, and it improved my google performance rate.

  • @ondrejzaruba3402
    @ondrejzaruba3402 6 лет назад +32

    Max is my Angular father :3

  • @bismiksm
    @bismiksm 3 года назад

    Thank you Max! You contributed to save my life! Again!

  • @iamchiranjeevin
    @iamchiranjeevin 2 года назад

    Thank you for the crisp and clear explanation !

  • @atlrafa
    @atlrafa 4 года назад +1

    Never disappoints. Great explanation.

  • @ivanaleksandrov7157
    @ivanaleksandrov7157 6 лет назад

    Thanks Max, as always a great video and well explained. Cheers!

    • @academind
      @academind  6 лет назад

      Happy to read that you like it Ivan, thank you so much!

  • @DesignCourse
    @DesignCourse 6 лет назад +13

    Great tutorial!

    • @academind
      @academind  6 лет назад +5

      So happy to read that you like it, thank you!

  • @user-lj1yg2ij2z
    @user-lj1yg2ij2z 4 года назад

    Thank you for such a meaningful video!

  • @matthewogunmola7615
    @matthewogunmola7615 6 лет назад +1

    Good Job Max. Thanks!!

  • @gsimadri3114
    @gsimadri3114 3 года назад

    Pretty awesome, I appreciate the content of your tutorial, thanks a lot.

  • @CarlHamilton1914
    @CarlHamilton1914 5 лет назад

    This was very helpful! Thanks!

  • @vaibhavphutane286
    @vaibhavphutane286 4 года назад +1

    You cover too many concepts in a few minutes. Awesome job. You are a true front end genius
    Can you please add push notification implementation in this video
    .

  • @niteeshyarra5348
    @niteeshyarra5348 4 года назад

    Keep up the good work man!!

  • @BrutalStrike2
    @BrutalStrike2 Год назад

    still actual and still one of the best explanations

  • @nikitachechet6510
    @nikitachechet6510 2 года назад

    extremely cool guide! thanks a lot!

  • @aaronaaronaaron5922
    @aaronaaronaaron5922 5 лет назад

    You are Great, Max!!! :D Thank you!!!

  • @MrMaksim2099
    @MrMaksim2099 6 лет назад +2

    Thanks for such useful information!

    • @academind
      @academind  6 лет назад

      Thank YOU for your comment, happy to read that you like it!

  • @jared4670
    @jared4670 5 лет назад

    Very helpful. Thanks Max!

    • @academind
      @academind  5 лет назад

      Happy to read that Jared, thank you!

  • @wmjotos
    @wmjotos 6 лет назад

    Max is simply the best teacher ever

    • @academind
      @academind  6 лет назад

      YOU are the best Joachim, thank you very much for your fantastic feedback!

  • @abhilashdeshmukh7566
    @abhilashdeshmukh7566 4 года назад

    Thanks a lot
    Very very helpful 😊

  • @amitrathore9457
    @amitrathore9457 4 года назад

    Great explanation thank you.

  • @nanasarathi
    @nanasarathi 3 года назад

    Very useful Max... Thanks...

  • @hope2191
    @hope2191 6 лет назад

    Thank you so much for your tutorials :)

    • @academind
      @academind  6 лет назад

      Thank YOU for your support!

  • @sourabhsatyavarti6581
    @sourabhsatyavarti6581 5 лет назад

    Max could you please tell what's the difference between caching using service worker and one using manual caching in map object? And Which one is better approach.

  • @ruslanpascoal9247
    @ruslanpascoal9247 4 года назад

    Thank's again Max

  • @lalitbansal4817
    @lalitbansal4817 6 лет назад +1

    Hey @maxi
    Can we implement "background sync" feature in our angular app?

  • @barjosa31blogspot83
    @barjosa31blogspot83 6 лет назад

    Thank You, Max!

    • @academind
      @academind  6 лет назад

      Thank YOU for your awesome support :)

  • @HassanRaza-ym3uf
    @HassanRaza-ym3uf 3 года назад

    Thank you sir!

  • @lucaslinares7806
    @lucaslinares7806 4 года назад +2

    Please make a course on PWA with angular. A fully fledge angular application with off-line support, push notifications, data sync and other mobile capabilities. The one you created earlier not only is a little bit outdated but it is also in plain JavaScript. 😑

  • @sailyjadhav1111
    @sailyjadhav1111 6 лет назад

    Hi Max, Could you please make an image capturing app which covers these points:
    (a)Fetching the image from a server.
    (b) Posting the captured image on the server.
    (c) Restoring the image if it’s captured in offline mode.
    (d) Deleting the captured image while preserving the copy on the server.
    (e) Restoring a picture from the server and save it locally.
    With PWA supporting feature using Angular 6

  • @_akunin3674
    @_akunin3674 3 года назад

    thx bro, was halpfull

  • @sireeshakuna5686
    @sireeshakuna5686 3 года назад

    You are always great

  • @sonyvizio
    @sonyvizio 5 месяцев назад

    awesome explanation.

  • @MA-kt8ly
    @MA-kt8ly 5 лет назад

    Beautiful presentation Mr. Max the guru.

  • @vicentedeluca7732
    @vicentedeluca7732 9 месяцев назад

    was helpful!

  • @DanielTheCunningham
    @DanielTheCunningham 4 года назад

    Hi Max:
    Love your videos (and I'm a dedicated Academind customer over on Udemy)...
    There's big confusion at the 10m 55s mark, where you say: "If I now tick offline again, it still reloads, right?"
    But -- it's clearly not reloading. Did I miss something? It's really NOT reloading, right?
    Was this just an re-shoot/edit problem?

  • @MrRorypam
    @MrRorypam 4 года назад

    This was really good. I understood very well.
    But i was also expecting when we say Service worker, Background Sync should also be a part of service worker. I am sorry iam wrong in asking that. Or do you have seprate link for that Background Sync in angular?

  • @pratikagarwal7210
    @pratikagarwal7210 3 года назад

    Tons of thanks

  • @saisreenivas1003
    @saisreenivas1003 6 лет назад

    thank you max lot of information

    • @academind
      @academind  6 лет назад

      Thanks so much for your great feedback :)

  • @henryromero7492
    @henryromero7492 5 лет назад

    I would like to implement Firebase Cloud Messaging into my project which already has installed Angular Service worker, how to I can use both service workers?, Do you have any course that explains this setting?. Basically I need send push notification ans also make caching, Any other solution?.
    Thanks!!

  • @MinhTuanTerryTa
    @MinhTuanTerryTa 6 лет назад +5

    Wow! Angular's support for PWA is awesome!

    • @academind
      @academind  6 лет назад +1

      It's indeed very simple :)

    • @MinhTuanTerryTa
      @MinhTuanTerryTa 6 лет назад

      I really appreciate the simplicity of it. One thing I would like to do is add "clients.claim()" to the "activate" event so that service worker will take over the first time the page loads. Can I achieve that through settings?

  • @ThemLoLShortClips
    @ThemLoLShortClips 6 лет назад

    This is gold!

    • @academind
      @academind  6 лет назад +1

      Thanks so much, just fantastic to read that!

  • @MarcKronberg
    @MarcKronberg 5 лет назад

    Max is the best!

    • @academind
      @academind  5 лет назад

      YOU are the best Marc, thank you for your support!

  • @diegoxavier8479
    @diegoxavier8479 5 лет назад

    Hello max, to put this files on a real server, is only copy the files of dist folder ? I maked this and don't it worked, but on the localhost works. You can help me?

  • @paulbenedictjabines2261
    @paulbenedictjabines2261 3 года назад

    So if there is any changes in the files that are being served, the service worker will automatically update the version of the application and serve the new files. But does it need to be built again? (ng build?)

  • @sfk615
    @sfk615 5 лет назад

    Excellent explanation of service workers

  • @federicooffidani4082
    @federicooffidani4082 Год назад

    Hi Max, thank you so much for this video! absolutely great!.
    I've implemented Service Worker in my Angular application.
    Testing with lighthouse I notice a decrease on performance, especially when testing for mobile device.
    Performance value without Service Workers: 39% (mobile mode)
    Performance vale with Service Worker: 25% (mobile mode)
    I've tried to reduce the amount of elements to cache, now I'm caching only assets/images but the result is the same.
    Could you help me?
    Thank you so much!

  • @kiranpawar2463
    @kiranpawar2463 Год назад

    Great vedio

  • @bluespace7969
    @bluespace7969 5 лет назад

    So I followed this step by step (running with 7 now) and when I run the site with http-server I'm not getting any errors but it also appears I'm not getting the service worker. Any ideas why?

  • @allahhoo995
    @allahhoo995 4 года назад

    I just come across your Service Worker Ved. Thanks for sharing your knowledge, really helpful. My question is that we are in offline mode, end user dose not know that data is coming offline,( neither he should be concerned about it), he put his comment to a particular post! what will happen in this case, what i guess is service worker is just some sort of making dynamic contents to be static saving them in arrays ( whatever ). Am I correct , please correct me If i am not ( new learner looking for offline angular apps solution for dynamic apps ), Thanks in advance!

  • @surajgupta8393
    @surajgupta8393 5 лет назад

    If new version of application available then Is it possible to show "do you want to load new version" ? in popup with 2 button that is yes or no. If we click on yes then new version will load.

  • @nishedhkumar2352
    @nishedhkumar2352 5 лет назад

    I tried the same method but instead of http-server I am using Amazon s3, the service worker doesn't seem to start in the browser. Can anyone help?

  • @JohnathanHendrix
    @JohnathanHendrix 5 лет назад +1

    Can you use cacheConfig on the assetGroups?

  • @user-fh4xo2pc2d
    @user-fh4xo2pc2d 6 лет назад

    Thank you. Vue PWA plz too!

  • @faisalkk3256
    @faisalkk3256 5 лет назад

    Superb , Great help for amy app

    • @academind
      @academind  5 лет назад

      So cool to read that Faisal, thanks a lot for sharing this!

  • @sergiodesousafilho
    @sergiodesousafilho 5 лет назад

    cool! tks!!

  • @shubhambattoo9786
    @shubhambattoo9786 5 лет назад

    Super like, Great Tutorial

  • @akshaypal1209
    @akshaypal1209 2 года назад

    hi, I follow all your videos on angular because they are short and easy to understand. I need help, I want to get a list of available Wi-Fi using an angular app that will allow connecting using a wifi password. Can you make a video on it?

  • @kalidoss7234
    @kalidoss7234 4 года назад

    Thanks

  • @anindya330
    @anindya330 3 года назад

    I'm using angular 11, and followed the steps you mentioned here. But still service worker not running in production build. Could you please help me

  • @livri7579
    @livri7579 6 лет назад

    Does this work with angular 5 ?

  • @jalipenorunner
    @jalipenorunner 5 лет назад

    So you can only really cache responses from websockets ? Might seem dumb, but i was under the impression that you could cache subscribers that were getting responses from webscockets ?
    If someone could help me clear my confusion that would be helpful haha.

  • @kiranpawar2463
    @kiranpawar2463 Год назад

    Please provide more videos on service workers

  • @lifeofaaravsutar
    @lifeofaaravsutar 4 года назад

    Video was good but when i tried to integrate service worker with Asp.net MVC applicaton thn it didn't work.
    As per my investigation it doesn't have configuration for deploy url.
    Let me know, if u work with angular mvc project.

  • @theanswerga
    @theanswerga 6 лет назад

    I have a question. Is it also possible to cache POST requests? For example: app is offline you submit a form and it saves data to cache and once you have the connection again it sends the data from the cache.

    • @tijldeclerck7772
      @tijldeclerck7772 5 лет назад

      It is, but it's rather complicated. Max has a great course on PWA's on Udemy where he handles this. You should check it out.

  • @ambiank4980
    @ambiank4980 Год назад

    I can't find the code repo link in the description. Where can I find it?

  • @manjunathrm7633
    @manjunathrm7633 5 лет назад

    Getting 504 error when the dataGroup is updated in ngsw config file. API is not cached. Can anybody please share your suggestions?

  • @Akshay-Raut
    @Akshay-Raut 4 года назад

    Even that service worker is now registered, the page says "This page isn't working. localhost took too long to respond. HTTP ERROR 504". and I don't see a single network call for any of the resources. Please help.

  • @divyanshutyagiofficial
    @divyanshutyagiofficial 6 лет назад

    Does it work on angular 4 ??

  • @farenrai576
    @farenrai576 Год назад

    Datagrup section of ngw-config.json file every time autogenerate code by how programmatically solve while building angular application all data groups section auto-fill the attributes . manual process is not working production build

  • @user-ot1dv6ri4f
    @user-ot1dv6ri4f 5 лет назад

    You're my favourite I have some of your Udemy courses

    • @academind
      @academind  5 лет назад

      It really makes me happy to read that Ben, thanks a lot for your support here and on Udemy!

  • @pro100skm
    @pro100skm 4 года назад

    where can i read about navigationUrls?

  • @sathwiqreddy1129
    @sathwiqreddy1129 5 лет назад

    How to get 2 different data models from different APIs

  • @tjabrahamsen8907
    @tjabrahamsen8907 6 лет назад

    Thank you Max for another awesome video. I have learned so much from you here on YT as well as on Udemy.
    I have a question: I got this to work awesome locally, testing a prod build with http-server. But, when I upload my app to my Nginx server, and restart the Nginx server...I can see the manifest info in Chrome for the app...but it does not seem to be any service workers when I run it from the server. Any ideas?
    FYI:
    I have this base href setting in my index.html file:
    Also, I am using "HashLocationStrategy". Not sure if this has to do with it...

    • @academind
      @academind  6 лет назад

      Thanks for your nice feedback! I can't really help on that issue though unfortunately. I deployed a couple of apps with Service Workers to static hosts like Firebase Hosting or S3 and had no issues. It's probably some server config but I'm not a server admin at all :/

    • @tjabrahamsen8907
      @tjabrahamsen8907 6 лет назад

      Thank you for your quick reply. Will see what I can come up with :-)

    • @tjabrahamsen8907
      @tjabrahamsen8907 6 лет назад

      Just in case someone else watching this experience what I have...it seems that you have to have an SSL server for the Service Worker to work on other than localhost. This is not required for localhost. So, in my case...this being an internal web app in my company, go to get with the Unix guys :-)

  • @shanmayilvasan2878
    @shanmayilvasan2878 4 года назад

    If he is the tutor, i am learning this course. Big Fan of Max

  • @MuhammadbinYusrat
    @MuhammadbinYusrat 4 года назад +1

    After watching this video, before I knew it, my webapp was already offline-compatible. Now I have killed the server and the app is working perfectly.. .. and I kinda don't know how to get rid of it hahah

  • @rajbusybee
    @rajbusybee 3 года назад

    how can we cache CDN files using serviceworker

  • @freelearn5180
    @freelearn5180 6 лет назад

    Hi. i'm traveling to my town (where there is no wifi) for a week and i want to take the REST API with Node.js course, so i decided to download all the videos and create the basic project setup with all the npm packages installed. is there anything else that i need to install or that's it thanks.

    • @arnoutpullen3466
      @arnoutpullen3466 6 лет назад

      make sure you have installed all the package you need from packages.json you can install the packages with 'npm install' and run your app for onces to make sure it works. I also recommend installing postman so you can test your API.

    • @freelearn5180
      @freelearn5180 6 лет назад

      thank you very much.

  • @Marc1920x1080p
    @Marc1920x1080p Год назад

    Doesnt PWA require HTTPS ? So iam wondering why an http server could work here.

  • @MuhammadHamza-xq9bi
    @MuhammadHamza-xq9bi 8 месяцев назад

    how to write code in service workers?

  • @sunilsoni8171
    @sunilsoni8171 4 года назад

    Hi Max
    I facing problem in service worker while routing the page.
    base url : myBaseurl.com if i refersh is works offline but
    if i refresh url like : myBaseurl.com/#/myBooking here its not working please guilde me..
    What solun. i found in google:- in NGSW-confi.json(is this correct file)
    added:-
    "routing":{
    "routes":{
    "/": {
    "match": true
    },
    "/myBooking ":{
    "match": "prefix"
    },
    "/mylist":{
    "match": "prefix"
    }
    }
    }
    but its not woring while go another page please help me ...how to maintain service worker while routing offline

  • @phillip4002
    @phillip4002 6 лет назад

    Would using a service worker to make an Angular app multi threaded make sense? For example, offload a compute heavy task to the service worker to prevent the UI from being blocked?

    • @academind
      @academind  6 лет назад +1

      You can use a web worker for that. A service worker is a specialized version of that which you should use for caching, push notifications etc. It also runs (on mobile devices with Chrome) when the web page is not loaded. A web worker is coupled to the web page in a tighter way and a great tool for offloading work

    • @phillip4002
      @phillip4002 6 лет назад

      Thanks! Maybe a topic for another video! 😁

  • @MayankGupta-el9rj
    @MayankGupta-el9rj 5 лет назад

    Nice explanation. Thank you.

    • @academind
      @academind  5 лет назад

      Great to read that Mayank, thank you!

  • @m.venkateshprasad5834
    @m.venkateshprasad5834 6 лет назад

    Awesome video
    I did same every thing works fine . I hosted application in tomcat like domain.com/portal/ here portal is my application when I refresh the page it goes 404 not found .But when I added index.html then it is working . When saw domain.com/portal/login it is expecting from service worker /login is my routing . Please guide me how to resolve this issue

  • @tjabrahamsen8907
    @tjabrahamsen8907 6 лет назад

    Hi Max. Have you ever tried to get service worker stuff to work on a mobile device..? I have it working great on my computer...but not on my mobile device...

    • @academind
      @academind  6 лет назад

      Yeah, I did deploy apps with a SW that worked fine on my mobile phone. Maybe you're using an OS version that doesn't support service workers?

    • @tjabrahamsen8907
      @tjabrahamsen8907 6 лет назад

      Thanks for your feedback. I know it does, because I tried the NgColombia 2018 page which is a PWA / Service Worker app. That app works just fine in Airplane Mode. But, I think I have to get a publicly verified CA certificate connected to my site (currently using an offline Root CA internally) . I don't think the service worker register the service worker properly if there is an issue with the certificate.

  • @andriizarazka8671
    @andriizarazka8671 6 лет назад

    Сool lesson.You can take the lesson angular 6 + chart.js + json

  • @zlatanonkovic2424
    @zlatanonkovic2424 4 года назад

    "BonbonAusWurst" - most German WiFi name ever lol

  • @Alessandro_Russo
    @Alessandro_Russo 5 лет назад

    When i put offline the page says that doesn't work. I followed all your steps. Can you help me?

    • @Alessandro_Russo
      @Alessandro_Russo 5 лет назад

      I have also routes with hashtag. Please @Academind.

  • @STRIKEtetra
    @STRIKEtetra 6 лет назад

    Como a língua inglesa me faz falta... Preciso melhorar mais!

  • @jayanths1221
    @jayanths1221 6 лет назад +1

    Hey Max, I wish to be a full stack developer. I finished your React course on Udemy and can't decide which back end service/framework I should choose. Which is the best one according to you?

    • @jayanths1221
      @jayanths1221 6 лет назад

      +Ilya Zhidkov That's what I thought. Which do you think is better between ExpressJS and MeteorJS?

    • @Skaxarrat
      @Skaxarrat 6 лет назад

      If you know JS maybe it's a good idea to learn Node.JS (Never tried myself). If you know/like Python, try Django too, it's pretty cool.

    • @AdamSaudagar
      @AdamSaudagar 5 лет назад

      @Juan2003gtr try flask, its very simple to start with, and you can add as many features as you want as you go...

  • @rakeshnayak2072
    @rakeshnayak2072 5 лет назад

    Hi my localhost:8082/#/ showing "this page isn’t working localhost sent an invalid response. ERR_INVALID_REDIRECT"

    • @manjunathrm7633
      @manjunathrm7633 5 лет назад

      Getting similar error and the API is not cached. Can anybody please share your suggestions?

  • @navneetkumarsharma9092
    @navneetkumarsharma9092 5 лет назад

    Official doc link is missing

    • @academind
      @academind  5 лет назад

      Thank you Navneet, I just added the link.

  • @deepaks.m.6709
    @deepaks.m.6709 6 лет назад

    Hi, Max. Do you know what happened to TheNewBoston ?

  • @matthewogunmola7615
    @matthewogunmola7615 6 лет назад

    Can you put this app on github so we can clone it to be able to work with it

    • @academind
      @academind  6 лет назад +1

      You can find the starting and the finished code below the video: www.academind.com/learn/angular/snippets/angular-pwa-service-worker-tutorial/

    • @matthewogunmola7615
      @matthewogunmola7615 6 лет назад

      Got it. You have been a huge inspiration to me Max. However, do you have tutorials on how to consume api end point(s) using Angular4 or 5 or 6.

  • @ArielFAF
    @ArielFAF 5 лет назад

    14:30

  • @alexnezhynsky9707
    @alexnezhynsky9707 6 лет назад

    React bitte!