I DONT USE NEXT JS

  Рет қаралды 304,532

ThePrimeTime

ThePrimeTime

6 ай бұрын

Recorded live on twitch, GET IN
/ theprimeagen
Reviewed article: www.epicweb.dev/why-i-wont-us...
By: Kent C. Dodds | x.com/kentcdodds?s=20
MY MAIN YT CHANNEL: Has well edited engineering videos
/ theprimeagen
Discord
/ discord
Have something for me to read or react to?: / theprimeagenreact
Kinesis Advantage 360: bit.ly/Prime-Kinesis
Hey I am sponsored by Turso, an edge database. I think they are pretty neet. Give them a try for free and if you want you can get a decent amount off (the free tier is the best (better than planetscale or any other))
turso.tech/deeznuts

Пікірлер: 569
@valhalla_dev
@valhalla_dev 6 ай бұрын
"I haven't used it enough to have a strong opinion" If we can just... normalize this sentence/approach, discourse around software dev would become so much more enjoyable.
@sheriffderek
@sheriffderek 4 ай бұрын
"I don't need to have an opinion" would be nice too. Or "I have one, but no one needs to hear it"
@nefrace
@nefrace 6 ай бұрын
_"You're dissatisfied with your current modern framework"_ Me, generating HTML from Go templates: *Well, not really.*
@ThePrimeTimeagen
@ThePrimeTimeagen 6 ай бұрын
hey... that's where i am at
@nefrace
@nefrace 6 ай бұрын
@@ThePrimeTimeagen I'm also trying not to use JS on my website, even in form of HTMX. For now it exists only in my html5 games that I host there. Every other page is server-side generated and sent with full reloading just as in good old days of PHP or something like that (which I didn't catch).
@clickadelic7681
@clickadelic7681 6 ай бұрын
To be fair, things like Hugo are cool, but dev experience is like Hugo itself - static.
@nefrace
@nefrace 6 ай бұрын
@@clickadelic7681 and I don't think there's anything wrong with it. Also I'm writing my own server with minimalistic router and markdown parser. Hugo is cool but "too static" for me (:
@jdawgforealz
@jdawgforealz 6 ай бұрын
Are you guys using the standard library for templates? If you like jsx, there's an interesting library called templ which is sort of jsx for go.
@damienlmoore
@damienlmoore 6 ай бұрын
I know you are mostly just being funny but I am firmly in the Rich Harris camp that the problem with web performance isn't JavaScript and frameworks, it's commercial decisions.
@ThePrimeTimeagen
@ThePrimeTimeagen 6 ай бұрын
may not be wrong
@ktils
@ktils 6 ай бұрын
Best comment I seen on KZfaq. As a Software Architect it's frustrating.
@meltygear5955
@meltygear5955 6 ай бұрын
Is it alright if you elaborate a bit on that?
@kibels894
@kibels894 6 ай бұрын
Last slow one I worked on was because they wanted to use AWS for everything but didn't have users to justify paying for it so used slow services.
@gustavocampos1593
@gustavocampos1593 6 ай бұрын
Client: Hey, the website is slow Me: Of course, your GTM is full of shit
@wrux
@wrux 6 ай бұрын
I met a guy recently in Japan and he builds JS apps without any library and handles all DOM manipulation manually with a bunch of functions he created himself. It was impressive to see what he could achieve and was writing code on a Chromebook without any build steps. His code was so so ugly, but he was able to build some interesting projects.
@otis3744
@otis3744 6 ай бұрын
worked with a guy who did this, he was adamant about me and the rest of the team has to follow suit, i kind of didnt like him for that view because no way in hell am i going to use pure javascript to do dom manipulations, i cant spent 2 years building a dashboard
@hamm8934
@hamm8934 6 ай бұрын
These are solo devs. Its impossible to do this at scale with a team devs.
@alexeyayzin8512
@alexeyayzin8512 6 ай бұрын
Unfortunately this is exactly how the company i work at does it. It is a pain in the ass at scale especially without error/type mismatching handling
@gurnoorkalsi9296
@gurnoorkalsi9296 6 ай бұрын
Does he have a github? or a name?
@neociber24
@neociber24 6 ай бұрын
If you don't use a framework you just create your own
@benbowers3613
@benbowers3613 6 ай бұрын
I really like the format of reading two opposing articles back-to-back. Very juicy knowledge and fresh perspectives
@pythagoran
@pythagoran 6 ай бұрын
"Every great cause begins as a movement, becomes a business, and eventually degenerates into a racket." - Eric Hoffer
@erickmoya1401
@erickmoya1401 6 ай бұрын
There are so many next and remix devs just from being React devs. Is like being trapped in quicksand and trying to solve it by adding more sand.
@poondaddy9992
@poondaddy9992 6 ай бұрын
the children we devs have will look back and wonder: "how the fuck did you guys get anything built back then"!
@doctorgears9358
@doctorgears9358 6 ай бұрын
I'd let Slack take up 2 cores and half of my RAM if they made code snippets less ass
@ThePrimeTimeagen
@ThePrimeTimeagen 6 ай бұрын
impossible
@CottidaeSEA
@CottidaeSEA 6 ай бұрын
Slack breaking code blocks if you add a blank newline hurts me physically and emotionally.
@dekerta
@dekerta 6 ай бұрын
Try using code blocks in Teams. You'll never complain about Slack again
@leila-codes
@leila-codes 6 ай бұрын
Big oof. Gotta disagree slightly on this one. Yes the triple backtick is rubbish in Teams BUT if you haven't already try clicking on the "Text Formatting" toggle button and then click the "Insert Code" It's actually shockingly good imho 😇
@syakhiskk
@syakhiskk 6 ай бұрын
​@leila-codes and then you then want to paste the code from teams, good luck deleting the extra newlines 😂
@FullStacker-dev
@FullStacker-dev 6 ай бұрын
Nextjs is a wired framework, if you use it without thinking about it, it seems nice, but when you start really thinking about how it works internally and how the deployment/hosting work, it start to be confusing
@creativecraving
@creativecraving 3 ай бұрын
And, if there weren't so many glitches in the matrix, I wouldn't have to think about it! 😂 I unfortunately learned more about Next than I wanted to, so I am not excited to use it for my next project.
@jak3legacy
@jak3legacy 6 ай бұрын
I think the increasing divergence from Remix's philosophy / approach with Next JS's philosophy / approach is overall a good thing for both frameworks. They are becoming increasingly distinct from one another as time progresses. Next js is your shiny brand new sports car with the latest gizmos while Remix is like a simple and efficient EV sedan that is plenty fast, but not focused on the bells and whistles.
@guidobit
@guidobit 6 ай бұрын
More like remix is a car with wheels and you understand how it brings you from a to b, if you hit the gas. Nextjs teleports you trough some subspace conduit to anywhere in the Galaxy while you are trying to visit your friend from down the street, but you have no understanding how you teleports and what it will do to your organs long term, even though teleporting is cool and all your friends do it.
@Handola
@Handola 6 ай бұрын
teleport me daddy uwu
@gm42069
@gm42069 6 ай бұрын
@@guidobit if you don't understand how NextJS teleports you, I think you need to do some more reading buddy
@onar1261
@onar1261 6 ай бұрын
I laughed a lot with your comment. Spanish hahaha. @@guidobit
@heroe1486
@heroe1486 6 ай бұрын
​@@gm42069 At first yes, when it was just React + a file based router and easy SSR/SSG, now it's different buddy, they're reinventing the wheel with each iteration and deliver beta software under a "stable" label
@shadowfaxenator
@shadowfaxenator 6 ай бұрын
Self hosting nextjs for production is not the save as using vercel. Caching doesn't scale as it uses local files as a store. Next has an experemental feature to use other cache storage, but it doexn't work with revalidatePath() so it's not easy to just self-host nextjs app
@ea_naseer
@ea_naseer 6 ай бұрын
imagine if laravel did this. Taylor Otwell would have bought two Lamborghinis
@spicynoodle7419
@spicynoodle7419 6 ай бұрын
​@@ea_naseerhighly doubt it
@dwiatmika9563
@dwiatmika9563 6 ай бұрын
@@ea_naseer lmfao
@ea_naseer
@ea_naseer 6 ай бұрын
@@spicynoodle7419 laravel now runs ads when you go into debug mode. don't underestimate men and sport cars
@DragonRaider5
@DragonRaider5 13 күн бұрын
What we do and what works very well for us is to just use SSR behind a CDN with s-maxage being like 100 years. Instead of revalidating paths in Next, you just invalidate them in your CDN and you’re pretty much good to go. Next request will cause a render and after that (at least with CloudFront origin protection) that should be it.
@alfonsojimenez8785
@alfonsojimenez8785 3 ай бұрын
Oh boy 😆nice confusion technique at the beginning bro, 9 seconds in and I already liked the video.
@StephanHaloftis
@StephanHaloftis 6 ай бұрын
But the React team explicitly stated that the canary features used in Next are stable for the framework, even though they're technically canary in the overall React project. The projects are mutually exclusive, but obviously collaborate well enough that certain canary features are being prioritized during development, at least whatever the Next team needs.
@TheApeMachine
@TheApeMachine 4 ай бұрын
I did not find it very difficult to host NextJS when I was still using it (I stopped after trying to accept that version 13 was all of a sudden an entirely different thing). But I host everything within Kubernetes for years now, so basically I just run it with Node and Nginx as two separate docker containers. This way it can auto-scale and it becomes super easy to host it on any cloud or other infrastructure.
@z3rocodes
@z3rocodes 6 ай бұрын
I left Next.js for Astro and havent looked back. For internal SPAs, vite + typescript
@gerdokurt
@gerdokurt 6 ай бұрын
I dont know...some things I see in web dev remind me on the developments my industry (civil engineering infrastructure design) went through decades ago when computers etc. became a thing. 50 years ago, designing, calculating and building bridges was a pretty straight forward thing. why? because the tools were limited. there were tables for some predefined situations, and calculations and drawings were done by hand. when you do stuff by hand, you automatically reduce it to the necessary. when the tools came that should fasten and simplify everything, a lot of often unnecessary complexity was added to the projects in a "we have the tools now!" mindset. so much that you can argue that the advantages seem to be completely gone or even turned to less effiency. thats what probably also happens with a lot of web projects. people use frameworks because "it`s fast and simple" and then they stuff their most of the time pretty simple app with shit until they realise it`s not fast and simple anymore.
@Meligy
@Meligy 6 ай бұрын
The main issue I have with Vercel is that most of my customers use Azure or AWS by default. It'll be quite a process to suggest anything else. I mentioned this to the Vercel people at Web Directions Summit in Sydney last month. I'd really love to use them, but without them being available via AWS/Azure marketplace or something like that, I have to pretend they don't exist for most projects, which makes me wonder about nextJS also.
@linuxsavvy
@linuxsavvy 6 ай бұрын
I've used AWS Amplify to deploy nextjs applications without any issues
@leerob
@leerob 6 ай бұрын
Vercel is on the AWS Marketplace! Not Azure yet tho
@fallen_turbo
@fallen_turbo 6 ай бұрын
Hey Prime, I loved the way you explained both the sides and gave your feedback, I would love to know more about the problem with Browser Router from React Router, since I am a "new developer", I would like to why its not really a good way, when you say it flattens the URL in React Router. I definitely would love to have a good explanation video
@Michaeltje01
@Michaeltje01 6 ай бұрын
41:41 my dockerized nextjs app broke after updating a patch release.
@rickwoods5274
@rickwoods5274 6 ай бұрын
On features vs capabilities: I think the distinction here is that a "feature" is something the thing does, and a "capability" is a something the thing lets _you_ do. A lot of the time this is a distinction without a difference, but sometimes the difference can be staggering.
@vitorguidorizzzi7538
@vitorguidorizzzi7538 6 ай бұрын
Whats your thoughts on Axum and Tower since it follows a pattern quite similar to express (req, res, next)?
@Leeway4434
@Leeway4434 2 ай бұрын
axum is great and it's magic params make learning rust easier because you don't need to worry about the borrow checker as much
@raenastra
@raenastra 6 ай бұрын
On magic: yes, it's magic in the sense of transpiling Typescript, etc - but it is nice to work with something that is works closely to web standards, rather than abstracting them away
@LuizFernandoSoftov
@LuizFernandoSoftov 2 ай бұрын
At work we have the same backend written in C, serving HTTP JSON for multiple interfaces... ExtJS (main ui), ReactJS (responsive ui), ReactNative (mobile ui), AngularJS (modular ui/templates). As a 'fullstack' for 20years (web/backend/db). I had seen a lot of changed in the market. Ajax, jquery, templates, Web_Components and stuff. For me, we are just rewrite the well for a long time, to gain control over the loader and the components (elements). The best, for me, is leave the ui for the ui, leave the backend for the backend. When you have ui construction in the backend (html and on) you lost control over the backend, since the backend is doing the frontend part. This approach will only work for that ui.
@almcchesney
@almcchesney 6 ай бұрын
Last time I used next on a prod app we threw it in a container and since it compiles into static content it doesn't run any processing on env vars and breaks the 12 factor app model. We found a way around it but there are some fundamental flaws in how it deals with config.
@marin1419
@marin1419 6 күн бұрын
What did you replace it with?
@ilkkaouto
@ilkkaouto 6 ай бұрын
React Server Components and Next 14 has made me appreciate the fundamentals of the Web Platform a lot more than during my time building React apps completely without meta frameworks. I wouldn't worry about newcomers not learning about them! In any case thanks for this video, I enjoyed it!
@erikslorenz
@erikslorenz 6 ай бұрын
Every feature in nextjs is designed for lock in to vercel imo
@abacuswithrehan264
@abacuswithrehan264 6 ай бұрын
That's the plan 🙃
@CodingPhase
@CodingPhase 5 ай бұрын
Yep 😂
@marin1419
@marin1419 6 күн бұрын
NextJS is sanskrit for Vercel :P
@ZiRo815
@ZiRo815 17 сағат бұрын
I felt this when I discovered a complete lack of support for controlling the response Expiry header. I thought “these folks are smart engineers, surely they can’t have misunderstood how HTTP caching layers work?”. With that in mind, it became painfully clear why. It encourages you to use stale-while-revalidate, which lets Vercel then provided cache control as a “feature” instead. I fell out of love with Vercel that day. I hate greedy companies. Especially when they intentionally make things worse, so you have to pay for them to be better, under the guise of “open source”. Open source isn’t the same when your cronies control what’s in and what’s out, intentionally hobbling the design so that it plays into using your platform for features that’d be designed in from the outset if you were using anything other than NextJS.
@sleyeborgrobot6843
@sleyeborgrobot6843 6 ай бұрын
i have used react. then i tried not using react. the next web project i made with 0 react, the icon in the tab is the react favicon. infected mushroom.
@nikitaproit
@nikitaproit 6 ай бұрын
These methods (headers and cookies) access the current execution context. The current execution context is one per request. So that's a little DI magic here. More precisely, a service locator. The practice of calling a request context through a service locator outside of a controller is considered an anti-pattern in all languages ​​and frameworks. But sometimes there are cases that need to be handled in this way, these cases never occur in application code, only in the code of the framework or shell for the framework.
@simod.4581
@simod.4581 6 ай бұрын
Am I the only one who feels like nextjs isnt getting any faster even with their new 14 update. Im using shadcn and tailwind and im literally restarting the server every 3 minutes cuz it wont render the component or the tailwind classes i added. Its frustrating 😔
@MrShorno911
@MrShorno911 2 ай бұрын
Something wrong with your system, mine never had any problems like these
@seanchen9771
@seanchen9771 6 ай бұрын
next started as a tool for react users to build websites.. not apps. every unintuitive stems from that root. It's like html css, it was created for people to assemble documents... static documents like newspapers and magazines. Future capabilities are built onto of that
@DragonRaider5
@DragonRaider5 13 күн бұрын
Agree
@daedalus5070
@daedalus5070 6 ай бұрын
I'll pickup Next when its finished.
@stefankyriacou7151
@stefankyriacou7151 6 ай бұрын
My last experience with react router was having to downgrade it a major version because they just completely pulled out the feature to block a route change that was necessary to meet the deadline I had at the time, and then they just didn't really mention it... I'll avoid react-router, thanks.
@sixaintnine
@sixaintnine 3 ай бұрын
Exactly the same experience, the feature is there now, 3 years later, but still unstable.
@picatchumm64
@picatchumm64 6 ай бұрын
The good partner is Svelte or Htmx with golang for the backend api.
@guidobit
@guidobit 6 ай бұрын
Doesnt the undici fetch (what next uses) de dupe requests? Like swc? Its not cahcing, the next request it does not contain the request data. Except when doing multiple serverside fetches, it dedupes. So you can fetch getOrganization in 10 components at the same time while doing 1 serverside render and 1 actual request. Not a next user btw, but this is what I remember from the docs. Feel free to correct me if I misunderstood.
@neociber24
@neociber24 6 ай бұрын
Yes, NextJS dedupe requests
@Rensbril
@Rensbril 6 ай бұрын
Has anyone ever noticed the way prime selects text ? He skips the first and last letter of a sentence and it’s very pleasing to me
@ThePrimeTimeagen
@ThePrimeTimeagen 6 ай бұрын
i love it and it appears that some people love it and some people hate it
@oShinobu
@oShinobu 6 ай бұрын
It drives me nuts lol
@guidobit
@guidobit 6 ай бұрын
What has been seen, cannot be unseen
@TurboBorsuk
@TurboBorsuk 6 ай бұрын
OCD in the wild
@31redorange08
@31redorange08 6 ай бұрын
Makes zero sense to do it like this.
@taquanminhlong
@taquanminhlong 6 ай бұрын
I never have to use any React Context again when using Remix 😂 the router has already handled everything
@RoshanKharel
@RoshanKharel 6 ай бұрын
0:45 reminded me of rick prime. he shall forever be missed. farewell rick c-137
@bulldogjob
@bulldogjob 6 ай бұрын
In our experience the problem with Next.js is that it's opinionated beyond anything reasonable for a general-purpose framework.
@h3nry_t122
@h3nry_t122 6 ай бұрын
Django is also opinionated but I don’t see anyone complaining about it as much as next js
@RaZziaN1
@RaZziaN1 6 ай бұрын
react was supposed to be not opinionated library, where u create everything as you want, but suddenly it isn't...@@netdoom
@CottidaeSEA
@CottidaeSEA 6 ай бұрын
@@netdoom React is not opinionated at all I'd say. It has limitations due to how it is structured, but opinionated? Not really.
@theangelofspace155
@theangelofspace155 6 ай бұрын
​@@CottidaeSEAfunny how he said nextjs, and you responded with react, you made kenn's point lol
@CottidaeSEA
@CottidaeSEA 6 ай бұрын
@@theangelofspace155 No, that guy absolutely did say React. His reply is removed though.
@aloufin
@aloufin 6 ай бұрын
love the potion seller opener frame lol
@boris7645
@boris7645 6 ай бұрын
We had a bunch of frontend oriented devs that really wanted to move to React, they landed on Next JS. The best compromise we came to was only using the static export of Next JS. CSR, SSR, vercel hosting, serverless what the hell are those? We just have a bundle of html, js, and css that calls our APIs.
@blipojones2114
@blipojones2114 6 ай бұрын
ye if it isn't an single page app, i wouldn't touch react, react was made for single page apps.
@complexity5545
@complexity5545 6 ай бұрын
Its like working with children when they tell you their Lego's House is better than your Wood and Brick House. You start questioning what the heck the modern industry is doing? Its like its being controlled by non-programmers that want to do it the hard way.
@John-mj1kk
@John-mj1kk 6 ай бұрын
@@complexity5545 Nah, the hard way is creating over-engineered and unnecessarily complex solutions like Angular. Next.js - or any other framework for the matter - isn't even close to "the hard way".
@vikingthedude
@vikingthedude 6 ай бұрын
Is this Jamstack?
@drakenmario93
@drakenmario93 6 күн бұрын
the upgrade from version 5 to version 6 of react -router took out the ability to block navigation, it was like a year of development that they finally nrough back that functionality
@SanderCokart
@SanderCokart 6 ай бұрын
My problem right now with server actions is the amount of javascript added by making the user do a fetch request is so small.
@DexterMorgan
@DexterMorgan 6 ай бұрын
After manually making a site with nothing but pure JS, I appreciate the work these frameworks do. Sometimes just because you can so something doesn’t mean you should!
@dragoshjs
@dragoshjs 6 ай бұрын
It's like I always tell people, if I want to make you love JSX I will force you to work with the DOM for anything that is not a tutorial and has some meaningful functionality.
@tradfluteman
@tradfluteman 5 ай бұрын
100% man. I see these frameworks basically being developed for industry. They evolve as the demands of companies evolve, and unsurprisingly they end up being very complicated, with lots of choices to pick from, many ways to make the wrong choices. Then someone comes along and ditches 90% of that complexity. Their solution is much easier to apply to most non-commercial projects and harder to shoot yourself in the foot with. But DX
@maksymfedenko1153
@maksymfedenko1153 6 ай бұрын
It's server side framework with a lot of things already included and not possible to remove. It's literally not for everyone, and I think Remix is totally the same. I was thinking that he is going to compare Next with Vite-react or React-create-app (at least much smaller starter kits, without defined structure, server-side, own router implementation, etc), or building react app from scratch (with webpack configuration etc). But he is comparing 2 most predefined high-weight frameworks out there. Doesn't make sense. And actually I think in JS world it's more crucial to understand libraries under the hood, than experience to use one of "all included" frameworks. But for sure, experience with one of those frameworks would be also beneficial. But for me, experience off setting up builder like webpack from scratch looks like much more reusable knowledge
@asdqwe4427
@asdqwe4427 6 ай бұрын
Not putting all of your eggs in one basket if that basket is managed by a company that is not profitable is a great piece of advice. What happens when the VC looses interest and hope?
@LambdaCalculator
@LambdaCalculator 6 ай бұрын
That problem isn't limited to small companies either. Google is notorious for randomly killing off its projects. The Linux community is arguably the most aware of this phenomenon in the tech world, after repeatedly getting burned by corporate interests (most recently with the RedHat/IBM debacles). Proprietary platforms, and even "open" tech heavily reliant on proprietary services are just risky business for the average user/developer.
@asdqwe4427
@asdqwe4427 6 ай бұрын
@@LambdaCalculatortrue, a lot of companies and other organisations have lost tones of money and time integrating with Google platforms that were discontinued a short while later. So you are right that there are many factors in longevity.
@alexandruaxentioi3006
@alexandruaxentioi3006 6 ай бұрын
Prime really loves Angular
@ThePrimeTimeagen
@ThePrimeTimeagen 6 ай бұрын
caught me red handed
@elpupper_
@elpupper_ 6 ай бұрын
Hey @@ThePrimeTimeagen my hand is actually brownish Thank you, HR Team
@alexandruaxentioi3006
@alexandruaxentioi3006 6 ай бұрын
@@ThePrimeTimeagen
@ectn26
@ectn26 6 ай бұрын
@@ThePrimeTimeagen I would like to hear your opinion about new control flow syntax of Angular
@dgdev69
@dgdev69 6 ай бұрын
​@@ectn26it won't happen.
@JeremyAndersonBoise
@JeremyAndersonBoise 6 ай бұрын
Shout-out to helpers as opposed to faćades or other non-useful abstractions that imply dependency management.
@ymomoto43
@ymomoto43 6 ай бұрын
Server side rendering looks cool but that video confused me. So, after vanilla js what should I learn? React?
@LSS94
@LSS94 6 ай бұрын
Typescript for sure. And then depends on what you want.
@ymomoto43
@ymomoto43 6 ай бұрын
@@LSS94 thank you
@valsimotkarpis9120
@valsimotkarpis9120 6 ай бұрын
​@@ymomoto43I'd go Typescript and a framework at the same time tbh. Now which framework not sure. Maybe whats hiring the most in your area?
@ymomoto43
@ymomoto43 6 ай бұрын
@@valsimotkarpis9120 ty
@jcsilverx
@jcsilverx 4 ай бұрын
TypeScript
@azizoid
@azizoid 6 ай бұрын
Im considering switching to Remix, after NextJs transferred to a PHP
@oussamasethoum1665
@oussamasethoum1665 6 ай бұрын
This is why I love svelte and svelte-kit because it doesn't hide the web standards behind new APIs that you have to remember.
@clipartinc
@clipartinc 6 ай бұрын
I really like NextJS and don't use Vercel for hosting. I self host using Linode and a self hosted mySQL database. It's a great setup.
@enkhbayarnyambayar9400
@enkhbayarnyambayar9400 6 ай бұрын
How do you handle the db clustering?
@clipartinc
@clipartinc 6 ай бұрын
​@@enkhbayarnyambayar9400 I don't use db clustering.
@izy931
@izy931 5 ай бұрын
@@enkhbayarnyambayar9400 he don't
@doxed64
@doxed64 2 ай бұрын
4:20 - 4:47 Liked the video because of this. Started building games in Python + Pygame a couple years ago, and although it's not industry standard or "super performant" I've learned so much from using pygame. Everything from high-level things like control flow to low level things like SDL surface blitting. When to use functional vs OOP... "What You See Is What You Get", and when you always resort to the industry standard, you only ever get industry results. Games in these AAA engines really just end being reskinned Copypasta architecture. You can only learn so much this way. You're supposed to break the rules.
@aprilmintacpineda2713
@aprilmintacpineda2713 6 ай бұрын
Just because you can containerize NextJS and then deploy it to "anywhere" doesn't mean it's portable, I think Kent mean something else, if you've ever written a REST API for AWS Lambda behind API Gateway, you'd understand what he meant. People calling him out and using the skill-issue burn on him are simply suffering from a self-induced illness called superiority complex and their arguments are as trash as their personality. The thing I like the most about Remix is how they achieve this, because remix isn't a server, it's just a request handler, so you can literally put it behind anything. You can see this even today, a lot of people are asking how to deploy nextjs on aws lambda, and others have pointed out that you can use aws-amplify -- but that uses docker behind the scenes! The problem with using docker in AWS Lambda is that it increases cold start times, unlike with remix, you can build your own adapter and just simply pass the request to remix, simple as that. Moving to a containerized environment? Simply change adapter. A new faster server was invented, faster than fastify? Simply change adapter. It's literally portable. Yes, I use NextJS, but I've actually been looking at Remix recently and might start using that instead.
6 ай бұрын
Bohr-Einstein debates are quite different nowadays.
@SandraWantsCoke
@SandraWantsCoke 6 ай бұрын
Vercel does not play dice
@marin1419
@marin1419 6 күн бұрын
@@SandraWantsCoke It always bets on the dollar
@ZockaRocka
@ZockaRocka 6 ай бұрын
i have a question to all the guys working with go and htmx, what do you guys use as frontend js? or is htmx so robust in its way, that i dont really need js in most cases?
@enkhbayarnyambayar9400
@enkhbayarnyambayar9400 6 ай бұрын
Why do you need js if you already use htmx?
@neociber24
@neociber24 6 ай бұрын
@@enkhbayarnyambayar9400 I suppose the UI is more complex
@ZockaRocka
@ZockaRocka 6 ай бұрын
@@enkhbayarnyambayar9400 lets say i want something like state management. I want to track the states of many things in the browser and only allow certain things based on the states. How would i do this in htmx? Is there a good way?
@huzaifac137
@huzaifac137 6 ай бұрын
What about just using file based routing and image optimization and treat remaining nextjs just as react and build server on nodejs .
@PaulSebastianM
@PaulSebastianM 6 ай бұрын
He got a reply to that article from Nextjs
@TuckerWray
@TuckerWray 6 ай бұрын
i wish i could hit the like button twice. once for the "rawdog fetch vs caching fetch"; once for "that S.O.B. MooTools";
@erickmoya1401
@erickmoya1401 6 ай бұрын
Why everybody loses the chance to call him "Can't see dots"
@loveboat
@loveboat 6 ай бұрын
When nextjs introduced serverless functions it got bad. When it removed data mutation it became worthless. But the web stamdards suck too so I don't know if Remix is a good alternative.
@SeRoShadow
@SeRoShadow 6 ай бұрын
When you work on an abstraction of an abstraction, you can no longer make anything of the reason of its very existence. It would end like a Picasso painting, missunderstood by most and explored by none.
@officialraylong
@officialraylong 5 ай бұрын
The helper functions should allow you to consume the features ad hoc without going all-in on the extra abstraction layer's opinions in the wrapper.
@abdoemr3436
@abdoemr3436 6 ай бұрын
6:17 is just a great point
@ElPolemista
@ElPolemista 2 ай бұрын
Have you try litelements without compilation?
@andriiantoniuk8419
@andriiantoniuk8419 6 ай бұрын
Could we have an answer from the Lee link?
@sano7944
@sano7944 6 ай бұрын
1:52 he got you covered, there is a huge link on the header
@barkovurur3043
@barkovurur3043 5 ай бұрын
NEXT_PUBLIC_ env vars being build time is the only wrinkle I've encountered moving from Vercel deployment to vanilla kubernetes or eks/ecs/gcp/azure/self-hosting a Next.js app.
@undefined365
@undefined365 6 ай бұрын
What is your matrix id?
@fev4
@fev4 6 ай бұрын
I completely agree. The real winners here are the chip makers
@ThePrimeTimeagen
@ThePrimeTimeagen 6 ай бұрын
being able to release a new computer with relatively small changes every year for the last 15 years is pretty wild
@dgdev69
@dgdev69 6 ай бұрын
​@@ThePrimeTimeagenthat's a poor take prime you know go and see what ryzen has done on recent years. I agree with Intel about that but amd especially ryzen is so impressive. Probably you should look at the performance difference from ryzen 1000 to 5000. So 4 generation of CPUs.
@creativecraving
@creativecraving 3 ай бұрын
​@@dgdev69Small changes for 15 years? He's obviously trolling you. 😅 Weren't processors 33-bit, single-threaded 15 years ago?
@patrickjreid
@patrickjreid Ай бұрын
I have spent the last 8 months working in next.js. but because we are trying build offline first next is a bad idea. Finally got the go-ahead to convert to create-vite-app and react-router-dom. I can't even begin to tell you how nice and refreshing it is! I am definitely never going to choose next as an engineering decision ever again. Maybe remix depending on my use case. But next is just a bloated mess.
@bosi9929
@bosi9929 6 ай бұрын
I like nextjs but im not happy about its current state. I love its potential. The "use client" drives me crazy and i have the feeling it shoudlnt be so complicated.
@Universe593
@Universe593 6 ай бұрын
I use Nextjs professionally, and while it's getting more bloated with every major version bump, and there's a lot to dislike about it, I really fail to see why people have issues deploying it? I've deployed it on bare metal, VPS and cloud infra, always in a Docker container, never had any issues running it self-hosted. If you want api versioning and elaborate caching, you have to set it up yourself, it is self-hosted and much cheaper after all.
@danailenei9959
@danailenei9959 6 ай бұрын
I agree that if you are using react you are already using magic. But this is true for any farmework. Since a framework means that you inject your code into an already existing codebase, there will be some degree of magic in every framework. I do not agree that stops you from saying that a framework is doing too much magic. There is a difference of being able to understand the principle of a framework and than being able to use that framework more or less with knowledge you already have and having to consult the documentation on almost anything new that you are doing.
@SimonM90
@SimonM90 6 ай бұрын
"your tool choice matters much less than your skill at using the tool to accomplish your desired outcome" if you wouldnt get anything from this than this sentence you would get a lot
@armorfid
@armorfid 6 ай бұрын
I don't use next JS, or previous JS, or current JS; all my homies hate JS
@temirbek
@temirbek 5 ай бұрын
I was learning Go before, then was influenced by primeagen to learn Rust instead. In this video he praises Rust for having traits but then he says: "I like Go and Htmx right now" (at 10:25). The question is: Is Go better than Rust for web server?
@yega3k
@yega3k Ай бұрын
Here’s my 2 cents (probably worth less than that 😅). 1. Go and Rust are both excellent 2. Learning one will make it much easier to learn the other later 3. They both work with HTMX. In fact, HTMX works with any backend language you wish to use.
@wt4csm
@wt4csm 6 ай бұрын
"Huh whats this Remix thing? I've never heard of this." >React, again Dropped.
@MentorAliu
@MentorAliu 6 ай бұрын
i like Remix a lot
@KevinNewman-qn7gc
@KevinNewman-qn7gc Ай бұрын
Hot take on app router - they made a judgement mistake when defining their APIs for it. They went with a "side-effects" approach, reminiscent of Meteor, where a lot of features are enabled/disabled by the usage of adjacent APIs. for example, it turns on/off various caching features, based on whether or not you access methods on the Request object. This is a giant mistake, and a big step backward. It IS well documented, but it's not clear what state you are mutating, and which features that's going to effect, when you access these APIs. I always prefer direct descriptive APIs. It's not bad, it does make sense, and it's well considered. But it's got that element of magic, and that tends to come back to you at some point, in some head scratching edge cases. That said, it has far too many great features, and enables far better data pipeline (last mile) patterns, to ignore. It's simply better than pages router many other ways. And, the defaults are well considered - they will mostly help, rather than get in your way.
@rocstar3000
@rocstar3000 6 ай бұрын
It's amazing how you post something about not using next.js literally days after being in their conference, lmfao
@ameyapai72
@ameyapai72 4 ай бұрын
We have been using NextJS for the last 3 years I guess at least. We have never used Vercel for deployment. Frankly, ( this will sound dumb ), I didn't know Vercel nor that it had hosting options, until last year. Definitely deployment is not that big a deal as he is claiming it. Do it in ec2, droplet, it works with an easy pm2 command like any NodeJS application ( using a reverse proxy )
@Leto2ndAtreides
@Leto2ndAtreides 6 ай бұрын
"As Next is a popular alternative to Remix" ? ... Got the order reversed there.
@elvismiranda9775
@elvismiranda9775 3 ай бұрын
I don’t play yet the video but for the title and the picture, totally agree! 😂
@iamlovishgarg
@iamlovishgarg 6 ай бұрын
Was going to get a heart attack in the first second.
@devagr
@devagr 2 ай бұрын
Prime: "Kent is not going to say negative things about Next.js" 5 seconds later Kent: "I am going to say negative things about Next.js"
@shs4293
@shs4293 6 ай бұрын
Which stack do you prefer for the midlevel devs? (On a serious note)
@adamrodriguez7598
@adamrodriguez7598 6 ай бұрын
MERN
@theycallmejatin
@theycallmejatin 6 ай бұрын
​@@adamrodriguez7598isn't R replaced with Nextjs
@channelofpublication
@channelofpublication 2 ай бұрын
"Go to MDN instead of Remix docs". I can't tell you how many times I've had to navigate between 3 or 4 different framework or library docs trawling for information on a convoluted manufactured error message and stack trace. Then my journey would end once I finally found the Github Issue that pointed out that the error handling/typing had trapped and obscured the actual problem which is answerable by Node or MDN documentation.
@Sound_.-Safari
@Sound_.-Safari 5 ай бұрын
“Never worry about a bundler” and “Any JS Framework” is like saying oil and water mix easily 😂
@T25de
@T25de 6 ай бұрын
I jumped into next I put “use client” on my root page I keep usestate hooks n every component I use Link for conditional rendering 😂
@_jovian
@_jovian 6 ай бұрын
"preface the universe" 😂
@loganhoneycutt5398
@loganhoneycutt5398 6 ай бұрын
new hour long video from prime? i click. i simple man
@JacobBogers
@JacobBogers 5 ай бұрын
wrappers: evil helpers: Good
@marcelfahle
@marcelfahle 6 ай бұрын
kent vs lee cage match 🥊
@marcelfahle
@marcelfahle 6 ай бұрын
haven't read either post yet, so I'll let you read them to me. prime bedtime stories, a public service
@ThePrimeTimeagen
@ThePrimeTimeagen 6 ай бұрын
BTSAAS
@AlexandrosKatechis
@AlexandrosKatechis 3 ай бұрын
Why is Dr. Disrespect reading javascript blogs?
@Infectioushamburger
@Infectioushamburger 6 ай бұрын
Regarding self-hosting of Next, my biggest struggles definitely come from handling of environment variables especially when working with containers. The conditions in which Next variables are compile time vs non compile time in conjunction with trying to have a single image running across Test, Staging and Prod definitely left a sour taste for me. The further blurring of the lines between server and client code adds to this where I really do struggle recommending the framework to people without adding caveats
@trentbosnic
@trentbosnic 6 ай бұрын
Do you think using plain old React or CRA is the alternative? Or something else?
@heroe1486
@heroe1486 6 ай бұрын
​​@@trentbosnic CRA isn't a thing anymore, there is vite for that (which works with Vue react svelte solide etc) and now "Vike" which is a vite based tool to make React/Vue SSR/SSG easier, but I've never used the latter outside of the tutorial, but I'll consider it soon
@dannyward4385
@dannyward4385 5 ай бұрын
Next.js just released a statement yesterday about improvements on exactly your issues with Next
@jbeaudoin11
@jbeaudoin11 6 ай бұрын
Tbh @ThePrimeTimeagen, I have no idea where you were going with this at 7:13 How does having helper functions or Rust Traits changes anything ? Aren't those just abstractions ? In the case of helper functions you bind yourself to the data and abstract away the behavior. So if the data changes, you need to propagate those changes to your helper functions. Same with calling helper functions in other helper functions.. For Rust Traits, it's pretty much implementing the "interfaces" aka your abstractions. Same problem here, if data change or behavior change, you are coupled and need to change it everywhere too. I agree with you that everytime you make an abstraction, you couple your code to that abstraction. But i don't see how what you proposed here helps with anything ? You are still using abstractions..
@ThePrimeTimeagen
@ThePrimeTimeagen 6 ай бұрын
you don't have to *wrap* you get to trait implement the functionality you want, then hand off that object. if they want the additional features, they import the trait, and boom, its there on the ORIGINAL object. *chefs kiss*
@dpgwalter
@dpgwalter 6 ай бұрын
@@ThePrimeTimeagen So would that mean if I have an object that _doesn't_ implement some trait, I can implement it myself and use the object as if it always had it?
@jamesc2810
@jamesc2810 6 ай бұрын
/* Intentionally left blank */
@maxwebstudio
@maxwebstudio 6 ай бұрын
That was a great one
@Cmacu
@Cmacu 4 ай бұрын
This video made me appreciate Vue and Quasar even more!
@karis8143
@karis8143 5 ай бұрын
Migrating from page-based routing to app routing in Next.js can be quite frustrating, especially when dealing with a lot of server-fetched data that requires security measures. It's often more practical to have a dedicated backend and a separate frontend. Trying to determine what should be handled on the server and what on the client within the same project for a large application can lead to issues, resulting in an app that doesn't function properly and inconsistent, frustrating logs. A framework should solve complexity, not add to it.
@darshandhabale143
@darshandhabale143 5 ай бұрын
been struggling with the same
@mieszkogulinski168
@mieszkogulinski168 4 ай бұрын
Same. Pages router is quite understandable and it's relatively easy to figure out what's happening. The page is a huge React component, gets this and this props, gets rendered on server as HTML, and then client-side React takes control over that HTML. I just need to remember that if there's some code that can run in the browser only, it goes to useEffect. There are (very rare and usually old) libraries that can run in the browser only, and dynamic import handles them. App router - I have no idea what's happening there.
Teaching NextJS To Primeagen
1:19:51
Theo - t3․gg
Рет қаралды 221 М.
Do you REALLY need SSR?
18:15
Theo - t3․gg
Рет қаралды 154 М.
ОДИН ДОМА #shorts
00:34
Паша Осадчий
Рет қаралды 4,4 МЛН
CAN FOXY TRICK HIM?! 🤣 #shorts *FOXY AND NUGGET!*
00:17
LankyBox
Рет қаралды 19 МЛН
Glow Stick Secret 😱 #shorts
00:37
Mr DegrEE
Рет қаралды 70 МЛН
You dont know OOP
50:48
ThePrimeTime
Рет қаралды 256 М.
Stop Being A JR Software Engineer | Prime Reacts
22:04
ThePrimeTime
Рет қаралды 280 М.
JavaScript Framework Tier List
40:57
Theo - t3․gg
Рет қаралды 270 М.
The BEST Backend Language for You | Prime Reacts
32:57
ThePrimeTime
Рет қаралды 267 М.
HTMX: 3 IRL Use Cases
18:33
ThePrimeTime
Рет қаралды 99 М.
50 BILLION MESSAGES PER DAY WITH 32 ENGINEERS | Prime Reacts
14:58
ThePrimeTime
Рет қаралды 392 М.
The Truth About HTMX
12:27
Theo - t3․gg
Рет қаралды 162 М.
The Story of Next.js
12:13
uidotdev
Рет қаралды 528 М.
Remix is a NEW JavaScript framework you MUST try
9:10
Fireship
Рет қаралды 486 М.
Добавления ключа в домофон ДомРу
0:18
M4 iPad Pro Impressions: Well This is Awkward
12:51
Marques Brownlee
Рет қаралды 4,7 МЛН
Result of the portable iPhone electrical machine #hacks
1:01
KevKevKiwi
Рет қаралды 8 МЛН
Опасная флешка 🤯
0:22
FATA MORGANA
Рет қаралды 774 М.
iPAD PRO НА M4, iPAD AIR 13 И PENCIL PRO: НЕТ СЛОВ
7:33
Арсений Петров
Рет қаралды 34 М.