Skip just dropped - "it's like React, for your Backend"

  Рет қаралды 34,082

Theo - t3․gg

Theo - t3․gg

Күн бұрын

Пікірлер: 185
@ImNotAYoutuber0
@ImNotAYoutuber0 3 сағат бұрын
0 Days have passed since a new Javascript Framework was published.
@gearboxworks
@gearboxworks 2 сағат бұрын
Your comment made me think of the concept of "Patient Zero." 😲
@BHFJohnny
@BHFJohnny 8 сағат бұрын
"It's like React, for your Backend..." - RUN AWAY! 😱
@Technopath47
@Technopath47 4 сағат бұрын
Bring out the Holy-C hand grenade!
@dblumene
@dblumene 41 минут бұрын
Exactly. We need to gatekeep backend from people like Theo, fr.
@User948Z7Z-w7n
@User948Z7Z-w7n 9 сағат бұрын
Imagine your whole backend rerendering because of some stupid dependency
@SatoshiCommentorto
@SatoshiCommentorto 3 сағат бұрын
"It's like React, for your Backend..." Oh fk the virus has even infected the backend engs? Can't wait for my server to reboot 400 times for no reason.
@sjf29
@sjf29 8 сағат бұрын
10 years later, "just dropped". You can't do that. To rebrand successfully, you need a new name, like Intercooler showed.
@bossmusa9075
@bossmusa9075 11 сағат бұрын
What about performance, like RAM usage? Because it sure sounds like biconnectional relation or event driven one, and both of them were always heavy on RAM. Ram cost allot in cloud.
@makkam7575
@makkam7575 11 сағат бұрын
100% also what about horizontal scalability
@sircalvin
@sircalvin 10 сағат бұрын
@@makkam7575 this might be an appeal to authority, but if facebook/meta is using it in production id assume it scales pretty well
@marcuss.abildskov7175
@marcuss.abildskov7175 10 сағат бұрын
It's easier and cheaper to use pub/sub and server sent events haha
@thedailycutline278
@thedailycutline278 7 сағат бұрын
We as react devs only care about developer experience😂, caring about scalability while our apps monthly users is in the 10s not even hundreds, is smthing we dont do..😂😂😂😊
@m4saurabh
@m4saurabh 11 сағат бұрын
Didn't understand any of it how it works cloning it right now.
@NicolasEmbleton
@NicolasEmbleton 5 сағат бұрын
Same here.
@erentr7167
@erentr7167 10 сағат бұрын
creating another layer on the backend, idk but unneccesary added one layer of complexiness
@coffee-is-power
@coffee-is-power 10 сағат бұрын
I think this is useful if you have a websocket and need to send updates, but like it's not that hard to implement it yourself
@sobanfarooq8288
@sobanfarooq8288 5 сағат бұрын
it will create some jobs, hehe
@SpektralJo
@SpektralJo 16 минут бұрын
​@coffee-is-powerServer send events are better than websockets
@FuzailShaikh
@FuzailShaikh 2 сағат бұрын
And what if the database is updated by some other external service and not the client?
@domephant2425
@domephant2425 8 сағат бұрын
So Skip is a viable server inbetween in a BFF architecture? Thats actually pretty cool
@tomgidden
@tomgidden 3 сағат бұрын
If I were developing something that made my backend reactive, I'd call it "Lactose"
@rufio.tf2
@rufio.tf2 5 сағат бұрын
Very interesting. I love the collections and mappings paradigm. Thanks for covering this.
@svenscekic2240
@svenscekic2240 9 сағат бұрын
Maybe a dumb question but what is the difference between this and websocket based upadting or using a real time queue with updates ? Less code has to he written or?
@julienverlaguet
@julienverlaguet 8 сағат бұрын
Well, it all depends on how much logic you have that depends on these queues. I your logic is simple, you are better off with a pub/sub system, whenever something changes, just push a notification to everyone who should update. Unfortunately, that will become more and more difficult as the logic that consumes the changes becomes more complicated. You might have to invalidate a few caches, recompute many values, you are probably going to get lost. Skip takes care of all of that for you.
@assertnotnull
@assertnotnull 5 сағат бұрын
So it's like Phoenix Pubsub but with one additional server, having to deploy it and all the mumbo jumbo and complexity. Great.
@alanforrester9766
@alanforrester9766 5 сағат бұрын
I believe you have previously said it's a bad idea to be an early adopter. I will be following that advice for skip.
@QuentinBzt
@QuentinBzt 3 сағат бұрын
You meant ‘and skip’ 😂
@5Hoy5Hoy5
@5Hoy5Hoy5 2 сағат бұрын
So server-sent events packaged up in convenient ways? How is the scaling up and down of that server handled?
@dead-claudia
@dead-claudia 11 сағат бұрын
this kinda feels like if mapreduce and redis/valkey had a baby
@Daphne-Andrew
@Daphne-Andrew 7 сағат бұрын
ANYONE IN 2058 !?!✨💖✨
@pencilcheck
@pencilcheck 6 сағат бұрын
i'm trying to understand what this replaces, similar to how react replaces a lot of jquery tools
@mgbertiaux
@mgbertiaux 4 сағат бұрын
"i'm trying to understand what this replaces"; simplicity Replacing simplicity for complexity. Why wouldn't you add more complexity to your work? 🤔🤔 Any FatBoyOver770Pounds-linux-distro-sommelier knows; do more complex something simple is the way. Reason? because they "can" and 770-pounds-fat took control of his mind
@sadDota
@sadDota 2 сағат бұрын
SKIP framework aka. SQL Cascade as paradigm
@Seanmclem
@Seanmclem 23 минут бұрын
Maybe I’m crazy, but it seems like a lot of manually written things to just have it work automagically. Like graph QL like you said. Seems great just doesn’t seem simpler.
@XX-ri1me
@XX-ri1me 2 сағат бұрын
This seems like the same mission as The Reactive Manifesto, Published on September 16 2014. (v2.0)
@ouss
@ouss 12 сағат бұрын
Convex is always getting stolen from
@PenguinjitsuX
@PenguinjitsuX 11 сағат бұрын
Yeah, this is just realtime with extra steps. Other db's like Convex and InstantDB (and new ones are coming out as well) already have realtime as a built-in feature. This requires extra manual code setup for realtime which is just more work to do.
@m4saurabh
@m4saurabh 11 сағат бұрын
It not made for the people using convex or other new tech, it's for companies who have already established backend systems.
@roberthorne9597
@roberthorne9597 10 сағат бұрын
It's meteor JS basically too
@PenguinjitsuX
@PenguinjitsuX 8 сағат бұрын
@@m4saurabh Yeah, makes sense. Just seems a little misleading for Theo to completely not mention any other realtime options in a video like this. Usually you want to be clear about what the purpose of the product/library is, what other options there are, and how this is specifically different than the others. People who watch this and don't know about Convex/InstantDB/etc. might think this is the best realtime solution for their new project. This video can indirectly come across as a realtime lirbary recommendation video but doesn't cover alternative options that would be MUCH better for a new project, and most of his viewers will be working on new react stuff, not for companies with old established databases Long rant, but basically it comes across as misleading to not mention better things for his main audience who are normal devs, not companies with old backends. Not to mention that he makes it seem like something really good when other solutions exist that don't require writing an extra layer of code. Although the use cases are slightly different, when making a video about "realtime" it's important to mention other options.
@PaleyBlog
@PaleyBlog 11 сағат бұрын
JS backend === meh
@OnFireByte
@OnFireByte 11 сағат бұрын
The meat and bone is the runtime itself. JS is just their first sdk.
@subcomandante81
@subcomandante81 10 сағат бұрын
equals false
@Mempler
@Mempler 10 сағат бұрын
NestJS is actually quite nice for a backend
@thecodermehedi
@thecodermehedi 10 сағат бұрын
​@@Memplernah i hate the angular syntax
@AbhiShake-pl3cf
@AbhiShake-pl3cf 9 сағат бұрын
false
@clanoftheducks1850
@clanoftheducks1850 2 сағат бұрын
As a back-end dev I am struggling to see the advantages of this. It's graphql but firing off events to the client with updates? I just honestly don't see how this hydration method is a plus compared to stuff that already exists. I think it would be a nightmare having a few of these collection changed with complex logic on compute resources as well as speed. But I may be wrong. Guess I'll take a look on how it work and if introducing it wouldn't become a double implement.
@husseinkizz
@husseinkizz 3 сағат бұрын
There's a way this feels like Theo trying to sell us this thing, and by speculation of it's juice, no thanks but I appreciate informing us about new stuff always!!!
@HardGas911
@HardGas911 3 сағат бұрын
How does Skip push updates to clients? And how does it manage updating a large pool of subscribed clients?
@jodu
@jodu 4 сағат бұрын
So this is badically Feathers but with more code hidden from the dev and probably a bit faster! Interesting 🤔
@Jeanpierrec19
@Jeanpierrec19 10 сағат бұрын
Abstraction over observers + SSE. Very cool and should speed up building backends. Also SSE is stateful so no more love for serverless?
@furycorp
@furycorp 7 сағат бұрын
Neither were particularly complicated to begin with. I recall years ago trying SSE for the first time and having something rolling in well under an hour, and that was before any tutorials or articles or ChatGPT.
@Jeanpierrec19
@Jeanpierrec19 7 сағат бұрын
@ I agree completely. Just to build the abstraction over observers is not simple. I don't necessarily see the need to most apps but as usual something Meta's size it becomes necessary.
@luizgrocco
@luizgrocco Сағат бұрын
If this was a fullstack solution like tRPC and thus 100% typesafe it would literally win the whole market in a day.
@JohnLovell-FTW
@JohnLovell-FTW 5 сағат бұрын
If I wanted my backend to be reactive I would order Taco Bell.
@arogueotaku
@arogueotaku 11 сағат бұрын
So what's the benefit of this compared to some other already existing Realtime DB solutions?
@OnFireByte
@OnFireByte 11 сағат бұрын
by being source agnostic.
@khai96x
@khai96x 10 сағат бұрын
I think it's declarative. Instead of calling functions like `.insert()` or `.delete()`, you would return a whole list.
@julienverlaguet
@julienverlaguet 8 сағат бұрын
Problems will arise with realtimeDBs (or pub/sub systems) when the amount of logic that depends on a "read" starts to grow. Imagine you have a a table in a realtimeDB that stores your users. Now you write a first layer that defines something with those users (let's say group). And you keep on going like that, you now build logic on top of your groups etc ... What happens when one of your user changes? Do you recompute the whole thing? That is expensive. Do you try to determine who is affected? That is error-prone. If you write your logic using the Skip Framework, the whole system will update *incrementally*. Only what needs to be recomputed will be recomputed, exactly how react tries to minimize the work to update a view, Skip does the same thing for the backend.
@inducingchaos
@inducingchaos 2 сағат бұрын
Does anyone have Drizzle Studio w/ PlanetScale working on the latest versions?
@emjones8092
@emjones8092 Сағат бұрын
"Like react for your backend" sounds a *lot* like temporal's original marketing language...
@emjones8092
@emjones8092 Сағат бұрын
kzbin.info/www/bejne/jYO8oK2Joc-Gptksi=HNAyq7ZS9f9wdcc_ Literally... 1:1
@jamesbotwina8744
@jamesbotwina8744 5 сағат бұрын
I wonder if this is what enables Convex DB to be reactive
@2lay
@2lay 9 сағат бұрын
can’t i just skip the backend?
@TennSeven
@TennSeven 4 сағат бұрын
Get me on the dance floor and my backend is already plenty reactive!!
@thoriqakbar
@thoriqakbar 5 сағат бұрын
there goes my weekend
@yewo.m
@yewo.m 4 сағат бұрын
Now let's Rewrite it in Rust™
@RustIsWinning
@RustIsWinning Сағат бұрын
YES !! Nya~ 🦀
@VíctorManuelDíazNeto
@VíctorManuelDíazNeto 11 сағат бұрын
The guys doing js on the server lmao
@daz1uk
@daz1uk 9 сағат бұрын
Just a silly comment really
@ninocraft1
@ninocraft1 7 сағат бұрын
point your fingers at the dork using js for everything and laugh
@daz1uk
@daz1uk 7 сағат бұрын
@@ninocraft1 okay, you wanted to up the silly comment ante I see
@stenyxx
@stenyxx 5 сағат бұрын
17:50 condaluded > convoluted
@grgrsm
@grgrsm 4 сағат бұрын
rip firebase
@tobia54
@tobia54 2 сағат бұрын
how different is skip from meteor?
@codeVictor
@codeVictor 5 сағат бұрын
How does your github look so different?
@-parrrate
@-parrrate 10 сағат бұрын
time to consider proper event sourcing
@haroonsaifi17
@haroonsaifi17 8 сағат бұрын
is steam using sockets?
@brendonovich
@brendonovich 9 сағат бұрын
woah, seems like signals on the server, where elements are signals and mappers are memos. really cool!
@TheBswan
@TheBswan 2 сағат бұрын
This is extremely cool
@bernardoforcillo
@bernardoforcillo 9 сағат бұрын
look like ent framework?
@usmansbk
@usmansbk 3 сағат бұрын
I just need ReactJs template engine for ExpressJs
@gearboxworks
@gearboxworks 2 сағат бұрын
So, out of the frying pan, and into the fire. 🙄
@wizz1e80
@wizz1e80 14 минут бұрын
2:03 even java?? What's wrong with java??
@alexnahas2907
@alexnahas2907 2 сағат бұрын
electric sql and zero are already doing this in a much more elegant way tbh. This looks really over engineered
@AVidhanR
@AVidhanR 8 сағат бұрын
The control flow is so confusing to understand 😅
@tambourinedmb
@tambourinedmb 8 сағат бұрын
yeah awful, at least it users classes so can organize by class
@kmuralikrishna1998
@kmuralikrishna1998 11 сағат бұрын
Crazy stuff
@ccj2
@ccj2 12 сағат бұрын
"react on the backend" ...I'm listening.
@IStMl
@IStMl 11 сағат бұрын
I'm fleeing
@ArcticPrimal
@ArcticPrimal 10 сағат бұрын
You're listening?! Did you have a problem with react backend, and also, why were you using the react backend?
@georgekrax
@georgekrax 9 сағат бұрын
ORMs like Prisma are the equivalent of React in the backend, and Skip proves that
@helloworlditsworld
@helloworlditsworld 2 сағат бұрын
React better stay far away from my backend
@ShinSpiegel
@ShinSpiegel 9 сағат бұрын
This looks like a cool tech, but like most of the facebook (meta), it solves their problems, most of the projects wouldn't need this tool, since they will not (often) face this issue. Cool tech, but it will not change how most companies work.
@julienverlaguet
@julienverlaguet 9 сағат бұрын
This is no longer a Meta project. We raised funds and created a company (called SkipLabs).
@ShinSpiegel
@ShinSpiegel 9 сағат бұрын
@@julienverlaguet Strange, as far as I understood this is a facebook breed project that is used at facebook to solve facebook problem. That was opened for more people to "look" and use it too. Like most other tools.
@deadchannel8431
@deadchannel8431 11 сағат бұрын
Pretty cool
@DeterministiqueSoftwareS-gy2oc
@DeterministiqueSoftwareS-gy2oc 11 сағат бұрын
Reactive model is terrible, it is like buildkng apps using excel formulas, it is not a good idea. Sorry but poeple do not get when there is a huge amount of reactivity where there is a long chain of variables depended on one another.
@alihassn4112
@alihassn4112 11 сағат бұрын
react sucks on the frontend why would anyone want to use anything like it on the backend!!!! long live vue
@sprobertson
@sprobertson 10 сағат бұрын
lolwat vue is also reactive
@Divineleo2023
@Divineleo2023 10 сағат бұрын
Why did this solution even come up, i would rather use go and have a good time rather than learning an entire different framework with its stupid little nuances and behaviors
@infantfrontender6131
@infantfrontender6131 10 сағат бұрын
@@Divineleo2023, then continue to use Go. What's the problem?
@daz1uk
@daz1uk 9 сағат бұрын
🤣
@ivan.jeremic
@ivan.jeremic 9 сағат бұрын
php is for the backend and react is just cleaner php templating, maybe one day it clicks for you.
@tahafiroz1370
@tahafiroz1370 Сағат бұрын
Your videos seem like they get made in haste
@IStMl
@IStMl 11 сағат бұрын
I'll stick with Convex, thaks
@acehanks
@acehanks 3 сағат бұрын
this is cool that this exists, but no thank you
@JakobRossner-qj1wo
@JakobRossner-qj1wo 10 сағат бұрын
Hmmmm, how does this compare to Convex?
@julienverlaguet
@julienverlaguet 9 сағат бұрын
I am not an expert in Convex, but my understanding is that Convex tracks the dependencies of your JS code and recomputes whenever one of your dependency changes. But I don't think it attempts to do any of that incrementally. That is the main difference. Skip is a framework to make your server-side logic incremental (exactly like React incrementally updates the DOM). The other difference is that Skip is not trying to replace your backend, it's meant to work as an addition to your existing infra.
@realOo7-v6r
@realOo7-v6r 9 сағат бұрын
This made my brain hurt ouch
@zebraforceone
@zebraforceone 6 сағат бұрын
In the UK a skip is something you fill with refuse
@weiss7070
@weiss7070 11 сағат бұрын
This has to be bait
@AntranigVartanian
@AntranigVartanian 9 сағат бұрын
"React changed the way we build applications" yes, it made things worst and destroyed the brain of a whole generation of programmers. it's kind of like the BASIC of the web world.
@ivan.jeremic
@ivan.jeremic 9 сағат бұрын
You think the component model is bad?
@programmerjowo
@programmerjowo 9 сағат бұрын
Basic is better bro
@AntranigVartanian
@AntranigVartanian 8 сағат бұрын
@ the component model is not bad. Also, it was not invented by React. it's been around since the 90s. It's like C++ folks discovering "modules" in 2020, but it's been around since 1975.
@t3dotgg
@t3dotgg 8 сағат бұрын
Composable components with a top down state hierarchy is absolutely a "react invention"
@Maik.iptoux
@Maik.iptoux 10 сағат бұрын
The problem that I have with react... Why the fuck I put a whole HTML page in a return function?
@ivan.jeremic
@ivan.jeremic 9 сағат бұрын
Because it makes sense. Function is a component which returns the markup.
@Maik.iptoux
@Maik.iptoux 9 сағат бұрын
@ivan.jeremic No, there is the Problem! A Function is a function and not a shit component.
@theycallmesloth
@theycallmesloth 7 сағат бұрын
yo this is so complicated over Engineering.
@henriquematias1986
@henriquematias1986 6 сағат бұрын
Sounds like someone’s been dreaming of Meteor
@marcuss.abildskov7175
@marcuss.abildskov7175 10 сағат бұрын
React isn't even reactive 🤣
@crushfire2004
@crushfire2004 10 сағат бұрын
Is this still true after React 19 and signal? Using Vue for the past 3 years
@untlsn
@untlsn 8 сағат бұрын
​@@crushfire2004 Its depend on what you call reactive Do React use reactive programing? No Do React react to changes in state? Yes Changeing state in react will just save new value in component context and trigger rerender amd after this react will diff dom with vdom and apply changes In the case of signal-based frameworks, a change of state does not cause a rerender. In Vue render function (in SFC template tag), is subscribed to each signal used and rerenders on its chagne And in the case of Svelte5 and SolidJS, only specific fragments subscribe to specific signals. E.g. input value
@wlockuz4467
@wlockuz4467 9 сағат бұрын
Backend is not the place where you want too many abstractions, if something is not working then good luck with debugging because there is so much stuff hidden away its impossible know whats broken. This also feels like a nightmare to scale, if you misconfigure one thing you may end up DDOSing yourself. I still think React Query is the peak of innovation when it comes to managing server state on the client side.
@menmikimen
@menmikimen 12 сағат бұрын
cool vid
@fintechtelugu6980
@fintechtelugu6980 11 сағат бұрын
2:38
@manaflask8826
@manaflask8826 6 сағат бұрын
Damnit, time to reset the number of days since another Js framework counter
@HeavenlySkyFriday
@HeavenlySkyFriday 10 сағат бұрын
*reading video title* Why would anyone want to make their backend look like react?
@daniloribeiro3526
@daniloribeiro3526 6 сағат бұрын
Sounds like Meteor's collections revamped as a middleware
@Ubben1999
@Ubben1999 3 сағат бұрын
Think I’ll skip this
@noext7001
@noext7001 9 сағат бұрын
looks like convexdb no ?
@MrSofazocker
@MrSofazocker 7 сағат бұрын
So, you have Tables mapped to "collections", to custom "filtered" collections mapped to "renders". That's literally just the MVC (Model View Controller) scheme ya know? Where you map Tables to Models, they have methods, computed attributes, you can have friend list "collection" aka a "Lens". Wtf is this?
@reeeeedmil
@reeeeedmil 6 сағат бұрын
it's bloat, but on the backend!
@saurabh75prakash
@saurabh75prakash 2 сағат бұрын
Too much abstraction.
@valerii-link
@valerii-link 5 сағат бұрын
I will skip this one.
@rafaelacioly3252
@rafaelacioly3252 6 сағат бұрын
"I'ts like React, for your backend" - *in a threatening tone*
@Ava-x9z3n
@Ava-x9z3n 11 сағат бұрын
please respond to this early comment theo im a big fan
@Mig440
@Mig440 4 сағат бұрын
Please no reactive bullshit on the backend. We have more than one thread in most backends and can scale without massive cognitive overhead and debug hell of reactive on top of the pile of shit we need to deal with 😂
@ramsey2155
@ramsey2155 5 сағат бұрын
Somehow facebook still finds ways to completely improve and change web dev
@BarakaAndrew
@BarakaAndrew 10 сағат бұрын
No thanks, this just looks like over engineering, Not sure what problem this is trying to solve, I see complicated code for no reason, plus authorization will be a nightmare.
@marcuss.abildskov7175
@marcuss.abildskov7175 10 сағат бұрын
It's easier and cheaper to use pub/sub and server sent events haha
@scorch855
@scorch855 7 сағат бұрын
I feel like the real reason not to use this is because it's solving a problem that 99% of devs don't have.
@MrSofazocker
@MrSofazocker 7 сағат бұрын
Attributing having component and having refs to React... Tell me your just a js dev without telling me you are just a js dev.
@aizensoskue3880
@aizensoskue3880 8 сағат бұрын
react fatigue
@rayy241
@rayy241 12 сағат бұрын
:)
@bugged1212
@bugged1212 6 сағат бұрын
What kind of bullshit is this? Syntax looks way too over engineered and exactly like something overpaid engineers at Meta would write.
@essamal-mansouri2689
@essamal-mansouri2689 11 сағат бұрын
17:50 "conduluted" lol
@ob34915
@ob34915 9 сағат бұрын
This trend reactjs for backend is the worst idea ever
@peculiarnewbie
@peculiarnewbie 6 сағат бұрын
Looks like it's gonna compete with zerosync
@danibutg853
@danibutg853 6 сағат бұрын
the idea is interesting, the dx is sheite
JavaScript Frameworks in 2025
54:48
Theo - t3․gg
Рет қаралды 38 М.
This magic hack makes Next.js possible
28:02
Theo - t3․gg
Рет қаралды 55 М.
Every team from the Bracket Buster! Who ya got? 😏
0:53
FailArmy Shorts
Рет қаралды 13 МЛН
Best of CES 2025
14:50
The Verge
Рет қаралды 624 М.
Green vegetable sides 101
11:15
Adam Ragusea
Рет қаралды 11 М.
How video compression works
10:49
Elecard
Рет қаралды 2 М.
My New Favorite Terminal Just Dropped
24:42
Theo - t3․gg
Рет қаралды 129 М.
Nintendo Switch 2 - First-look trailer
2:22
Nintendo of America
Рет қаралды 9 МЛН
49 Useful Built-In Functions in Python
1:01:36
Indently
Рет қаралды 306
The Future of HTMX
53:09
Theo - t3․gg
Рет қаралды 64 М.
Every team from the Bracket Buster! Who ya got? 😏
0:53
FailArmy Shorts
Рет қаралды 13 МЛН