You should declare your conflict of interest up front and in the comments. You waited until the very end of the video where the smallest number of people are likely to see it to admit that you're an investor and therefore have a personal incentive to speak positively of million and to exclude its drawbacks.
Time stamp? I rewatched the last 7 minutes and still didn't see that he was an investor. $20 for 100 lints seems pretty bad, and that Theo defended it as sounding bad, but is actually really good for twitch to pay for just kind of underpins that this wasn't a unbiased reaction video.
Being an investor does not make it a "sponsored" post. To be "sponsored", one need to be PAID BY and FOR content. Now that being said, you still need to disclaim it.
I suspected it the moment he said they didn't mention AI in the title, as if that meant the guys were trustworthy or something, when it just means they know their target audience is more educated on the AI hype than the general public.
@@DaviAreias For me it's at 19:04 when he says he could actually see himself paying for it, thereby influencing the audience in that direction. Again, I have no issues with it, he's free to do so; but if he indeed is an investor in Million, a disclaimer is the bare minimum.
16:33 They really need to define what a "lint" is. As i can see a lot of developers run the tool, fix one issue, run it again to get the next issue. Does each of those count against your limit?
What I actually liked most about this video is the examples of things that slow down react apps and how to fix them. Does a good job of illustrating some of the things I really dislike about React (because explaining these things to non-senior frontend devs is repetetive and often not easy).
That npx command is quite rude. It installs a vscode plugin and adds stuff to your package.json, even creates vite/(packagesystem) config (lord i hope it doesn't fuck up your old one if you have one). All without further confirmations. Man, I wonder what else it did... I sometimes forget that running npx-anything is like running random exes from the internet.
You have to inject a bunch of code from the "linter" into **each** of your components to identify re-rendering issue, just because you can't understand the React devtool profiler?
It's just the beta for now and as Theo said there are still known bugs that might be a dealbreaker. I also haven't heard of it before this video so it might get some attention now.
when millionjs first did the rounds, it was basically incompatible with all third party react libraries like component libraries, so barely anyone adopted it. idk if that has changed since.
I've tried and remove it... I have issues with tools which in realtime detects issues, changes, and VS Code breaks, and slows my compile time, happening on WSL2...
This reminds me of a hammer I had with a broken handle. Instead of replacing the handle, I attached the hammer to a helmet and whenever I want to drive a nail, I would wear the hammer and swing my head. But sometimes I miss and hit my head against the wall instead. So to fix that, I added some padding to my forehead and now it doesn’t hurt at all. Problem solved!!
I expect this to be more of an lsp than just a vscode extension. Those of us that don't use vscode would need a dedicated extension unless an lsp is provided.
Yea al this frontend stuff is dumb, how many companies using this stuff? 0, big corps are still using the same old school stuff Java, c#, ruby, plain Js
Yeah I was just thinking about that too, since you wouldn't need to optimize with useMemo and other stuff like that anymore. I guess it could still be useful for some other things, like how it recommended using a virtual list? But that stuff is a lot simpler to do, so yeah, it does seem like it would be obsolete after the compiler comes out.
Feels like just having the information in and not the LLM part can be more future proof cause new solutions are always an annoying part and make it not something that can run without continuous upkeep
Another fantastic way to improve performance, and not need to waste time thinking about the guts of the framework as much just to make it perform well is to use Svelte, Solid, or HTMX 👌
The redux saga part gave me redux thunk flashbacks thanks 😅 nice to see AI not forced on us and just a 'part of the product', when i see heavy AI promotion now all I see is 'we arent very good devs but we made a gpt wrapper that looks impressive'
The fact that you need such tool for react just shows how much broken react is. Leave VDOM and effect stuff behind and you can forget about so much such nonsense related to react world only. Solid.js and signals is the way! There things either don't work or work properly 💪
I really like the simplicity of Solid, and it's certainly something I think worth considering. It's main problem of course is 3rd party libs, or course this could change over time. I would also say the best performance gain for React is not a Linter, but just a better state manager like Jotia etc.
Eh!!!, Unless DarkModeProvider is getting moved around the VDOM, I'm not sure your saving much on memorising (mode,setMode), it doesn't take any props so the only reason for a re-render, (apart from DEV mode and Strict) there should be very little reason for it to re-render. I know it was only an example, but maybe not a good example to show performance improvements..
> An alternative compiler for React Cool > ... now a Y Combinator founder Ah, shit. Well, it was good while it lasted, I guess. Hope he enjoys his payout.
It’s because of the fantastic ecosystems surrounding react. That ecosystem would take a very long time to replicate in another language. Easier to just fix react
@@sioncamara7 98% of the ecosystem will be outdated stuff that you wouldnt use today, what is in the react ecosystem that isnt available in solid? most modern quality tools are framework agnostic anyway
I tried million.js, I was not impressed. It does not work if you pass functions or other components as props -> only primitive values are allowed. The automatic mode - does not work reliably. The manual mode - you have to wrap everything in Higher-order-function block components in which you lose all type safety. You are forced some naming convention (that I'm not a fan of) for the million.js compiler to pick up and optimize the code. It feels like a much more simpler/crude version than Svelte (that relies very heavy on the compiler as well), so why not just use Svelte directly?
This is Aiden, thanks for your feedback. FYI - we fixed the primitive value issue >1 year ago, it should work. I would love to hear your thoughts on automatic mode - what is unreliable?
I asked in their Discord server and they replied they are working on a CLI tool to give you the fixes in your CLI. Definitely not as good as a integrated plugin but still works i guess.
The React industry is turning into a loop of nightmares. The React APIs are actually getting bigger than JS, TS, and HTML. You have to be a dumb a55 to use it as your main stack.
There's really not much difference between all of the frameworks. One is faster to developer but runs slower, another is simpler, but has a higher bundle size, the third one may be the best of them all, but is still in beta and may not have too many libraries yet. It really does not matter imex. Server components are dope though, React now beats most other frameworks in performance because you can get away with shipping far less javascript for large projects, we are talking several times less. React will eventually die (see how amazing Astro is with View Transitions), and probably replaced by some Rust Templating engine, something like Templ in Go. In ~3 years there will just not be a need for React, but today it's the best choice for most projects.
Another react ecosystem win. React is so bad and so dependent on wrappers for any js to run, people had to copy paste npm packages with react in front of its name and now 'it has the best ecosystem'. Just lol
A company using AI but not jamming it down my throat… what a fresh new approach.
You should declare your conflict of interest up front and in the comments. You waited until the very end of the video where the smallest number of people are likely to see it to admit that you're an investor and therefore have a personal incentive to speak positively of million and to exclude its drawbacks.
Time stamp? I rewatched the last 7 minutes and still didn't see that he was an investor.
$20 for 100 lints seems pretty bad, and that Theo defended it as sounding bad, but is actually really good for twitch to pay for just kind of underpins that this wasn't a unbiased reaction video.
@@ChrisCox-wv7oo 18:03 (to 18:05)
18:05 - you're an investor in what? Million? does that make this a sponsored post? or have I grossly misunderstood?
Being an investor does not make it a "sponsored" post. To be "sponsored", one need to be PAID BY and FOR content.
Now that being said, you still need to disclaim it.
ah, so it's a shill post, ok :)
@@akam9919 right! That's what I wanted to say. Thanks for putting it correctly.
I suspected it the moment he said they didn't mention AI in the title, as if that meant the guys were trustworthy or something, when it just means they know their target audience is more educated on the AI hype than the general public.
@@DaviAreias For me it's at 19:04 when he says he could actually see himself paying for it, thereby influencing the audience in that direction.
Again, I have no issues with it, he's free to do so; but if he indeed is an investor in Million, a disclaimer is the bare minimum.
16:33 They really need to define what a "lint" is. As i can see a lot of developers run the tool, fix one issue, run it again to get the next issue. Does each of those count against your limit?
Yes
thats crazy @@crispi_shots
This is Aiden! Thanks, fixing our definition in the blog. Lint = something is highlighted on the page (not included: errors, no issues found)
What I actually liked most about this video is the examples of things that slow down react apps and how to fix them. Does a good job of illustrating some of the things I really dislike about React (because explaining these things to non-senior frontend devs is repetetive and often not easy).
I want this for every framework. Mostly Svelte since that's my go-to framework anyway. But in any case, this could be SO useful for everyone.
yes we need a video on context
Solid is the level up
Speaking of performance, there's a Rust-made linter for Python that is amazingly fast called "ruff".
Legend of Dragoon reference?
1:13 did Theo just argue for scaffolding and codegen?
Great video once again Theo!
P.S. Theme link is missing in description
That npx command is quite rude. It installs a vscode plugin and adds stuff to your package.json, even creates vite/(packagesystem) config (lord i hope it doesn't fuck up your old one if you have one). All without further confirmations. Man, I wonder what else it did... I sometimes forget that running npx-anything is like running random exes from the internet.
This sounds incredible actually
Please no AI generated lints, I think lints should be deterministic, while AI tips should stick to other interfaces.
You have to inject a bunch of code from the "linter" into **each** of your components to identify re-rendering issue, just because you can't understand the React devtool profiler?
why does no one use million js if it increases performance by 70%? whats the catch?
It's just the beta for now and as Theo said there are still known bugs that might be a dealbreaker. I also haven't heard of it before this video so it might get some attention now.
not caring enough about it and it being pretty new is the catch ig
when millionjs first did the rounds, it was basically incompatible with all third party react libraries like component libraries, so barely anyone adopted it. idk if that has changed since.
Inertia
@@danisob3633 why isnt the react core team implementing these performance boosts?
I've tried and remove it... I have issues with tools which in realtime detects issues, changes, and VS Code breaks, and slows my compile time, happening on WSL2...
Definitely want to see a video going in depth more about these react optimizations and useContext
I loved (and miss) using redux-saga especially when working with streams/channels, prefer it a little bit vs observables 😥
I still use and love them, but Theo is right with not recommending them to beginners. Actor system design, messaging and channels are hard to master.
tener que tomar en cuenta el numero de renderizados , no sera un indicio malo del sistema que es react?
0:38 wow, these cards are really pretty. Is this just a linear gradient border with padding?
Super keen to use this at work. For a large code base $20 is rounding error. Our ci runs cost 100x this per month.
This reminds me of a hammer I had with a broken handle. Instead of replacing the handle, I attached the hammer to a helmet and whenever I want to drive a nail, I would wear the hammer and swing my head. But sometimes I miss and hit my head against the wall instead. So to fix that, I added some padding to my forehead and now it doesn’t hurt at all.
Problem solved!!
Remember when you talked about the diagram with “the Prime line”? This arguably can push the line towards better performance for cheaper
I expect this to be more of an lsp than just a vscode extension. Those of us that don't use vscode would need a dedicated extension unless an lsp is provided.
New React 19 compiler wouldn’t make this obsolete?
Yea al this frontend stuff is dumb, how many companies using this stuff? 0, big corps are still using the same old school stuff Java, c#, ruby, plain Js
Yeah I was just thinking about that too, since you wouldn't need to optimize with useMemo and other stuff like that anymore. I guess it could still be useful for some other things, like how it recommended using a virtual list? But that stuff is a lot simpler to do, so yeah, it does seem like it would be obsolete after the compiler comes out.
Seems like this would also be useful for auto detecting bugs, if they used react error boundaries or read errors from the console
Feels like just having the information in and not the LLM part can be more future proof cause new solutions are always an annoying part and make it not something that can run without continuous upkeep
An interesting idea. Hopefully they bring it to Webstorm because I really don't like VScode :(
Another fantastic way to improve performance, and not need to waste time thinking about the guts of the framework as much just to make it perform well is to use Svelte, Solid, or HTMX 👌
Are you gonna avoid talking about PlanetScale 😂?
I really desire this useContext video! :D
I worked in a company that used Redux Saga to call APIs. It was a mess.
shoutout Igor for the killer theme
The redux saga part gave me redux thunk flashbacks thanks 😅 nice to see AI not forced on us and just a 'part of the product', when i see heavy AI promotion now all I see is 'we arent very good devs but we made a gpt wrapper that looks impressive'
Yes Please! We want a context video
Any idea if this would work for react-native?
I would venture to guess it will considering it’s all the same react pattern of components and hooks etc
Would love to hear a video about the proper ways to use context!
Interesting idea, but doesn't seem to work for me. Getting a "is no longer a waterfall hook" on my project.
I'm interested to know about the context issue. why use use-context-selector, need a vid
I wonder if this works on libraries
Do the context video plz
Does this exist for Neovim? I never use VSCode
wait for prime to live code it on stream
just clicked the sub button. 3:50 am I an expert now?
Finally one video on which I agree with you 100% 😂mostly with the redux saga good job mate
Interesting is there anything similar for vue?
The fact that you need such tool for react just shows how much broken react is. Leave VDOM and effect stuff behind and you can forget about so much such nonsense related to react world only. Solid.js and signals is the way! There things either don't work or work properly 💪
I really like the simplicity of Solid, and it's certainly something I think worth considering. It's main problem of course is 3rd party libs, or course this could change over time. I would also say the best performance gain for React is not a Linter, but just a better state manager like Jotia etc.
Everytime Theo talks about how "subscribing is free" it makes me want to unsubscribe
Eh!!!, Unless DarkModeProvider is getting moved around the VDOM, I'm not sure your saving much on memorising (mode,setMode), it doesn't take any props so the only reason for a re-render, (apart from DEV mode and Strict) there should be very little reason for it to re-render. I know it was only an example, but maybe not a good example to show performance improvements..
> An alternative compiler for React
Cool
> ... now a Y Combinator founder
Ah, shit. Well, it was good while it lasted, I guess. Hope he enjoys his payout.
Ooh nooooo, I helped create the Redux saga pattern and inspired the project name 😅
the react community is really going out of its way to not switch to Solid, bizarre to watch
It’s because of the fantastic ecosystems surrounding react. That ecosystem would take a very long time to replicate in another language. Easier to just fix react
@@sioncamara7 98% of the ecosystem will be outdated stuff that you wouldnt use today, what is in the react ecosystem that isnt available in solid? most modern quality tools are framework agnostic anyway
How do you improve your websites performance? Remove react and stop using fantasy animations.
I tried million.js, I was not impressed.
It does not work if you pass functions or other components as props -> only primitive values are allowed.
The automatic mode - does not work reliably.
The manual mode - you have to wrap everything in Higher-order-function block components in which you lose all type safety.
You are forced some naming convention (that I'm not a fan of) for the million.js compiler to pick up and optimize the code.
It feels like a much more simpler/crude version than Svelte (that relies very heavy on the compiler as well), so why not just use Svelte directly?
This is Aiden, thanks for your feedback. FYI - we fixed the primitive value issue >1 year ago, it should work. I would love to hear your thoughts on automatic mode - what is unreliable?
does it has a NeoVim plugin too?
Probably not ngl
I asked in their Discord server and they replied they are working on a CLI tool to give you the fixes in your CLI. Definitely not as good as a integrated plugin but still works i guess.
Which web browser do you use?
it’s called Arc browser. a newer one
I would also like to know
Arc
Today i found chatterbox 🎉
`... ({mode, setMode}), [mode, setMode]);`
JavaScript in a nutshell.
this is a nice one, will definitely look into adding this
The thumbnails 😂
Sounds like Sonarlint...
not interested in anything that requires me to use vsCoad
The React industry is turning into a loop of nightmares. The React APIs are actually getting bigger than JS, TS, and HTML. You have to be a dumb a55 to use it as your main stack.
There's really not much difference between all of the frameworks. One is faster to developer but runs slower, another is simpler, but has a higher bundle size, the third one may be the best of them all, but is still in beta and may not have too many libraries yet. It really does not matter imex. Server components are dope though, React now beats most other frameworks in performance because you can get away with shipping far less javascript for large projects, we are talking several times less.
React will eventually die (see how amazing Astro is with View Transitions), and probably replaced by some Rust Templating engine, something like Templ in Go. In ~3 years there will just not be a need for React, but today it's the best choice for most projects.
React native one day? 🤞
This would work the same in react native right?
Is there something similar for Angular?
my solution: don't use react
Why
React isn't the problem. It's your bad code
@@austincodes i never coded react in my life, so i don't think *my* bad code is the problem bud
Cope 😂
It's arguably justified, but the long form content is a lot
How is 20mins considered long-form content at all
Just don't use React
Pricing for B2C sucks! Sell to companies.
Really interesting tool :)
Another react ecosystem win. React is so bad and so dependent on wrappers for any js to run, people had to copy paste npm packages with react in front of its name and now 'it has the best ecosystem'. Just lol
Ugh, just use Vue and forget this excuse for a framework for good.
Rethinking the Linter?
More like
Reworking TypeScript
Theo please stop
If this was Gotham chess it’d be perfect for a pin of shame
Thats great but you can also just write simple code, avoid react and other bloated modules/frameworks and you don't need this at all.
Never let JS devs think, let alone rethink.
Got excited for nothing... damn React crap
React 🤮
react trash, people will move by this horrible framework
people will use whatever is easier and faster to write code, no one cares about perfomance or architecture in modern web.
@@maurvick6777 yes, and react is none of that :D, no
U need only CQRS on the FE, no matter what framework u use... BE is the trash...
second to none 😆
First ??
Ugh, just use Vue and forget this excuse for a framework for good.