Use batteries-included frameworks

แชร์
ฝัง
  • เผยแพร่เมื่อ 16 ธ.ค. 2024

ความคิดเห็น • 73

  • @quintenkamphuis
    @quintenkamphuis 3 วันที่ผ่านมา +16

    I'm an indie hacker shipping products, my latest project will be with Elixir/Phoenix and so far I'm very happy with this decision. And now you are shipping more great content. Awesome timing!

    • @DanielBergholz
      @DanielBergholz  3 วันที่ผ่านมา +3

      @@quintenkamphuis this is awesome! We need more entrepreneurs using Elixir 🚀

    • @nicholasprice5137
      @nicholasprice5137 วันที่ผ่านมา

      Have you guys tried Ash Framework for Elixir/Phoenix? It allows for craaazzzzzzy fast app/feature/permissions/all of it. Ash has been a game changer for me. Insanely fast dev cycles blows my miiiiind.

  • @matthijsbremmers8638
    @matthijsbremmers8638 วันที่ผ่านมา +18

    While I mostly agree with your point, it is a bit overdramatic and could be more nuanced. Changing ORMs? Not that likely. Things like Prisma have been okay for a couple of years and will be a good choice for the coming years. Change form validation libs? Not that likely. Using a form validation library at all isn't all that necessary. Update caching? Maybe, if you want 'bleeding edge'. If you don't need the most sophisticated stuff (which you also don't get with things like Django), you update it once every few years at most. Updating your framework? Obviously you need to do that with Phoenix, Django etc. as well. While I agree that updating things like Next.js needs to happen somewhat more often, that is the 'disadvantage' of using tech that is more willing to change to explore possibly better options. Discussing libs all day is hopefully an exaggeration as that seems a bit silly. You choose a framework and important libs (ORM, state management etc.) once and don't fall into the trap of looking at slightly more shiny things if your previous lib choices are still fine and fit the job well. Then you get just get along with adding the new features.

    • @IamYouWeAreEveryone
      @IamYouWeAreEveryone 14 ชั่วโมงที่ผ่านมา

      agree with your points. i recently explored using django + htmx + alpine (minimal javascript) for my project, but i ended up going with nextjs instead. It is more fun to build with in my view. i really like to have everything in typescript and the frontend component libraries + tools like v0 are great. it will be a bit higher maintenance but also a lot faster to get great results. also, vercel hosting platform is just a pleasure to work with and my projects don't have the scale where their pricing starts to hurt.

    • @EightNineOne
      @EightNineOne 11 ชั่วโมงที่ผ่านมา

      It’s for sure exaggerated, but the amount of this kind of conversation and hand wringing about approach is way lower and the consequences less impactful (not always, but often)

  • @tenacity_dev
    @tenacity_dev 11 ชั่วโมงที่ผ่านมา +5

    100% Fully agree with you Daniel, that's what I'm trying to tell anyone that asks me what they should do. The main thing is about writing business logic and not talking about wether X or Y is good. Go with something stable and you will be fine. Sales is the most important thing at the end of the day. Great video!

    • @DanielBergholz
      @DanielBergholz  7 ชั่วโมงที่ผ่านมา

      @@tenacity_dev thank you!

  • @jamesgphillips91
    @jamesgphillips91 5 ชั่วโมงที่ผ่านมา

    Hey just throwing it out there, loco rs is a rails like framework in rust that is super easy to get up and running with.

  • @DanielFaiole
    @DanielFaiole วันที่ผ่านมา +3

    I agree with you man, I was studying Go and one of the things that made me give up was that you had to do everything from zero. It's cool to learn and do small projects, but as someone who wants to ship stuff fast when I saw phoenix it was a breeze of fresh air.
    Also really cool seeing BR Devs thriving :D

    • @DanielBergholz
      @DanielBergholz  วันที่ผ่านมา +1

      Go is great for learning backend and for systems programming, but when it comes to building complex web apps, that's when Rails or Phoenix shines. And thanks, tamo junto! 🇧🇷

  • @douglascrowder
    @douglascrowder 7 ชั่วโมงที่ผ่านมา

    100% agree. The custom car analogy is spot on.

  • @DiogoLScarmagnani
    @DiogoLScarmagnani 11 ชั่วโมงที่ผ่านมา +2

    I'd go with Laravel + Inertia both for be a very mature framework and also to keep utilizing the knowledge I got in the past three years about PHP/JS. Furthermore, this way I can keep using React to build my components without the awful needs to build Rest Api.
    I'm happy you got it to pay your bills with Phoenix already, once you were very determinated to learn it. Good to hear that. I hope Elixir grows more and more.

    • @DanielBergholz
      @DanielBergholz  7 ชั่วโมงที่ผ่านมา

      @@DiogoLScarmagnani thank you! And yeah, Laravel + Inertia is a killer combo

    • @denissorn
      @denissorn 2 ชั่วโมงที่ผ่านมา

      why avoid building an API if you're already going to use SPA or React? It's generally easier to generate JSON, than to build classic controllers with templates or HTML etc.

  • @jovincebrillantes1042
    @jovincebrillantes1042 21 ชั่วโมงที่ผ่านมา +1

    Laravel is the most "batteries included" framework I've worked with. It has everything.

    • @abdushakoor0099
      @abdushakoor0099 16 ชั่วโมงที่ผ่านมา

      gotta check it out heard many good things about laravel.

    • @DanielBergholz
      @DanielBergholz  7 ชั่วโมงที่ผ่านมา

      @@jovincebrillantes1042 I agree!

  • @denissorn
    @denissorn 5 ชั่วโมงที่ผ่านมา

    If you’ve used both Laravel and Rails, how would you compare them from a 'batteries included' standpoint? Would you say Rails still has an edge over Laravel, or is that no longer the case? The same question for Phoenix vs Rails.

    • @DanielBergholz
      @DanielBergholz  4 ชั่วโมงที่ผ่านมา +1

      I don't have enough experience with Rails or Laravel to be able to do a comparison. But Phoenix is batteries-included compared to JS for example, because I don't have to install a library in order to query the DB, do validations, authentication, send emails etc

    • @denissorn
      @denissorn 2 ชั่วโมงที่ผ่านมา

      @@DanielBergholz Thanks

  • @ecereto
    @ecereto 4 ชั่วโมงที่ผ่านมา

    I feel like I needed to hear this

  • @anasouardini
    @anasouardini 2 ชั่วโมงที่ผ่านมา

    It might be a skill issue, but I moved from Laravel to Nextjs and now to raw Mysql+Drizzle+Expressjs+tRPC+React+AppRouter (waiting for the new "better" way of doing the same thing to ruin my setup)

    • @DanielBergholz
      @DanielBergholz  2 ชั่วโมงที่ผ่านมา

      This sounds way too complex 😅 I prefer my batteries-included frameworks instead of piecing together a bunch of libraries

  • @sutikshnadubey
    @sutikshnadubey 16 ชั่วโมงที่ผ่านมา

    Question for all users of these battery included frameworks - What CSS component library you use for Rapid application development. In react world we have ShadCN-UI / Material UI now days, what you guys would recommend ?

    • @DiogoLScarmagnani
      @DiogoLScarmagnani 11 ชั่วโมงที่ผ่านมา

      If you're using Laravel you can still use Shadcn if you want.

    • @EightNineOne
      @EightNineOne 11 ชั่วโมงที่ผ่านมา

      In Laravel and Rails you can use everything you can elsewhere, Rails even has a flag in its command line to spin up a project with Tailwind/material etc preconfigured

  • @anasouardini
    @anasouardini 2 ชั่วโมงที่ผ่านมา

    I can see Theo grinding his teeth 😆

  • @jkadf293
    @jkadf293 วันที่ผ่านมา +1

    Would you have the same concerns about Express JS as you do with Next and React? Even though it is still JS, it doesn't look like it has all the crazy updates, even though the same issue with deprecated middleware packages exist. I plan on switching over to a batteries-included framework, saw your Adonis video, but I feel it's just better for me to powerthrough learning backend with JS and then switch over to something else. Would really love your opinion on this. Loving your videos.

    • @oserodal2702
      @oserodal2702 วันที่ผ่านมา

      Express is not a framework, it's a library.

    • @jkadf293
      @jkadf293 วันที่ผ่านมา

      @@oserodal2702 i didn't say it was.

  • @arthuraguiar5382
    @arthuraguiar5382 วันที่ผ่านมา +2

    I was about to say "where's Laravel??" (because it's not in the thumbnail) but then I saw it in the first frame of the video... And you can also use React/Vue with Laravel as well using Inertia (works for Laravel and Rails), or Laravext (Laravel only), not need to use the blade template engine.

    • @DanielBergholz
      @DanielBergholz  วันที่ผ่านมา

      Laravel is amazing, and extremely flexible with Inertia

  • @matthieu875
    @matthieu875 4 ชั่วโมงที่ผ่านมา

    Was it hard to land an elixir job?

    • @trenwar
      @trenwar 4 ชั่วโมงที่ผ่านมา

      i guess so, it's not super popular but in a few years i believe it will it's such a good framework

    • @DanielBergholz
      @DanielBergholz  4 ชั่วโมงที่ผ่านมา

      Someone watched a video of mine and decided to get in touch. So you could say I got "lucky"

  • @code-with-kovs
    @code-with-kovs วันที่ผ่านมา +2

    Hey Daniel, agree with you on the batteries included frameworks. in the JavaScript ecosystem there is AdonisJS which is similar to Laravel. Currently I am using NextJS maybe for my next project i will try Adonis. BTW Ruby and PHP are languages that i can't seem to love and use, the syntax is weird (coming from Java) typescript is not bad in my honest opinion.

    • @Zizaco
      @Zizaco วันที่ผ่านมา +1

      Indeed. I'm currently using AdonisJS with react (via inertiaJS) and it's the 🐐

  • @felippemda
    @felippemda วันที่ผ่านมา

    Are the options in Phoenix good tho?
    In React if you dont like an option, you have alternatives, and if you like it, you dont need to discuss changing, even if its old or abandoned

    • @EightNineOne
      @EightNineOne 11 ชั่วโมงที่ผ่านมา +1

      I can’t speak for Phoenix or Django. Phoenix quite a bit younger than the rest of the list and nowhere near as widely adopted yet, but for Laravel and rails “batteries included” != lock in.
      Rails has alternatives that work with everything part of the stack, don’t like erb? Use viewComponents or phlex or inertia and react. Don’t like the testing framework built in? Use rspec. In Laravel, if you don’t want to use Eloquent, use doctrine or the query builder or raw SQL.
      You just don’t have the same amount of churn and boilerplate to write with these systems and the replacements are usually drop in.

  • @riico_zm
    @riico_zm 14 ชั่วโมงที่ผ่านมา +1

    Rails is fantastic, and django is also good

  • @suhaspatnaik
    @suhaspatnaik 14 ชั่วโมงที่ผ่านมา

    Now that you are professionally working with Phoenix, I'm sure many people, like me, would like to know how to find a job in the Elixir/Phoenix ecosystem?
    Please make a video on that. It's easier for people to decide to move away from the JS/TS world once the path to becoming a professional dev using Elixir/Phoenix becomes clear!

  • @str225-f1z
    @str225-f1z วันที่ผ่านมา +2

    Vc tá muito destravado no ingles 👏

  • @kodosunofficial_5
    @kodosunofficial_5 10 ชั่วโมงที่ผ่านมา

    why did you use framework when you can use golang stdlib with htmx

    • @DanielBergholz
      @DanielBergholz  7 ชั่วโมงที่ผ่านมา +1

      @@kodosunofficial_5 this is not at all batteries included. You still need to wire a bunch of libraries together like JavaScript

  • @iCrimzon
    @iCrimzon 16 ชั่วโมงที่ผ่านมา +1

    Go + Gin to the moon

  • @diadetediotedio6918
    @diadetediotedio6918 11 ชั่วโมงที่ผ่านมา +1

    This is not a good thing, you get stuck with the choices of someone else in a little fragile box (which absolutely most frameworks are).

    • @DanielBergholz
      @DanielBergholz  7 ชั่วโมงที่ผ่านมา

      @@diadetediotedio6918 99% of the time, the “someone else” you’re referring to is way more experienced than us, and made much better decisions

    • @diadetediotedio6918
      @diadetediotedio6918 6 ชั่วโมงที่ผ่านมา

      ​@@DanielBergholz
      This is a very bold claim, considering most frameworks started as a pet project of someone, and that many of them carry questionable decisions even for the devs themselves (that they can't change for backwards compatibility reasons). And I think the same reasoning you apply to frameworks you should apply to other things, if you believe that frameworks are made by people "way more experienced than you" then you must also believe that libraries are made by people "way more experienced than you" and that they have a very good reason not to be part of other framework.
      I don't think it is productive to fight against this, but this kind of general advise I find questionable at best, very little are the times I found a framework that could have solved most of the development problems I experienced with the "batteries included", they are always for the average case and only for the "average of the average application case", in which case I find sometimes just using some libraries that are meant to do exactly what I want is sufficiently good and causes less pain.

  • @anasouardini
    @anasouardini 3 ชั่วโมงที่ผ่านมา

    I just want a good stack that uses bare-bones Express and React and links them via tRPC!! I'm tired of opinionated frameworks' hidden quircks and uneditable complexities!

  • @NathanOnCodes
    @NathanOnCodes วันที่ผ่านมา

    Daniel, I watched your video with translation voice by TH-cam AI. the future is great!

    • @DanielBergholz
      @DanielBergholz  วันที่ผ่านมา

      Wow, this looks insane! 🔥

  • @gyordandf5418
    @gyordandf5418 10 ชั่วโมงที่ผ่านมา

    Inglês ta fera Daniel

    • @DanielBergholz
      @DanielBergholz  7 ชั่วโมงที่ผ่านมา

      @gyordandf5418 valeu!

  • @zeer0629
    @zeer0629 วันที่ผ่านมา

    I agree but kind of disagree.
    It depends on your project and how well established your business is. For indie hackers and solo-penuers, you're right these frameworks are very good.
    However, at some point there will be an issue you will face because of your chosen framework's restrictions. Most often is because of the ORM limitations.
    Like all things in software dev, it's about picking the right tool for the job. I'm language agnostic and I will use a different language/framework if it helps me get things done More efficiently but I do prefer less batteries included if I can.
    I don't like the JS/TS ecosystem you essentially have to install a lot of libraries to get things done

    • @DanielBergholz
      @DanielBergholz  23 ชั่วโมงที่ผ่านมา

      Agree 100%. I might be biased, but I think Phoenix provides a good balance between having batteries included and giving you the freedom to customize it

    • @zeer0629
      @zeer0629 23 ชั่วโมงที่ผ่านมา

      @DanielBergholz I haven't looked at phoenix yet so I'll take your word on it. I wanted to ask, why go with phoenix over something like laravel or spring. It seems a bit too niche?

    • @DanielBergholz
      @DanielBergholz  22 ชั่วโมงที่ผ่านมา

      @@zeer0629 this is more of a personal preference. I love functional programming and LiveView (the frontend framework from Phoenix) is very similar to React

    • @zeer0629
      @zeer0629 12 ชั่วโมงที่ผ่านมา

      ​@@DanielBergholz ah fair enough. Good luck on your journey and future projects with phoenix and keep up the great videos

  • @Zizaco
    @Zizaco วันที่ผ่านมา +2

    I couldn't agree more. BTW: AdonisJS is the GOAT in the JS world

    • @wchorski
      @wchorski 22 ชั่วโมงที่ผ่านมา

      it's sad that I'm just hearing about AdonisJS. Must be my algo because all I hear about is Next, Remix, and Apollo

  • @nicholasprice5137
    @nicholasprice5137 วันที่ผ่านมา

    PREACH. PHOENIX FTW.

    • @nicholasprice5137
      @nicholasprice5137 วันที่ผ่านมา

      Please consider doing a look/dive into Ash for Phoenix! It really is remarkable. It’s essentially a DSL that allows for much more minimal code that will in turn create normal elixir functions for the entire app, AND you can escape hatch, turn it off, or even never use it again if Ash ever gets scrapped. Ash very very very much aligns with a One and Done, well supported stack to use in conjunction with Phoenix, that does all the stuff that Phoenix does not - super deep policies/multi tenant/optimizes data reads/anything else that Phoenix doesn’t cover and the remainder of features that SaaS typically use. It really is magical :)

  • @versaleyoutubevanced8647
    @versaleyoutubevanced8647 วันที่ผ่านมา +1

    If you were discussing Next vs Remix, and now you are shipping features, these features may suck.
    You were at position of discussing Next vs Remix because there is where you fit in a real world company. Batteries included are good for indie hacker devs which will most likely ship a full stack product in 3 months and get 0 users.

  • @Ari-lv8nc
    @Ari-lv8nc 10 ชั่วโมงที่ผ่านมา

    Damn

  • @marcelaodev
    @marcelaodev วันที่ผ่านมา

    I relate with that a lot. But I'd rather have compared something like SlimPhp vs Laravel or Express vs Nest.
    Also I feel like people are unnecessarily afraid of MPAs.
    You most often don't need a full SPA software.
    Or you might even have more than one SPAs laid in multiple pages. I find Svelte a good choice for that.

    • @EightNineOne
      @EightNineOne 11 ชั่วโมงที่ผ่านมา

      So many apps could just be MPA + HTMX/hotwire. Unless you have a TON of state or a very complex UI, they’re more than enough

  • @codelivewithme
    @codelivewithme 17 ชั่วโมงที่ผ่านมา

    Nest +react opiniated+flexibility

  • @drsensor
    @drsensor 17 ชั่วโมงที่ผ่านมา

    but junior dev want instant feedback (hot reload)

    • @EightNineOne
      @EightNineOne 11 ชั่วโมงที่ผ่านมา

      You can do this with both Laravel and rails, rails you can even use Vite.