I DONT USE NEXT JS

Ғылым және технология

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

Пікірлер: 570

  • @valhalla_dev
    @valhalla_dev6 ай бұрын

    "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
    @nefrace6 ай бұрын

    _"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.

  • @wrux
    @wrux6 ай бұрын

    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

  • @damienlmoore
    @damienlmoore6 ай бұрын

    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 KZread. 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

  • @AlexandrosKatechis
    @AlexandrosKatechis3 ай бұрын

    Why is Dr. Disrespect reading javascript blogs?

  • @erickmoya1401
    @erickmoya14016 ай бұрын

    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"!

  • @benbowers3613
    @benbowers36136 ай бұрын

    I really like the format of reading two opposing articles back-to-back. Very juicy knowledge and fresh perspectives

  • @pythagoran
    @pythagoran6 ай бұрын

    "Every great cause begins as a movement, becomes a business, and eventually degenerates into a racket." - Eric Hoffer

  • @doctorgears9358
    @doctorgears93586 ай бұрын

    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-dev6 ай бұрын

    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
    @jak3legacy6 ай бұрын

    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
    @shadowfaxenator6 ай бұрын

    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

    17 күн бұрын

    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.

  • @erikslorenz
    @erikslorenz6 ай бұрын

    Every feature in nextjs is designed for lock in to vercel imo

  • @abacuswithrehan264

    @abacuswithrehan264

    6 ай бұрын

    That's the plan 🙃

  • @CodingPhase

    @CodingPhase

    6 ай бұрын

    Yep 😂

  • @marin1419

    @marin1419

    11 күн бұрын

    NextJS is sanskrit for Vercel :P

  • @ZiRo815

    @ZiRo815

    4 күн бұрын

    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.

  • @StephanHaloftis
    @StephanHaloftis6 ай бұрын

    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.

  • @gerdokurt
    @gerdokurt6 ай бұрын

    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.

  • @alfonsojimenez8785
    @alfonsojimenez87853 ай бұрын

    Oh boy 😆nice confusion technique at the beginning bro, 9 seconds in and I already liked the video.

  • @TheApeMachine
    @TheApeMachine4 ай бұрын

    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.

  • @Meligy
    @Meligy6 ай бұрын

    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

  • @raenastra
    @raenastra6 ай бұрын

    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

  • @rickwoods5274
    @rickwoods52746 ай бұрын

    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.

  • @Rensbril
    @Rensbril6 ай бұрын

    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.

  • @z3rocodes
    @z3rocodes6 ай бұрын

    I left Next.js for Astro and havent looked back. For internal SPAs, vite + typescript

  • @bulldogjob
    @bulldogjob6 ай бұрын

    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.

  • @DexterMorgan
    @DexterMorgan6 ай бұрын

    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

  • @nikitaproit
    @nikitaproit6 ай бұрын

    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.

  • @LuizFernandoSoftov
    @LuizFernandoSoftov2 ай бұрын

    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.

  • @seanchen9771
    @seanchen97716 ай бұрын

    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

    17 күн бұрын

    Agree

  • @fallen_turbo
    @fallen_turbo6 ай бұрын

    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

  • @alexandruaxentioi3006
    @alexandruaxentioi30066 ай бұрын

    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.

  • @ilkkaouto
    @ilkkaouto6 ай бұрын

    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!

  • @simod.4581
    @simod.45816 ай бұрын

    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

  • @Michaeltje01
    @Michaeltje016 ай бұрын

    41:41 my dockerized nextjs app broke after updating a patch release.

  • @boris7645
    @boris76456 ай бұрын

    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?

  • @stefankyriacou7151
    @stefankyriacou71516 ай бұрын

    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.

  • @RoshanKharel
    @RoshanKharel6 ай бұрын

    0:45 reminded me of rick prime. he shall forever be missed. farewell rick c-137

  • @vitorguidorizzzi7538
    @vitorguidorizzzi75386 ай бұрын

    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

  • @daedalus5070
    @daedalus50706 ай бұрын

    I'll pickup Next when its finished.

  • @asdqwe4427
    @asdqwe44276 ай бұрын

    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.

  • @sleyeborgrobot6843
    @sleyeborgrobot68436 ай бұрын

    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.

  • @picatchumm64
    @picatchumm646 ай бұрын

    The good partner is Svelte or Htmx with golang for the backend api.

  • @almcchesney
    @almcchesney6 ай бұрын

    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

    11 күн бұрын

    What did you replace it with?

  • @fev4
    @fev46 ай бұрын

    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?

  • @armorfid
    @armorfid6 ай бұрын

    I don't use next JS, or previous JS, or current JS; all my homies hate JS

  • @SanderCokart
    @SanderCokart6 ай бұрын

    My problem right now with server actions is the amount of javascript added by making the user do a fetch request is so small.

  • @oussamasethoum1665
    @oussamasethoum16656 ай бұрын

    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.

  • @wt4csm
    @wt4csm6 ай бұрын

    "Huh whats this Remix thing? I've never heard of this." >React, again Dropped.

  • @JeremyAndersonBoise
    @JeremyAndersonBoise6 ай бұрын

    Shout-out to helpers as opposed to faćades or other non-useful abstractions that imply dependency management.

  • @drakenmario93
    @drakenmario9310 күн бұрын

    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

  • @taquanminhlong
    @taquanminhlong6 ай бұрын

    I never have to use any React Context again when using Remix 😂 the router has already handled everything

  • 6 ай бұрын

    Bohr-Einstein debates are quite different nowadays.

  • @SandraWantsCoke

    @SandraWantsCoke

    6 ай бұрын

    Vercel does not play dice

  • @marin1419

    @marin1419

    11 күн бұрын

    @@SandraWantsCoke It always bets on the dollar

  • @maksymfedenko1153
    @maksymfedenko11536 ай бұрын

    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

  • @aloufin
    @aloufin6 ай бұрын

    love the potion seller opener frame lol

  • @aprilmintacpineda2713
    @aprilmintacpineda27136 ай бұрын

    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.

  • @SeRoShadow
    @SeRoShadow6 ай бұрын

    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.

  • @guidobit
    @guidobit6 ай бұрын

    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

  • @SimonM90
    @SimonM906 ай бұрын

    "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

  • @clipartinc
    @clipartinc6 ай бұрын

    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
    @doxed642 ай бұрын

    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.

  • @officialraylong
    @officialraylong6 ай бұрын

    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.

  • @TuckerWray
    @TuckerWray6 ай бұрын

    i wish i could hit the like button twice. once for the "rawdog fetch vs caching fetch"; once for "that S.O.B. MooTools";

  • @devagr
    @devagr3 ай бұрын

    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"

  • @rocstar3000
    @rocstar30006 ай бұрын

    It's amazing how you post something about not using next.js literally days after being in their conference, lmfao

  • @erickmoya1401
    @erickmoya14016 ай бұрын

    Why everybody loses the chance to call him "Can't see dots"

  • @azizoid
    @azizoid6 ай бұрын

    Im considering switching to Remix, after NextJs transferred to a PHP

  • @user-qz1ok3ic2s
    @user-qz1ok3ic2s4 күн бұрын

    I was really wondering why most new frontend frameworks are built on react, and why react encourages these frameworks instead of pure react. it makes business sense, but it holds back actual new ideas.

  • @loveboat
    @loveboat6 ай бұрын

    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.

  • @abdoemr3436
    @abdoemr34366 ай бұрын

    6:17 is just a great point

  • @bosi9929
    @bosi99296 ай бұрын

    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.

  • @danailenei9959
    @danailenei99596 ай бұрын

    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.

  • @Supakills101
    @Supakills1016 ай бұрын

    "NextJS is like Kubernetes". Webdevs need to be stopped

  • @sano7944
    @sano79446 ай бұрын

    1:52 he got you covered, there is a huge link on the header

  • @ymomoto43
    @ymomoto436 ай бұрын

    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

  • @Universe593
    @Universe5936 ай бұрын

    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.

  • @patrickjreid
    @patrickjreid2 ай бұрын

    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.

  • @loquek
    @loquek6 ай бұрын

    Your point at 4:24 is really, really important for some people to remember

  • @PaulSebastianM
    @PaulSebastianM6 ай бұрын

    He got a reply to that article from Nextjs

  • @Leto2ndAtreides
    @Leto2ndAtreides6 ай бұрын

    "As Next is a popular alternative to Remix" ? ... Got the order reversed there.

  • @barkovurur3043
    @barkovurur30435 ай бұрын

    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.

  • @boxboxerson991
    @boxboxerson9913 ай бұрын

    You have one hell of a voice. It's like gilbert gottfreid but without any of the talent that man has.

  • @ThePrimeTimeagen

    @ThePrimeTimeagen

    3 ай бұрын

    chefs kiss*

  • @cb73
    @cb736 ай бұрын

    At the end of the day, even if a company is "in it to make money" they can only do so by pleasing customers not by pissing them off which would eventually lead to their failure.

  • @JacobBogers
    @JacobBogers5 ай бұрын

    wrappers: evil helpers: Good

  • @iamlovishgarg
    @iamlovishgarg6 ай бұрын

    Was going to get a heart attack in the first second.

  • @channelofpublication
    @channelofpublication2 ай бұрын

    "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.

  • @19975amitsingh
    @19975amitsingh6 ай бұрын

    You can use the following example to differentiate between features and capabilities: Humans have hands and legs that are features, but you do with them consider capabilities. Do correct me if my example is wrong.

  • @karis8143
    @karis81435 ай бұрын

    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.

  • @andriiantoniuk8419
    @andriiantoniuk84196 ай бұрын

    Could we have an answer from the Lee link?

  • @ameyapai72
    @ameyapai724 ай бұрын

    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 )

  • @huzaifac137
    @huzaifac1376 ай бұрын

    What about just using file based routing and image optimization and treat remaining nextjs just as react and build server on nodejs .

  • @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.

  • @Sound_.-Safari
    @Sound_.-Safari5 ай бұрын

    “Never worry about a bundler” and “Any JS Framework” is like saying oil and water mix easily 😂

  • @elvismiranda9775
    @elvismiranda97753 ай бұрын

    I don’t play yet the video but for the title and the picture, totally agree! 😂

  • @MentorAliu
    @MentorAliu6 ай бұрын

    i like Remix a lot

  • @ElPolemista
    @ElPolemista2 ай бұрын

    Have you try litelements without compilation?

  • @marcelfahle
    @marcelfahle6 ай бұрын

    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

  • @Cmacu
    @Cmacu4 ай бұрын

    This video made me appreciate Vue and Quasar even more!

  • @undefined365
    @undefined3656 ай бұрын

    What is your matrix id?

  • @jamesc2810
    @jamesc28106 ай бұрын

    /* Intentionally left blank */

  • @shavais33
    @shavais332 ай бұрын

    Here's my criteria for a worthwhile JavaScript library/framework: 1. You can write a 1 line (that's entirely visible in your editor without wrapping) js program that uses it. 2. Using it reduces the syntax required for that 1 line program. Otherwise it's more trouble than it's worth.

  • @shavais33

    @shavais33

    2 ай бұрын

    Hehe. I'm kidding a little bit, but I'm mostly serious. Before ES6, I liked jQuery, because it provided CSS querying capability. Now ES6 gives you that without jQuery, so I might not bother with jQuery. I liked Knockout, a bit, because it gives you a way to put things into your html that would in effect say "this element (and its children) are visible depending on the state of this boolean js variable" or "this text input has the value that is in this js variable" or "the color of this thing is bound to this js var." HTML declared, two way data binding, basically, that could be contextualized/scoped within a js object that is provided to a partial-DOM-walking binding function that would set up the bindings. Those are really the only two things I find to be enough of a help to be worthwhile: CSS DOM Querying and HTML-declared two-way data binding. All the rest of angular/react/etc is just a big pointless pita imo.

  • @pakoti96
    @pakoti9629 күн бұрын

    My main take from this video is that PHP is an amazing language because it has traits.

  • @lawrencejob
    @lawrencejob6 ай бұрын

    Did a double take every time he said canaries were sentient 🤣

  • @ThePrimeTimeagen

    @ThePrimeTimeagen

    6 ай бұрын

    i struggled with that

  • @lawrencejob

    @lawrencejob

    6 ай бұрын

    @@ThePrimeTimeagen I think it's endearing and possibly prophetic; I hope you don't think this is a complaint

Келесі