My Mobile App's Backend in 2023

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

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

  • @abdirahmann
    @abdirahmann ปีที่แล้ว +22

    oh boy, supabase is MASIVE especially the fact that its open source and can be self-hosted, this is GOLD for us devs that have to create products in sanctioned countries! not because aws banned us, but just to stay safe, i dont want waking up on a prod outage because aws decided otherwise 💀

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

      Unless you go bare metal, you never escape that, whatever provider you use, with supabase or without

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

      Would love to see a video how to self host suipabase in docker container.

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

      @@cristianbilu you can self-host supabase with your own metal, also every feature or product on supabase in open-source.

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

    discovered your content by pure coincidence. I'm convinced you will have a million followers in 3 or 4 years. Keep going!

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

      Appreciate it, I certainly hope so lol

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

    can you give some insight in how you process image files for the blok startup, how are you planning on delivering images that are as small as 60KB to avoid bad UX, please enlighten me.

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

      Great question!

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

      Supabase's SDK has decent image transformation for MVP, in the future we will probably use a more advanced provider like cloudinary supabase.com/docs/guides/storage/image-transformations

  • @GabrielGasp
    @GabrielGasp ปีที่แล้ว +5

    Not totally related to the video but how is your experience with React Native? I’m thinking of diving into the mobile world and currently split between RN and Flutter.
    I have background in React, which favors RN, but most of the people I talk to say that the Flutter experience is better overall.

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

      I jumped into react native off of the recommendations of my co-workers (they HATE flutter). So far the dev experience has been great, and expo is seriously absurdly powerful. However building to the app store continues to be miserable (I did some mobile game dev a few years ago, could be a fun story for the channel sometime). I much prefer web b/b in mobile you are abstracted so far up, that my build errors are 10,000 c++ traces that are meaningless to me in some podfile that has nothing to do with my code.

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

      From a productivity point of view, I honestly don't think there is currently a better combo for app development than FlutterFlow with Supabase. These are real development tools, focused on productivity.

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

    Why do you need separate server for mobile client, the svelte kit app will be the server + web client. You can expose necessary api routes in the svelte kit app to be called by both svelte frontend and mobile client. You do not need to connect supabase directly from mobile client.

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

      Yeah I was wondering the same thing… Is the issue performance, latency, or what?

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

      This would 100% work, but then I would still have to make HTTP requests to the server instead of just running DB queries on the FE which massively speeds up development

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

      @@bmdavis419 but writing db queries from frontend is considered a huge security risk na, so better to have db calls in the backend.
      And since you are handling both frontend and backend, how writing backend calls will hamper development speed?

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

    Besides the RLS from Supabase, you are actually exposing the DB credentials in the client. How is that secure?

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

      Row level security rules supabase.com/docs/guides/auth/row-level-security

    • @abdirahmann
      @abdirahmann ปีที่แล้ว +10

      with supabase you are not actually exposing the DB credentials on the client, the way they achieve an "INSERT" directly from the client is because there is an API gateway (kong) in front of another product called postgREST, what postgREST does is that it exposes/maps your models in REST routes, now after postgREST evaluates the request, it tries to execute the actual SQL code and postgres (the actual DB) will now evaluate and enforce RLS rules that were defined by you before doing the operation. That's how you stay safe.

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

    Would you be open to giving your thoughts on why you want to go with a native app as opposed to a PWA?

    • @bmdavis419
      @bmdavis419  ปีที่แล้ว +10

      The core reason is that we need it on the App Store. Our target market is gonna have zero clue what a PWA is and we will never be able to grow

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

      i'll give my 2 cents, PWAs don't feel native and whenever a user opens any website, he doesn't think of good experience because there is hardly any good experience on the web, relatively compared to mobile apps, the user doesn't care if its a PWA, its still a website!, but for mobile apps, good experience is expected from the get-go, a user will immediately notice and judge your entire company based on how good your app is, so yeah...

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

      @@abdirahmanni agree, also with app you are kinda required to do notifications and other stuff which can be pain in the ass

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

      @@doktormacak007 i agree but money speaks, its just what it is man, i cant help but implement it, i wish money grew on trees! 😆

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

    Waoh... thanks for this insight on your infra. Really informative video. What do you think about using SvelteKit server api as a drop in replacement to supabase functions (for custom actions apart from crud) ? I was thinking about this for a while. Want to have your advice

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

      Would work perfectly. Both would fill the role of BE REST endpoints, I just find supabase a bit more convenient

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

    i think it's better to use svelte native with native with native script

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

    Just signed up for Blok app. Good job. How did you meet the founder and the design guy?

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

      Through my university, it has been awesome working with a designer and product guy lol

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

    google auth with ios. its been tough. hopefully library maintainer fixes nonce

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

    So what DB and Auth solution do you recommend on a svelte kit app?

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

      Congrats on Blok btw 🎉

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

      Lucia + planetscale or turso

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

      @@bmdavis419 thank you, this is very valuable to me

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

    Supabase ve pocket base? Surely pocketbase would be much better especially for someone that likes having his own backend

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

      Its not quite at 1.0 yet, and the reality is that Supabase has more features, a bigger team, and a much bigger ecosystem behind it. This is a pretty serious project, and realistically I'm just betting on the bigger more mature tech here

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

    How do you use className on VIew in React Native?

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

      Native wind: www.nativewind.dev/overview/

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

      @@bmdavis419 Thanks

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

    Maybe I missed it, but I didn't really catch why you prefer this to Firebase. Was it the client-side libraries? Firebase has those too 🤔

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

      SQL and open source

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

    Does it handle IAP and subscription verifications?

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

      Have not set any of that up yet but it easily could, at the end of the day it really is just postgres and some edge functions

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

    why not in swift?

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

      I already have years of react experience and we want to make it cross platform

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

    What is your vscode font?

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

      Jetbrains mono nerd font

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

    I think for a video like this, you really need to show the counter-factual. Is there a reason you can't do read and writes from a server to SupaBase? For the record, I've never used SB, but if in the future I ever want a service that goes to web and mobile apps, why not use SB?

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

      U can use it on the server, and it works great (see the deep dive for a full open source app example), I just prefer the other options

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

      @@bmdavis419 I mean, yeah. I've been loving drizzle with just a DB. But I don't actually see a significant negative to using supabase as described in your video. It basically looks like drizzle and I don't feel you articulated how it's significantly different in the video. You made a great case why you should use SB for a mobile app, but said little in the way of why one shouldn't use it for a SK app.

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

      In your production apps, what were the other options you would use in a nextjs application?@@bmdavis419

  • @ГенаПетров-н5ы
    @ГенаПетров-н5ы ปีที่แล้ว

    Why not Pocketbase?

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

      Not at 1.0 yet, and supabase just has more features/power

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

    Concurrency is weak in supabase.

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

    Hi there sir ben. I saw your tweet finding video editor. Do you have an email address so I can send my portfolio and works. Thanks

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

      www.youtube.com/@bmdavis419/about

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

      Hi there sir ben, thankyou for interacting with me. I'm sorry to brought this up but I'm having difficulties to find your email here in your channel . I can't find your email address, can u type it here ? Thanks .

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

      ​@@bmdavis419i already emailed you sir. Thanks