How to Build Your First Progressive Web App (PWA) - HTML, CSS & JavaScript Tutorial

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 ธ.ค. 2024

ความคิดเห็น • 174

  • @dcode-software
    @dcode-software  2 ปีที่แล้ว +1

    BUILD A SINGLE PAGE APPLICATION WITH JAVASCRIPT 🔽
    th-cam.com/video/6BozpmSjk-Y/w-d-xo.html
    🏷 *THE ULTIMATE JAVASCRIPT DOM CRASH COURSE* 👇
    www.udemy.com/course/the-ultimate-javascript-dom-crash-course/?referralCode=DC343E5C8ED163F337E1

    • @jainamchheda
      @jainamchheda ปีที่แล้ว

      THANK YOU SO MUCH BRO! 🥹🥹🥹 I was struggling alot in PWA, but after watching your tutorial I could finally build it. Also, you explained everything very nicely, Thanks again!! 💙💙

  • @zanarkandmusic
    @zanarkandmusic 3 ปีที่แล้ว +14

    This is the only guide that actually got me going - you did a great job of explaining things. Nice one!

  • @glaestgon
    @glaestgon ปีที่แล้ว +1

    Good tutorial. About half an hour, no frameworks, and just the minimum components to make things done. Thank you.

    • @dcode-software
      @dcode-software  ปีที่แล้ว +1

      You're welcome. Happy to hear you enjoyed it!

  • @ChumX100
    @ChumX100 3 ปีที่แล้ว +4

    It's nice that even your VS Code theme matches your logo and page.

  • @dcode-software
    @dcode-software  4 ปีที่แล้ว +19

    If you enjoyed remember to Like and Subscribe for more projects and tutorials like this one 🙂

    • @jamarmartin884
      @jamarmartin884 4 ปีที่แล้ว

      I’m new coding. For every programming language I use to I have to instal some type of plugin or something into vscode. Like for JavaScript or .Json. And python

    • @anonymitydeclared3685
      @anonymitydeclared3685 3 ปีที่แล้ว

      @@jamarmartin884 no

    • @tjmarkowitz
      @tjmarkowitz 3 ปีที่แล้ว

      Very clear explanation. Went to clone the code to learn more, but the GitHub repo is bare. Just the shell of the project, but no code. Any possibility of uploading still? Tnx.

    • @StijnHommes
      @StijnHommes 3 ปีที่แล้ว

      As a rule of thumb, I don't like and subscribe to spam like this. Try teaching us how to build a native app and stop promoting this malicious PWA nonsense.

  • @taofeeqomotolani2311
    @taofeeqomotolani2311 2 ปีที่แล้ว +6

    If you are following this project in 2022, add this to the icons array ("purpose": "maskable") it is needed for android phones of today

  • @lorenzoallopez708
    @lorenzoallopez708 3 ปีที่แล้ว

    For the long time, my CI project its now working with PWA, thanks mate!

  • @gwija5783
    @gwija5783 ปีที่แล้ว +1

    That was incredibly helpful. I was able to follow very easily and I appreciated how you explained every line of code you typed. Thanks!

  • @_o.magnata
    @_o.magnata 4 ปีที่แล้ว +7

    Thanks dcode, this is the only tutorial that really explain how it's done

  • @nickpapadatos7587
    @nickpapadatos7587 4 ปีที่แล้ว +16

    Great explanation, thank you. Would love to see you do more on PWA's :-)

  • @angeldimitrov1353
    @angeldimitrov1353 2 ปีที่แล้ว +9

    Great tutorial and I love that you are not piling a bunch of frameworks on to do a simple example.
    However, I think it would be great if you had done a better intro on how you are hosting the page. Nothing wrong with doing some research, but I think some might abandon the tutorial when they find out they have to figure out how to install Apache, set it up, and begin using it, in order to even start the tutorial at the point where you were.
    Regardless, if someone does already have this background knowledge, useful tutorial!

  • @hpkeong
    @hpkeong 4 ปีที่แล้ว +2

    Dcoe...what a good start and this is really opening me to another chapter. Thanks

    • @dcode-software
      @dcode-software  4 ปีที่แล้ว

      Glad to hear it!

    • @hpkeong
      @hpkeong 4 ปีที่แล้ว

      @@dcode-software Frankly, my Indonesia hardcore programmer / partner develop a standard kit for me to learn and generate PWA within a minute. He has published to GitHub to share, It automatically convert to PWA.
      U all are awesome. We are fighting for our start up under my personal investment and looking for more start-up partner

    • @robbie653
      @robbie653 4 ปีที่แล้ว

      @@hpkeong Hi, please can you share the GitHub link?

  • @naimislamantor3781
    @naimislamantor3781 3 ปีที่แล้ว

    This guy is awesome. Know I am able to understand what pwa is. It's really fun thanks.

  • @mrugamajmudar5433
    @mrugamajmudar5433 3 ปีที่แล้ว +2

    Thank you so much!!! The best video I have come across on PWA, simple and clear. :)

    • @dcode-software
      @dcode-software  3 ปีที่แล้ว

      Awesome, glad you found it helpful

  • @ShaharukhNadaf
    @ShaharukhNadaf 4 ปีที่แล้ว +1

    Thanks a ton ..With your guide video I was able to configure PWA for my site 😊

  • @khaledbudajaja6137
    @khaledbudajaja6137 ปีที่แล้ว

    Well done, the only explaination that made the job clear and easy.

  • @MarkCay
    @MarkCay 4 ปีที่แล้ว +3

    Thank you for this! Clear explanation and you've got a very nice voice, sir! Instant subscriber here.

  • @saugatkarki3169
    @saugatkarki3169 3 ปีที่แล้ว

    This video is definitely in the holy grail of PWAs

  • @xxThemoritzxx
    @xxThemoritzxx 3 ปีที่แล้ว +2

    Such a nice and clean explanation. Would love to see more stuff with PWA's ;)
    Greetings

  • @joshuakalu4777
    @joshuakalu4777 4 ปีที่แล้ว +6

    This is what I've been waiting for. Thanks Dcode!

  • @foxkashima
    @foxkashima 4 ปีที่แล้ว +1

    Thanks for the awesome video. Short but well explained. Subscribed.

  • @s1rbl4ck
    @s1rbl4ck 4 ปีที่แล้ว +2

    Wow It was amazing thanks for complete Explanation 👌

  • @AdityaSingh-nx6xp
    @AdityaSingh-nx6xp ปีที่แล้ว +1

    Thanks you it works!! 🙏

  • @krazilla6329
    @krazilla6329 4 ปีที่แล้ว +1

    Nice tutorial video sir. I hope more Advanced PWA video coming from you

  • @anthony_s_tech
    @anthony_s_tech 2 ปีที่แล้ว

    Excellent video!!!👏👏👏👏

  • @ChrisAthanas
    @ChrisAthanas 3 ปีที่แล้ว +2

    Can you link to github with final code, just for reference?

  • @Rauliqbal
    @Rauliqbal 3 ปีที่แล้ว

    thank you very much, really helped me make PWA

  • @halojames7778
    @halojames7778 4 ปีที่แล้ว +1

    Very clear. Thank you. 👍🙏🙏

  • @justnow7263
    @justnow7263 3 ปีที่แล้ว +1

    Subscribed , you are very helpful.
    Thanks sir

    • @dcode-software
      @dcode-software  3 ปีที่แล้ว +1

      You're welcome and thanks for subbing 🙂

  • @Aymeric486
    @Aymeric486 3 ปีที่แล้ว

    A big thank you, good explanation and it works !

  • @EnglishRain
    @EnglishRain 4 ปีที่แล้ว +1

    Thanks a ton, amazing tutorial! So cool to have my web app working offline! :D

  • @PrateekJaiswal
    @PrateekJaiswal 3 ปีที่แล้ว

    Thanks a lot Sir.. Much needed 💐

  • @luis96xd
    @luis96xd 4 ปีที่แล้ว

    Excellent video, it was well explained! Thank you so much! 😄😄

  • @noah_edwrds
    @noah_edwrds 4 ปีที่แล้ว +1

    You're the best Dom !

  • @eric7758
    @eric7758 4 ปีที่แล้ว +1

    Good timing :) Thanks man

  • @henryhamilton4087
    @henryhamilton4087 3 ปีที่แล้ว +2

    how do you get rid of the CORS error when your JSON file is on the same folder as the other ones?

    • @demetriopolimeno3351
      @demetriopolimeno3351 3 ปีที่แล้ว

      have u found any solutions??

    • @ryugavegeta5734
      @ryugavegeta5734 2 ปีที่แล้ว

      1] In vscode download live server extension
      2]Then right click your html file and select preview server

  • @ricTGL
    @ricTGL 3 ปีที่แล้ว +4

    Hi!! First of all, great video, it was a very nice introduction to PWAs. I have a doubt: Initially I was having problems with the manifest in the web browser cause I was deploying the index.html directly dragging it from file explorer, but then I discovered the Live Server extension for VSCode and I used it but the domain is the localhost address (127.0.0.1) and in your case you have a different name for the local address, how did you achieve that? Thank you very much!

  • @thebyzocker
    @thebyzocker 4 ปีที่แล้ว

    Nice! Gotta try this tomorrow

  • @surfinbird71
    @surfinbird71 4 ปีที่แล้ว +3

    Uncaught (in promise) TypeError: Failed to execute 'fetch' on 'ServiceWorkerGlobalScope': 'only-if-cached' can be set only with 'same-origin' mode at e.respondWith.caches.match.then.response (sw.js:12)

  • @codeitwithdrishti4696
    @codeitwithdrishti4696 3 ปีที่แล้ว

    Thanks for this great video!

  • @yitzchaksviridyuk932
    @yitzchaksviridyuk932 3 ปีที่แล้ว

    Thanks a lot man! Great tutorial.

  • @interweb3401
    @interweb3401 3 ปีที่แล้ว

    Thanks, great video!

  • @arrayofsilicon
    @arrayofsilicon 2 ปีที่แล้ว

    which theme are you using for vs code?

  • @sabuein
    @sabuein 2 ปีที่แล้ว

    Thank you, very helpful.

  • @CoderArchive
    @CoderArchive 4 ปีที่แล้ว +1

    Awesome video!

  • @kayan_dev
    @kayan_dev 4 ปีที่แล้ว +1

    amazing explain its works great for me :)

  • @EnglishRain
    @EnglishRain ปีที่แล้ว

    25:32 - You say "cache first, if not there, then go to network". Any idea on how to make it "network first, if not there, then go to cache"? Because problem with former is that it takes quite a lot of effort (clearing data, multiple refreshes, etc) to push updated PWA to user's device.
    Edit - found the solution using ChatGPT. Basically test if (navigator.onLine) firstly inside the fetch event listener, if it is true then do e.respondWith(fetch(e.request)); else use the cache responding code you showed in video.

  • @chapmanchapman89
    @chapmanchapman89 2 ปีที่แล้ว

    Good video. I have question. No matter how I change the content in all of the file, the "install" still display "dcode PWA example". Please advise how to change it. Thx.

  • @gioba4912
    @gioba4912 3 ปีที่แล้ว

    Wow, you're the Best!!!

  • @rangabharath4253
    @rangabharath4253 4 ปีที่แล้ว

    awesome as always

  • @nicc1262
    @nicc1262 3 ปีที่แล้ว

    Dcode is there a second tutorial where we build the app up a bit? Also, how do we make the splash and icons show when the app is opened as I see they aren't in my app or yours

  • @ibrahimkholil6416
    @ibrahimkholil6416 4 ปีที่แล้ว +1

    I have a question what if i upload my application on production and then i decided to make changes on those file i did caches. Then how do i make my application service worker reload those static files?

    • @hanibioud
      @hanibioud 4 ปีที่แล้ว

      That's my issue right now!

    • @matteogattei
      @matteogattei 4 ปีที่แล้ว

      My question too...

  • @DesertCookie
    @DesertCookie 2 ปีที่แล้ว +1

    I don't get 'index.html' to show up when offline. The cache says it is cached but when enabling 'offline' I get a 'Page not reachable'. I also get an error 'Uncaught (in promise) TypeError: Failed to fetch at sw.js:18:31' which is the line 'return response || fetch(e.request);'.
    Do you have any idea as to why that might be and how to solve it?

    • @NathiCode
      @NathiCode ปีที่แล้ว

      Just put the manifest link on the top of another link in your html file

  • @chiranthmjain7940
    @chiranthmjain7940 ปีที่แล้ว

    is there any possibility to remove ellipsis from PWA MicrosoftEdge?

  • @SRG-Learn-Code
    @SRG-Learn-Code 3 ปีที่แล้ว +1

    Hey, very cool and well explained. I've just came from spa video and I really like your style. Btw How do you change localhost name? youtube.local is something you customized, where? how? Anyway, many thanks for sharing.

    • @dcode-software
      @dcode-software  3 ปีที่แล้ว +1

      Hey, this is how I've done it:
      th-cam.com/video/gBfZdJFxjew/w-d-xo.html

    • @SRG-Learn-Code
      @SRG-Learn-Code 3 ปีที่แล้ว +1

      @@dcode-software Cool, thanks!

  • @emstudios14
    @emstudios14 4 ปีที่แล้ว +12

    Please note that for the new update to chrome,
    Audits has been replaced by Lighthouse

  • @edphi
    @edphi ปีที่แล้ว

    What app are you using to create the manifest etc ?

  • @mohdasif.tk77
    @mohdasif.tk77 3 ปีที่แล้ว

    Thanks for this, very clear explanation. sir, the Ios splash screen not working how to fix it..?

  • @TinyMaths
    @TinyMaths ปีที่แล้ว

    Today, my growing interesting in beginning to code for android went through the roof when an app I had recently built and tried to test couldn't do its job because I lost internet connection, or rather, was put to offline mode when Google decided it was time for an upgrade. By the time the upgrade was finished and I tried to get the app to work again, I had no idea what had gone wrong. (it is a shopping list app that I use to store a list of finished groceries at home, and then retrieve the data for display and manipulation when I'm out shopping)
    After I got home, I started to figure things out, but, it really made me think that, even if the app worked as intended, what good would it be to me if I didn't have the internet connection that the app relies on to function?? Been skirting around this for about a while, so I might as well begin the process.

  • @racontemoi4682
    @racontemoi4682 4 ปีที่แล้ว

    YOU ARE MY HERO.I LOVE YOU SO MUCH

  • @eternallyMarsh
    @eternallyMarsh 10 หลายเดือนก่อน

    This is awesome, but my site won't install after hosting. Like during development the install option does come, but when I host the site, there's no install option

  • @giannibelizaire1699
    @giannibelizaire1699 3 ปีที่แล้ว

    can i set my google fonts and fontawesome links as catch as well?

  • @TomasMisura
    @TomasMisura 4 ปีที่แล้ว +1

    Thank you very much for this tutorial as i am about to create something like that (not for sale just for my needs). Do you plan to make more advanced tutorial for that?

    • @dcode-software
      @dcode-software  4 ปีที่แล้ว +1

      I have other videos planned at the moment but it's definitely something I'll consider!

    • @TomasMisura
      @TomasMisura 4 ปีที่แล้ว

      @@dcode-software thanks a lot, I really appreciate that!

  • @AshwinSKumar
    @AshwinSKumar 2 ปีที่แล้ว

    Will this work for Unity Web GL?

  • @ofek15
    @ofek15 4 ปีที่แล้ว +2

    Hi Dom can you make a small tutorial about Web Notifications API?

    • @dcode-software
      @dcode-software  4 ปีที่แล้ว

      Hey, I've made this video: th-cam.com/video/Jncoj-Gvh9o/w-d-xo.html
      Does it help?

    • @ofek15
      @ofek15 4 ปีที่แล้ว

      @@dcode-software it does! thanks

  • @JSaqilrao
    @JSaqilrao ปีที่แล้ว

    Both methods-using the theme_color attribute in the manifest file and the theme-color meta tag in the HTML head-serve the same purpose of specifying the theme color. It's not necessary to have both in your project; having the color specified in either location should suffice.

  • @aadityanshapatel3014
    @aadityanshapatel3014 3 ปีที่แล้ว

    Which vscode thene you are using

  • @uluumbch
    @uluumbch 4 ปีที่แล้ว

    that is amazing tutorial, thank you

  • @codeitwithdrishti4696
    @codeitwithdrishti4696 3 ปีที่แล้ว

    In my app it is showing :
    The script has an unsupported MIME type (text/html).
    What could be the reason?

  • @alexon2010
    @alexon2010 ชั่วโมงที่ผ่านมา

    Muito bom, poderia ter um videe de uma explicação completa usando por Exemplo React 19, React Router V7 como colocar eem PWA todos componentes de negocio etc.....

  • @TazBo-wd2ig
    @TazBo-wd2ig ปีที่แล้ว

    Can you update an responsive website to a web app or do you have to start from scratch? I have a booking system for my salon business where people pay online. They always ask for an app but it costs too much. If I could have convert it to a web app I could use it to do the same thing and cut costs on sms reminders, confirmations etc.

  • @gabrielschwinghammer7375
    @gabrielschwinghammer7375 3 ปีที่แล้ว

    by any chance do you know how to fix manifest not being found by chrome?

  • @matteogattei
    @matteogattei 4 ปีที่แล้ว +1

    Great tutorial, very good explanation thank you !
    Just one question more:
    Once the PWA is cached, if I add features or fix some bugs, how is possible to update it automatically or promt the user to update it ?
    Again thank you for your great job !

    • @TazBo-wd2ig
      @TazBo-wd2ig ปีที่แล้ว

      That’s actually a very good q

  • @mumbelebwanausi872
    @mumbelebwanausi872 3 ปีที่แล้ว

    Followed all instructions. and I keep getting this error when I perform a Lighthouse audit "
    Does not register a service worker that controls page and start_url". HELP?

  • @alexander3293
    @alexander3293 3 ปีที่แล้ว +3

    what vscode theme are you using?

  • @ThaRealIansanity
    @ThaRealIansanity 2 ปีที่แล้ว +1

    Something important I learned today. As long as this PWA is installed and running on localhost it will continue to tie up port 3000 or whatever port you ran it on, even when not open. I was trying to run a laravel project 2 weeks later and browserSync was showing me "Hello my name is Dom" . Took me a few minutes to figure out WTH was going on. I had to uninstall the PWA through start->settings->apps and features to free up port 3000.

    • @mihaelacipaian8554
      @mihaelacipaian8554 ปีที่แล้ว

      Thank you so much for the solution. I used this tutorial for another app and today I kept getting an error from that file. I uninstalled the app and now everything is back to normal.

  • @hk_build
    @hk_build 3 ปีที่แล้ว

    Greate information..!!
    How to know the website is PWA in a simple way
    can you name few websites which have offline accessibility ??

  • @kevinwinslet7605
    @kevinwinslet7605 3 ปีที่แล้ว

    How to add a splash screen with the icon?

  • @gozlemecigozlemci2488
    @gozlemecigozlemci2488 2 ปีที่แล้ว

    If I use indexphp instead of indexhtml will it work?

  • @budavargas
    @budavargas 4 ปีที่แล้ว

    Hello! Great tutorial, however, I'm getting issues regarding a favicon. What is it? Seems something new with respect with what you shown us. Regards!

    • @lupytuga
      @lupytuga 4 ปีที่แล้ว

      favicon.ico is the litle (browser)tab logo. usually is 16px by 16px just save as png and change the extension to ico...

  • @jonice4229
    @jonice4229 4 ปีที่แล้ว +1

    also if its offline the user can navigate between html pages?

    • @dcode-software
      @dcode-software  4 ปีที่แล้ว

      Yes, if you cache those requests!

    • @jonice4229
      @jonice4229 4 ปีที่แล้ว

      dcode i have a blog with php dynamicall from database can cache pages when user enter on website, i mean to cache all post pages and work on offline mode to be able to read it offline.

    • @dcode-software
      @dcode-software  4 ปีที่แล้ว

      Ideally your data should probably be returned via the Fetch API (or at least AJAX) and then you may cache that result. A technique could be to store that result and display it to the user, and then once the network comes back online you retrieve a fresh copy of that data. I suggest you have a look at the Cache API for more info

    • @jonice4229
      @jonice4229 4 ปีที่แล้ว

      dcode thank you!

  • @Zwelch007
    @Zwelch007 3 ปีที่แล้ว +4

    Great video, thanks!
    I'd just like to point out that you're mispronouncing "cache". It's pronounced exactly like "cash", rhymes with "flash". The a is not pronounced like the a in "age" or "cage".
    Keep up the good work!

    • @dcode-software
      @dcode-software  3 ปีที่แล้ว +1

      Thanks mate. It depends where you're from, I'm from Australia so I think we pronounce it like I've done in the video

    • @zanarkandmusic
      @zanarkandmusic 3 ปีที่แล้ว +3

      @@dcode-software no offence, but most other places (i.e. 90% of your views) will pronounce it cash - maybe just bite the bullet? Its really off-putting. Awesome video though... but I very nearly turned off every time you said cache.

  • @piyushpradhan8727
    @piyushpradhan8727 4 ปีที่แล้ว

    How did you run the application? I used live server extension for visual studio code...but when I run the project it shows in the application tab, manifest.json not detected.
    What am I doing wrong?

    • @dcode-software
      @dcode-software  4 ปีที่แล้ว +1

      I recommend using a dedicated web server like Apache, try XAMPP or WAMP

    • @shivlochawala2562
      @shivlochawala2562 4 ปีที่แล้ว

      @@dcode-software i am using Xampp but same problem facing

    • @HiroBeBroke
      @HiroBeBroke 2 ปีที่แล้ว

      @@dcode-software I pay for a server but don't know how to do this lol

  • @peri6075
    @peri6075 ปีที่แล้ว

    Im getting a “manifest not detected” message when i try opening it. Why is that?

  • @abdulsalamquadriolasunkanm9944
    @abdulsalamquadriolasunkanm9944 3 ปีที่แล้ว

    Nice tutorial. So how can it be viewed on mobile

  • @vankeshwarampraveen3312
    @vankeshwarampraveen3312 ปีที่แล้ว

    How to run in crome this code?

  • @manitahriri
    @manitahriri 3 ปีที่แล้ว

    Audit tab is not available in chrome anymore. instead click in lighthouse tab. The content is pretty much the same.

  • @romuloalves9349
    @romuloalves9349 4 ปีที่แล้ว +1

    Ótimo vídeo.

  • @domaincontroller
    @domaincontroller 3 ปีที่แล้ว +6

    “Manifest does not contain a suitable icon”...

  • @abirhal2391
    @abirhal2391 3 ปีที่แล้ว

    how to get button install in brawser like you

  • @vigneshaithal
    @vigneshaithal 4 ปีที่แล้ว

    Why Chrome icon coming in my PWA icon?

  • @pallavipandey7917
    @pallavipandey7917 2 ปีที่แล้ว

    Audit usage of navigator.userAgent, navigator.appVersion, and navigator.platform

  • @ahmedghallab5342
    @ahmedghallab5342 ปีที่แล้ว

    thank you شكرا جزيلا

  • @vaijayantipethe9537
    @vaijayantipethe9537 4 ปีที่แล้ว

    can you make a web app development course

  • @mawkuri5496
    @mawkuri5496 3 ปีที่แล้ว

    is pwa still a thing?

  • @aniketvarshney752
    @aniketvarshney752 4 ปีที่แล้ว

    what is json?

    • @samupop8
      @samupop8 4 ปีที่แล้ว

      javascript object notation

  • @husniddinprogrammer3523
    @husniddinprogrammer3523 2 ปีที่แล้ว

    Thank you

  • @infinityloop6934
    @infinityloop6934 2 ปีที่แล้ว

    Thank you man, you record this best of the best explanations ever. Respect from me. Thank you very much. Subscribe, like and click the bell.

  • @aajkitechnologychannelyout7139
    @aajkitechnologychannelyout7139 4 ปีที่แล้ว

    Wonder full

  • @dijiflex
    @dijiflex 4 ปีที่แล้ว

    I did not get the install prompt but everything works well

    • @dcode-software
      @dcode-software  4 ปีที่แล้ว +1

      That's no good - have you tried refreshing the service worker?

    • @dijiflex
      @dijiflex 4 ปีที่แล้ว

      @@dcode-software i got the solution thanks