Realtime Features for React: Easier Than You Think

Поділитися
Вставка
  • Опубліковано 22 бер 2023
  • When I was new to web dev, implementing real-time features into your apps seemed like a nightmare. So many things to keep in mind. How to deploy the web sockets? How to manage scaling? I think this might be one of the most beginner-friendly approaches to implementing real-time features into your own app.
    My GitHub: github.com/joschan21
    The minimal realtime chat code: github.com/joschan21/minimal-...
    Pusher (not sponsored): pusher.com/channels
    I wish you a lot of fun implementing real-time features into your app! Let me know if you build something cool with it! Cheers
  • Наука та технологія

КОМЕНТАРІ • 46

  • @faizanahmed9304
    @faizanahmed9304 Рік тому +6

    Thanks a lot! I was just looking the docs for pusher and was not understanding much and you've just dropped a video.

  • @NinjaNezie
    @NinjaNezie 5 місяців тому

    Needed this for a clock in system I’m building. Very nice tutorial 🔥.

  • @malamhari_
    @malamhari_ 10 місяців тому +1

    Thanks, this video is very helpful to grasp the basic of Pusher
    Hope you do well onwards!

  • @angzar
    @angzar Рік тому

    Excellent Josh, great video as always. ...(ps. prisma format -> makes it so pretty)

  • @ammarys9980
    @ammarys9980 5 місяців тому +1

    bro you just created a conclusion for their bad documents, that's hard to believe, YOU A LIFE SAVER.

  • @jnayehsirine6222
    @jnayehsirine6222 9 місяців тому

    KEEP GOING !!!, you have such GOOOD content

  • @mateuspaula_dev
    @mateuspaula_dev Рік тому +7

    Good video, thank you very much for sharing your knowledge. I really hope you keep producing videos with the same intensity.
    Best regards, all the best from Brazil 🇧🇷

  • @Subhamremady
    @Subhamremady Рік тому

    amazing bro. It was really something new for me . THnakss for the video

  • @murphyvanoijen6190
    @murphyvanoijen6190 Рік тому

    @Josh,
    Great video again. Does this also work in NextJS 12?

  • @siosaiafonua9286
    @siosaiafonua9286 11 місяців тому +1

    can react query do the same thing? provide real time updates?

  • @astronaut22
    @astronaut22 2 місяці тому

    can we use pusher to implement ads campain feature like google ads, I mean showing users data as ad in queue in real time ?

  • @josht29
    @josht29 Місяць тому

    Great tutorial! But what if I have multiple channel I need to listen to? Do I need to create one useEffect per channel or put all listeners in one useEffect?

  • @AssBlasterChan
    @AssBlasterChan Рік тому +4

    have you got a repo for reference? Curious how to set up the part where pusher talks to the db to preserve the state

    • @joshtriedcoding
      @joshtriedcoding  Рік тому +2

      Good call, will update that in the description

    • @asimalqasmi7316
      @asimalqasmi7316 Рік тому

      @@joshtriedcoding waiting for the update 👍👍

    • @joshtriedcoding
      @joshtriedcoding  Рік тому +1

      @@asimalqasmi7316 It's available in the description now: github.com/joschan21/minimal-react-realtime

    • @asimalqasmi7316
      @asimalqasmi7316 Рік тому

      I tried it myself before you sent the repo
      It stumbled on useRouter in app page since it wasn't clear in the video until I figured out it was imported from navigation not router.
      If you want to see my repo I'll share it here. 😁

  • @NhanNguyen-ng7vn
    @NhanNguyen-ng7vn 7 місяців тому

    Today, i'm creating a chat in my school'project, and i don't khow how to unsubcribe channel_name inside return callback of UseEffect. Thanks you !

  • @edihasrin7290
    @edihasrin7290 Рік тому

    hi josh,
    Can you explain how to use SWR for realtime data. From the info I got on Twitter, it says it doesn't use third party services / web scoket.
    i am very interested about that

    • @tnctnctnctnc
      @tnctnctnctnc 5 місяців тому

      Have you got your answer ?

  • @justin9494
    @justin9494 3 місяці тому

    Can I use this with Strapi?

  • @krisbude9607
    @krisbude9607 9 місяців тому +4

    nice video Josh. Just one thing... I wouldn't teach other developers to use a let in a react client component instead of the useState hook. In this particular case it works because you don't have any parent component. But it is really a bad practice and should not be used in a client component to maintain state.

  • @suaeb175
    @suaeb175 Рік тому

    Thanks 🙏

  • @AaronMcCloud_Me
    @AaronMcCloud_Me 10 місяців тому +1

    7:25 The real-time functionality

  • @crazytydoo
    @crazytydoo Рік тому

    I love the intros to these videos, very German 😆

  • @TheDionysiac
    @TheDionysiac 11 місяців тому

    I'm not overly familiar with Prisma, but I was under the impression that you needed to set it up to work with a 3rd party DB service like Supabase or Planetscale. If so, which are you using in this project? If not, where is the database located?

    • @filipjnc
      @filipjnc 9 місяців тому

      Any supported dbs and hosted anywhere.

  • @acupofkoffi
    @acupofkoffi Рік тому

    Hi. How long have you been learning web dev?

  • @alexmagwe
    @alexmagwe Рік тому

    why dint you use useState for the input value?

  • @hn3m3s1s
    @hn3m3s1s Рік тому

    Is it complex to setup a internal websocket on NextJS ?! 😢

    • @joshtriedcoding
      @joshtriedcoding  Рік тому +2

      Due to NextJS being serverless and WS requiring stateful connections, you can't. That's why I found this method so convenient, alternatively NodeJS with socket.io for small scale apps is totally fine too

    • @hn3m3s1s
      @hn3m3s1s Рік тому

      @@joshtriedcoding Isn’t it that nextjs embed expressjs, and actually have a backend? The prisma calls for example are server side, right ?

    • @joshtriedcoding
      @joshtriedcoding  Рік тому +1

      @@hn3m3s1s Yes they are server-side. NextJS API routes use NodeJS, however, due to them being serverless, you don't have access to some APIs such as the file system. You can think of it as "every time my NextJS API gets called, I am 'renting' out a few seconds of a server's resources for this route to process the request".

    • @hn3m3s1s
      @hn3m3s1s Рік тому

      @@joshtriedcoding Wuw, thanks for that! Very clear explanation and I understand now better how next works!

    • @eeespartak
      @eeespartak 8 місяців тому

      @@joshtriedcodingWhy would you recommend it for small scale apps only? What better alternatives could you name for sth like a Java api + React/Next client?

  • @haijomblo-rn8pl
    @haijomblo-rn8pl 6 місяців тому

    "use server" = prisma not api again 😢

  • @maximusrayvego2673
    @maximusrayvego2673 10 днів тому

    jump to 7:24

  • @yacine5046
    @yacine5046 7 місяців тому

    That's really good, but it's paid and limited. The free version is also limited

  • @ekchills6948
    @ekchills6948 10 місяців тому

    Woow

  • @whoisasey
    @whoisasey 3 місяці тому

    THANK YOU!! the Pusher docs were so trash.

  • @user-hg4sv8ms6n
    @user-hg4sv8ms6n 2 місяці тому

    NOt helpful
    Just showing your code