Zero Sync Makes Local First Easy

  Рет қаралды 16,008

Syntax

Syntax

Күн бұрын

Пікірлер
@fitzsimonsdev
@fitzsimonsdev 2 күн бұрын
Scott you're so likable when you get super excited about something. I'm so excited to use Zero and React Native together. Can wait for Xmas break from work
@syntaxfm
@syntaxfm 2 күн бұрын
You should check out the “One” framework. It’s Zero + RN and a lot of good stuff.
@devagr
@devagr 2 күн бұрын
is that an agents of shield reference in the wild
@moritzlaube1676
@moritzlaube1676 2 күн бұрын
Thanks Scott! I'd be excited to see more of Zero in conjunction with Sveltekit and Coolify! ;) Thanks again for your great content
@MadeInJack
@MadeInJack 2 күн бұрын
Same, the stack of my dreams! With drizzle and a self hostable backend like Supabase. The perfect web app!
@AaronBoodman
@AaronBoodman 2 күн бұрын
Wow, Scott. Thank you so much ❤. I didn't expect this! PS: - early on - if you set the repeat rate of your keyboard higher it goes even faster 🙃 - at 9:40, we have an `upsert` method :). - at 10:00, PK doesn't need to be an array in the common case where its a single field
@hugodsa89
@hugodsa89 43 минут бұрын
Hope it gets pinned to the top so other people can see it. 😃
@LegendKeeper
@LegendKeeper 2 күн бұрын
This looks awesome! Very curious about advanced permissions, like hierarchical stuff, and performance at extreme cases. We built our platform using Yjs, and permissions and performance edge cases in prod have always been the trickiest part.
@a-poor
@a-poor 2 күн бұрын
This was great! Please keep the zero / local-first content coming!
@syntaxfm
@syntaxfm 2 күн бұрын
Def more coming.
@AxelRock
@AxelRock 2 күн бұрын
Wow, this sounds amazing. I wanted to try to recreate something like that next week, this is perfect timing, I'll give it a try. The implementation looks amazing, I could see a lot great services wanted to "bind" to Zero (👋 Supabase, I bet they are already working on it). Thank you so much for the discovery. This December is full of nice stuff for us devs. Also, your eyes looked a bit watery, I hope it's just a lighting thing, and that you're healthy. Take care Scott, happy holidays
@syntaxfm
@syntaxfm 2 күн бұрын
All good, def healthy, possibly lighting. Thanks for the concern though. 😀
@peachesfruitella
@peachesfruitella 2 күн бұрын
Been waiting for this to drop - really hyped by this. Also loving your lead on local first - so great to be talking about exciting things in the web space, rather than the topic being about which framework is better (yawn)
@joaquimley
@joaquimley 2 күн бұрын
Hopefully the drizzlezero translation comes soon, would be awesome! This look super promising, keeping an eye out for zero
@alexkingvideo
@alexkingvideo 2 күн бұрын
Thanks so much, Scott! We also have a Discord where people can come ask questions, get help, etc. Let me know if you want to add this to the links in the description.
@tithos
@tithos 2 күн бұрын
is "Drop In" the name of the product? If not what is it and where is the link?
@syntaxfm
@syntaxfm 2 күн бұрын
github.com/stolinski/drop-in Not really a product but a starter I’ve been using for myself. Now that Zero is in alpha I can develop in public
@MrJfergs
@MrJfergs Күн бұрын
I tend not work with alpha software but I will definitely be looking into this once it has an official release.
@paulvickers8059
@paulvickers8059 2 күн бұрын
Would love to see tutorials on this with Svelte. Thanks for your work, this looks amazing.
@HappyCheeryChap
@HappyCheeryChap 2 күн бұрын
I'm 3 minutes in, and still have no idea wtf this thing even is... I've heard "platform" 100 times, and have no idea what that's meant to mean here.
@ngideo
@ngideo Күн бұрын
Drop-in looks sick, thanks for making zero svelte friendly
@rodrigocornidez1917
@rodrigocornidez1917 2 күн бұрын
This is awesome, I'm looking forward to the beta release! Thank you for reviewing.
@hugodsa89
@hugodsa89 Күн бұрын
I’d love to see more Scott videos with tuts like CJ sometimes does
@JTWebMan
@JTWebMan 2 күн бұрын
What about window functions like total questions? Or total bugs? Does it have to pull all of them to get it? Also React Native?
@jimshtepa5423
@jimshtepa5423 Күн бұрын
what is its relation to framework like remix/next/astro? does it replace them or complements/integrates with them?
@JonBrookes
@JonBrookes Күн бұрын
Thanks so much for tthis video. Zero Sync is clearly extremely cool tech and with the possiblilty of self hosting is the win for me as opposed to that of a deal breaker with solutions that do not let you do that. I dont mind paying for services as they cost to run but if you need to develop within regulatory contrains, entirely on someone elses cloud for your data is not always viable. I can't help thinking that this is like a PWA without saying the word PWA or even needing to include a manifest !
@Danielo515
@Danielo515 2 күн бұрын
So they finally released! After having me hyped for months !
@syntaxfm
@syntaxfm 2 күн бұрын
Been waiting for this day, just so I could spill the beans on how good it is
@theklr
@theklr 2 күн бұрын
lofi gang taking over '25 and beyond
@hashproton
@hashproton 2 күн бұрын
Thanks Scott, how this compare to convex (I know the local part and postgres integration)
@syntaxfm
@syntaxfm 2 күн бұрын
I haven't used Convex but I know people love it. This does less than Convex in terms of overall features but this has a very novel way of syncing and loading data to be so fast. Zero is something you'd pick if you want to control and work with your own db.
@eleah2665
@eleah2665 2 күн бұрын
Hi Scott and thanks.
@etiennemc2613
@etiennemc2613 2 күн бұрын
Wonderful ! I'm interested by local first video, thanks !
@dovh49
@dovh49 2 күн бұрын
I build my offline first apps in a service worker. So, my front end never touches the db. Would this work in a service worker?
@syntaxfm
@syntaxfm 2 күн бұрын
Good question.
@hugodsa89
@hugodsa89 23 сағат бұрын
More local first content
@javajoint
@javajoint Күн бұрын
So, I did browse the docs, and it's not clear to me what's happening on the server side(?).. .you patch something, and it needs to update the DB, and... is it an ORM that's handling all of the updates to Postgres? I understand the client side DSL and the speed, and that seems great. Explain server side a little?
@MM-24
@MM-24 2 күн бұрын
I didn't see any reference to the source How do we validate that even as self hosted with docker, it doesn't dial home. Ive got extremely condifential data app fhat would be great to use this with
@syntaxfm
@syntaxfm 2 күн бұрын
Repo is here if you want to paw through it. github.com/rocicorp/mono
@bolte5987
@bolte5987 Күн бұрын
Personally, I'd like to integrate this with Astro using Sveltekit as the fontend, and Supabase as the backend.
@dandogamer
@dandogamer 17 сағат бұрын
So if im understanding this correctly the logic for zero is done on the client. And you write queries that get synced to your database. Doesnt this expose a huge security flaw in your application?
@syntaxfm
@syntaxfm 3 сағат бұрын
There is a server, it's just being controlled by the sync process. There is a permission and access api to prevent any security issues.
@SpeakChinglish
@SpeakChinglish 2 күн бұрын
How does this solve the issue which makes Firebase auth difficult to use? If I'm an user then take the jwt from network tab, then try and query your zero service, what's stopping me from request things I shouldn't have access to? e.g. request someone else's personal details?
@syntaxfm
@syntaxfm 2 күн бұрын
There are “select permissions” zero.rocicorp.dev/docs/permissions#select-permissions that give you control over who can select what.
@poolkrooni
@poolkrooni 2 күн бұрын
How is this an issue with Firebase? 🤔 RLS and rules solve this (same for Supabase, etc)
@AaronBoodman
@AaronBoodman 2 күн бұрын
A few things: 1. Zero permissions use ZQL, a full query language. Firebase's are more a configuration language and a lot more limited. If you've used Postgres RLS, Zero permissions are closer to that than Firebase rules. 2. In some ways this kind of system is _more_ secure, because you think about access at the level of invariants not procedural code. So you don't have to re-implement security in every endpoint, you do it once in a common location. It's also a less common way for devs to think about permissions though, so there is a tradeoff. 3. Zero doesn't currently have column permissions - if a user has access to a row they get the full row. So like if you have `user.address` and user A has access to user B, user A will see user B's address. This is just an alpha thing and will be fixed. And we will default this to closed, so that you have to open each column specifically. 4. The permission system is still in development and we have some new ideas percolating for beta that I think will really improve it.
@joaquimley
@joaquimley 2 күн бұрын
@@AaronBoodman thanks for the detailed explanation.
@gncfhcnvc
@gncfhcnvc 2 күн бұрын
I would like to see a tutorial for Zero Sync
@syntaxfm
@syntaxfm 2 күн бұрын
On the way 🫡
@Stoney_Eagle
@Stoney_Eagle Күн бұрын
This is crazy 😲
@pauek
@pauek Күн бұрын
I'm still trying to figure out if meta-frameworks are dead... with this, they almost look dead to me. I was already comfortable thinking that they would last at least 5 years, but local-first is stronger, clearly. We're back at SPAs, but this time the backend almost evaporates. I'm buying so much pop-corn to watch this unfold...
@dandogamer
@dandogamer 17 сағат бұрын
You still need SSR or static content for good SEO. That's where an SPA falls short and why we ended up in this meta framework situation
3 сағат бұрын
lol. People are amazed when a software do the basic: be fast (as ALL of them was in the 90's).
@syntaxfm
@syntaxfm 2 сағат бұрын
I personally didn't used a website that fast in the 90s. You were typically doing a full page reload on every route change. Ajax loading 100 bug issues was never and could never be this fast for the simple fact that there aren't network requests.
@prashlovessamosa
@prashlovessamosa 2 күн бұрын
Please build something with this I will try to replicate the process by myself.
@BrandonAaskov
@BrandonAaskov 2 күн бұрын
Louder than the other day, still too quiet. Maybe a compressor/limiter would help?
@WojtekPoroslo
@WojtekPoroslo 2 күн бұрын
it's plenty loud for me...
@syntaxfm
@syntaxfm 2 күн бұрын
This is compressed and normalized. Should be the appropriate volume.
@Kaalkian
@Kaalkian Күн бұрын
sqlite encrypted local first that sinks to a cf blog automatically. does that exists lol
@TheZyruks
@TheZyruks 2 күн бұрын
I just wanted to say it. First comment lol
@emmanuelxs6143
@emmanuelxs6143 2 күн бұрын
Swxind to comment 😢
@LawJolla
@LawJolla Күн бұрын
I never understand how “local first” is anything other than a toy. Most apps of consequence have business logic. When I add a product that just sold out to a cart, what happens? Call an API to get sales tax info? Etc. I’d love to see a real world demo of this tech.
@syntaxfm
@syntaxfm Күн бұрын
Look at apps like Linear and Superhuman for successful local first apps. Many of the fastest apps you've used use these local first techniques. For something like product stock, you would def not want to use this
@LawJolla
@LawJolla Күн бұрын
@ both use in house solutions. If you’re not using it for something as basic as product carts, then it sounds like you have a bifurcated data solution where everything is manually stitched. Nightmare. Or at least not worth the trouble.
@AaronBoodman
@AaronBoodman Күн бұрын
Replicache (our prior product) supports arbitrary business logic. Zero will too, soon.
@LawJolla
@LawJolla Күн бұрын
@ thanks for the reply! I’d love to see a “real world” example combining zero + zero business logic + a backing server when you get there.
@aghileslounis
@aghileslounis Күн бұрын
I'm skeptical about this abstraction, I don't think it's the right one. Business logic can't be on the frontend, it's too complex, and you can't maintain it for a long time. I think the proper abstraction must be completely hidden for the developer, no schema declaration or any other layer. I imagine tanstack-query implementing that internally, and it will be just a flag to turn "true" to automatically handle all the caching and use of indexDB, same for mutations. I think it's feasible.
This magic hack makes Next.js possible
28:02
Theo - t3․gg
Рет қаралды 33 М.
How to Go Deeper With Your Learning
24:31
Syntax
Рет қаралды 5 М.
Cat mode and a glass of water #family #humor #fun
00:22
Kotiki_Z
Рет қаралды 42 МЛН
Support each other🤝
00:31
ISSEI / いっせい
Рет қаралды 81 МЛН
PirateSoftware is right, this needs to stop
15:14
Theo - t3․gg
Рет қаралды 261 М.
OpenAI Unveils o3! AGI ACHIEVED!
26:24
Matthew Berman
Рет қаралды 209 М.
AI Automations 101: Reverse Engineer Any API
16:16
Hichem's Journey
Рет қаралды 2,5 М.
Smartphone Awards 2024!
27:30
Marques Brownlee
Рет қаралды 3,1 МЛН
Language Performance Comparisons Are Junk
1:23:37
ThePrimeTime
Рет қаралды 125 М.
How To Handle Permissions Like A Senior Dev
36:39
Web Dev Simplified
Рет қаралды 293 М.
Now is The Best Time to Learn React Native
7:05
Awesome
Рет қаралды 35 М.
go is great i hate it
14:44
SST
Рет қаралды 17 М.
SQLc is the perfect tool for those who don't like ORMs
28:11
Dreams of Code
Рет қаралды 111 М.