The easiest realtime app I’ve ever built

Поділитися
Вставка
  • Опубліковано 1 чер 2024
  • I built a library called SvelteFire to make building realtime apps with Svelte and Firebase even easier github.com/codediodeio/svelte...
    #webdevelopment #javascript #sveltekit #firebase

КОМЕНТАРІ • 173

  • @saltymashedpotatoes
    @saltymashedpotatoes Рік тому +192

    All these new frameworks are turning me into a minimalist.

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

      😂

    • @dfsgjlgsdklgjnmsidrg
      @dfsgjlgsdklgjnmsidrg Рік тому +19

      @@ieatthighs he minimalist he no use indicator for plurality if not necessary

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

      @@ieatthighs he edited comment he no minimalist

    • @saltymashedpotatoes
      @saltymashedpotatoes Рік тому +18

      @@ieatthighs I appreciate the correction. I've been getting a minimal amount of sleep lately...

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

      @@saltymashedpotatoes thanks for the response, usually people aren't as honest as you
      have a good day

  • @zbik
    @zbik Рік тому +266

    I love the love Jeff is giving to SvelteKit :)

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

      He's getting laid.

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

      *paid

    • @swaggitypigfig8413
      @swaggitypigfig8413 Рік тому +46

      @@TwoTeaTee Yes he is indeed bought by Big SvelteKit. Very much so. Absolutely without a doubt.

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

      @@swaggitypigfig8413 and clearly dont have any family stucked in a random Taco Bell basement by trench coat people

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

      @@TwoTeaTee I’m sure sveltekit makes enough money to pay fireship

  • @willinton06
    @willinton06 Рік тому +356

    I mean it should have been called FireSvelte but other than that it looks pretty cool

    • @minnow1337
      @minnow1337 Рік тому +113

      Should have been called Smelte

    • @tabiasgeehuman
      @tabiasgeehuman Рік тому +23

      @@minnow1337 That name has already been taken sadly

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

      SvelteBase

    • @danvilela
      @danvilela Рік тому +5

      Sfelte

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

      @@tabiasgeehuman Then it should be called Smelt, and should use a fish icon

  • @Twingamerdudes
    @Twingamerdudes Рік тому +31

    I can finally die happy knowing I can make realtime apps in under 30 seconds.

  • @GoldenBeholden
    @GoldenBeholden Рік тому +16

    Svelte has become the definitive UI framework for me. I can't imagine using anything else when I have a choice.

  • @MKSDragon
    @MKSDragon Рік тому +63

    Jeff: "Let's build a full stack app with Svelte Fire in about 30 seconds"
    Also Jeff: *Uses copypasta*

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

      This comment is still underrated 🤣

  • @rafalpotasz
    @rafalpotasz Рік тому +11

    Awesome project. I'll study this to understand the patterns and how you used stores so efficiently, my stores and firebase code look massive in comparison in some older projects.
    When you announced the upcoming SvelteKit course I started typing a query about an updated Stripe course.
    Needless to say I deleted that query :).

  • @kerodfresenbetgebremedhin1881
    @kerodfresenbetgebremedhin1881 Рік тому +16

    we need that svelte kit course nowwww

  • @GiladGur0001
    @GiladGur0001 Рік тому +5

    You are an inspiration. This is exactly the kind of work I love to do and see as a software engineer. Abstracting and modeling the software and its components so it makes mine and everybody else easier to build stuff.
    Cheers 🎉

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

    I've also begun playing around with custom Svelte stores for a reactive data store I'm using and it's a lot of fun. Abstraction is always awesome.
    Passing down data through components looks very convenient, so I'll have to try it.

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

    Hey man, really love how you make tutorials. I'm not even a web developer but the way you create and explain everything is great!

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

    Can’t wait for the full Svelte course! Do hope it includes Svelte Kit and SSR, as it’s something that still eludes me which I hope to be able to push to Firebase hosting, as per usual.

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

    4:55
    holy shit this itches such a specific part of my brain
    thank you so much for the effort you put into these videos

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

    Wow Jef, that was aswesome! Looking forward to the course. Have a great year!

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

    ... I don't think I will ever get to this level of understanding.
    Its so exciting watching these, also deflating...

  • @alishxn
    @alishxn Рік тому +5

    Fireship uploads!! Day gets better

  • @dl0.0lb
    @dl0.0lb Рік тому

    Wonderfully elegant. Love it!

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

    Amazing work. I will be using SvelteFire soon.

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

    5:15 So clean bro... ❤‍🔥💯 Awesome

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

    I can't wait for your SvelteKit course!

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

    these design patters will actually help a ton with authentication!
    While i dont use firebase, i found myself accidentally discovering this pattern with data already but never thought to actually own it and extend it to user auth.

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

    Looks awesome, might try to reproduce it in my Nuxt app!

  • @luismartins1150
    @luismartins1150 Рік тому +3

    Hey, great video. I knew this lib existed but never truly realized how helpful it could be. If you have more examples of how to use it in a longer videos (with more real case scenarios) I would totally watch it.
    Btw, I noticed you didn't put your website in the video description. Is that on purpose? When you mentioned the new course I looked for it in the description but couldn't find any links to it.

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

    I'm building a cross platform app with sveltekit that I plan to try and market, and this is very helpful. I wonder how many times I'll rewrite the code before I finish it lol. Thank you!

  • @Melez1
    @Melez1 Рік тому +11

    All I'm seeing is Context and custom Hooks. Coming from React, I taught this was not really possible elswhere. Thanks for the information Jeff ;) Svelte seems so easy yet so scary when apps tend to grow, this video, excluding the Firebase stuff is a really good exemple for global state management and I really want to dig more about Svelt now.

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

      You're seeing context and custom hooks, but less verbose

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

      That's basically what it is (context behaves verrrrrry similarly to React), but, in my experience, there are wayyyy fewer gotchas with Svelte Stores than there are with custom hooks in React. For one, it's much easier to work with complex objects and arrays that have asynchronous behavior.

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

    This stuff is simply amazing! 😀

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

    Have taken your NextJS course. Looking forward to your SvelteKit course. 👍

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

    Thanks for spreading the Svelte-y goodness!

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

    Looking forward to that SvelteKit course :D

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

    Looks like a pattern we have been doing on native web component land a few years now to compose apps. However, the slot property is kinda cool, would be nice to see something like that instead of always sending data with events.

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

    I'm waiting for the course. It'll be my first course bought from Jeff :)

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

    Amazing Job!

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

    Beautiful.

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

    I am a big fan and learned a few neat Svelte tricks here! I have concerns with this approach however. All requests to the database will be issued by the client. Putting this behind a server-side API allows you prevent misuse through rate limiting individuals from spamming your backend. You can even add client side logic to significantly increase the complexity of manually issuing valid API requests which allows you to reduce the likelihood of people writing scraping or automation bots (although you can’t prevent it) Obviously, this is much more effort.

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

    That looks cool, I am still on react, but that example at the end makes me want to switch to svelte for my next project 🚀

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

    This is just the direction development with sveltekit needs to go. Thanks for making it, at the very least I learned how to design my sveltekit apps better! Generic design to remove boilerplate is the way to go.

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

    Jeff: “Do not use in production”
    Me: “challenge accepted”

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

    great content! :)

  • @Ibrahimdevelopment
    @Ibrahimdevelopment Рік тому +28

    I'm building with svelteKit right now and it's like taking heavy amounts of heavy drugs, just without all the sideeffects react gives me.
    Currently experimenting with different UI libraries like DaisyUI and Skeleton.

    • @0Smile0
      @0Smile0 Рік тому +1

      what are some good UI libraries you found?

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

      no you not stop cappin

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

      @@windwardhive7363 lmao ok then G 🗿

    • @okleid
      @okleid Рік тому +3

      Give flowbite-svelte a try. Everything you need is in there

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

      @@0Smile0 i like DaisyUI for components, but their page themes is kinda bad IMO. Tailwindcss is also really good and it works flawlessly for my usage.
      Skeleton UI is nice, but it’s a pain to set up. But be on the lookput for when they release it. I’m sure it’s going to be really good.

  • @griof
    @griof Рік тому +3

    you should make a video about htmx and _hyperscript

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

    I was working on a project with Sveltekit + Firebase, good timing that you created this so I can -copy- get inspired.

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

    What a nice morning, talking trash to react and giving svelte some love

  • @alichamas63
    @alichamas63 Рік тому +3

    I love that you love Svelte. It's waaaay better than React, it'll just take the React chads a while to figure that out. This is coming from someone who used React in professional teams for years.

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

      Should I already go ahead and skip learning react just to learn this

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

      @@jonathanthomas2449 The svelte developer experience feels much closer to native js and for me it was much simpler and intuitive to learn, especially with their interactive tutorial. If you use svelte you will learn skills that apply universally to web development.
      If your goal is to work on your own projects I would recommend svelte. If you want to work in a corporate environment it’s worth picking up react, but that doesn’t mean you can’t still start with svelte.
      I was a react dev for 2 years and I recently switched to svelte for my own projects. It’s a much better developer experience and there’s far less boilerplate

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

      @@minnow1337 Thank you! I "know" java but i want to really dive into full stack web dev right now too. Thanks for thr advice

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

    Hey Jeff, please make a playlist as how you script your videos please.

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

    finally, thank you jeff :)

  • @7heMech
    @7heMech Рік тому +2

    Blazing Svelte gang.

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

    Please consider adding a little more TDD chapters for Sveltekit course

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

    When is the Svelte course going to come out? I know you said in about month from the release of the video, and we're right around that timeframe. Please let me know I am interested!

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

    i love the acronyms xD

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

    I dont know why im watching this whilst banging my head against the desk because of c++ pointers, knowing full well im going to code up a website in pure html,css,js. But keep up the cool videos.

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

    Now we need a pocketbase version!

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

    course on Svelte and Sveltekit please

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

    Rich Harris should salute Fireship.

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

    Something that worries me about SvelteKit is my lack of understanding of how it works and where I may slip up when it comes to security (e.g. simple things like having private code running on the front end).
    If I'm correct that this is a risk, I'd love a video on it!

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

    Can we use FirebaseApp component from +layout.svelte? Do we still need to add it at page level if we already have it in its parent layout?

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

    Nice. Now could you do it with vue + pinia + Vite with pure ES6 Modules ? Thanks i’m waiting

  • @picsi-software
    @picsi-software Рік тому

    When are you going to have a whole course for Svelte??... ah you answered it at the end :)

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

    Do a Supabase Auth + SvelteKit tutorial and I'll be your fan.

  • @quabey_
    @quabey_ Рік тому +3

    And there I was, thinking I finally understood Svelte.

  • @Antonio-yy2ec
    @Antonio-yy2ec Рік тому +1

    SvelteKit rocks, happy to see you using it!!

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

    Fireship you can return unsubscribe directly on the onMount hook
    And you can call getContext in the same component that calls setContext
    I think your library can be better using hooks instead of components based

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

    I didn't understand shit but looks cool 🤣

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

    Idea for video(if wasn`t already made) ... why should i use svelte/react/vue/angular/etc. Why with Typescript?

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

    Are you going to release a Svelte course anytime soon?

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

    Which is better to learn as my first framework svelte or react ?

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

    On what regards this is a realtime app? All of the heavy lifting is already done in firebase sdk for updates and sync form and to the platform itself. This is more like using rxjs or redux for maintaining an application state from external interactions to platform

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

    Playing with SolidJS at the moment, but keep wondering if I’m missing out on all the fun happening at the Svelte party

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

    I've been trying to figure out how to use sveltefire since I randomly found it like a week ago. Thank you.

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

    I've thought for a long time that Vue is the natural step forward for angular and react developers. Angular people would have their mind blown by an extremely easy reactivity model compared to rxjs, (working) hmr, actually useful devtools, etc. React developers would have their mind blown by embracing the mutable nature of objects and automatic mutation tracking instead of doing (costly) reruns of functional code and immutable object creation.
    But it seems a lot of devs are jumping ship from react over to svelte instead of Vue. Vue 3 and svelte are almost identical in syntax, but svelte bundles end up larger in size, and the written code is further from JS than Vue (the reactivity parts).
    I've concluded that svelte might win the hearts of devs in 2023 by being young. If I google a vue problem, I'll find solutions for v1, v2, v3, options api, composition api, etc.
    A lot more confusing for a newcomer than svelte which has few changes between versions.
    Good documentation wins developers over I guess..

    • @pmj_studio4065
      @pmj_studio4065 Рік тому +8

      I've tried learning Vue and it felt very similar to Svelte, but with many little things that are a little bit less convenient.

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

      Svelte is more lightweight then Vue and is overall simpler. I've used both svelte/kit and Vue/nuxt3, and I just feel that sveltekit does what I can do in nuxt3, but faster and with less complexity.

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

      Vue does feel like a breath of fresh air coming from react - it tidies up the mess a lot by giving quick shortcuts for a lot of repeatedly used patterns and designated sections to split up code
      The problem with react was never the functionality - it was always the resulting mess that kept happening if you don't have a really good dev team who knows how to manage code
      But svelte seems more pure to me due to the no bundling idea - as long as the tree shaking and optimisations keeps happening I don't see why it would eventually have competitively small productions bundles (even if right now they aren't great)
      And let's just compromise on the part that JS isn't exactly syntax/language standard anyone should aspire to

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

      > vue is closer to js
      I think svelte is meant to be close to plain html/CSS apps, with js, as opposed to building apps with js

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

    Rich must have watched this with a Giant smile 😁😁 if he did that is!

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

    Is this still experimental or can it be used in production? I see the last update was 7 months ago.

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

    This reminds me how advanced rxjs and angular they are

  • @siliwolf
    @siliwolf Рік тому +3

    The thing I'm mostly missing on in UI driven data frameworks such as this one, is the fact that it's very difficult to test.
    How do you test your app without hiding behind mocks for the entire transport layer?
    I mean, you can spawn a local firebase simulator and point to it, but that's quite memory intensive in terms of resources, namely while developing.
    I'd really love to have a separate in-memory transport layer which will run against the real-ones test suite, and once the two have passed, I could defer to the on-memory one from that point on, for the rest of the tests, but it seems like all of these ui-wrapped-data-libraries suffer from similar afflictions (not limited to svelte of course, react/angular/vue have a similar library for years now).

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

    Really happy to support you through Fireship Pro since it enables you to work on and test all these different approaches.

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

    For me, the drawback is the few UI libraries

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

    FIRE

  • @leagueoflags
    @leagueoflags Рік тому +16

    Ok boys, time to recode our Next13 apps to SvelteFire. But no worries, I'm sure this framework will last for at least one week!

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

    At the end of the Custom Stores section you return an anonymous function that invokes the unsubscribe function. Can you just return the 'onAuthStateChanged' invocation instead? Just wondering if it doesn't work.

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

    Could've went with " Sve *lit* "

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

    Can you do the same for Vue?

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

    I understand everything he said.

  • @nomadshiba
    @nomadshiba Рік тому +5

    i was in love with svelte but
    recently just made my own web component library(framework), that is lightweight, does everything i want it to do, and has no dependencies
    im pretty happy with it, and syntax and stuff too
    i think it has the best parts of svelte and solidjs/react
    its basically, for me, i made it for myself in a week or so
    - easy to read
    - transparent about what is happening and what is what, no magic
    - lightweight
    - reactive like solid and svelte, updates only the changing part
    - lets you create web components or fragments
    - everything is a HTML Node
    - supports async stuff by design
    - etc
    its SPA because well i dont need SSR because i use IPFS on my personal projects so they are serverless, cloudless, always anyway
    perfect for me, so i dont think i would use something else for my own stuff, its like a breath of fresh air
    i had to use solid for a new job, it was either gonna be solid or react and i was expecting solid to be like svelte but nope
    its like an updated react and still a pain
    i thought solidjs would be nice but it turns out to be a mess, nothing works as expected, a ton of random features, useThat, useThis, useYourM*m, createThis, createThat, etc
    nothing works as expected etc, a pain
    same thing as react, instead of elegantly fixing the root of the problem, it just have a f/ck ton of patches/features that is trying to make the thing work

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

    Inb4 Jeff marries SvelteKit

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

    Sveltekit course ...soon ? 😌

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

      Watch the last 10 seconds. It's coming in a month.

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

    Maybe someday Meteor will be cool again

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

    Are you still working on this project or is it on hold? I've seen its not recommended for production. But I wish it was haha =D

  • @kephas-media
    @kephas-media Рік тому

    SolidFire I wait for you

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

    wanna make 2023 tech prediction?

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

    $nice $video

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

    SvelteKit is the best!

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

    how can I style children's from parent component? :)

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

    🤯

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

    Svelte is the way

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

    Why not just use something like netframework webforms with a db?

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

    sveltekit updated tutorial when

  • @tbc...
    @tbc... Рік тому

    Great, another JS library.

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

    Oh no this is giving react contexts

  • @siegbertus2000
    @siegbertus2000 6 місяців тому

    HELP! I just don't get it working. Everywhere there's different documentation about how to set the config. If I try to make it exactly the way your docs suggest I run into a bunch of problems. Can someone please help me??

    • @siegbertus2000
      @siegbertus2000 6 місяців тому

      Maybe could you update the sveltefire Template? It would be soooo helpful! I want to start programming, instead I'm waisting hours with Firebase Config...

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

    Imagine SvelteNative

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

    I'm not a pro member but you bet your a$$ I will be when that SvelteKit course comes out