A Legendary Web Framework is Reborn... In Rust

แชร์
ฝัง
  • เผยแพร่เมื่อ 5 ต.ค. 2024
  • 👉 To try everything Brilliant has to offer for free for a full 30 days, visit brilliant.org/... You’ll also get 20% off an annual premium subscription. They have courses on LLMs and Quantum Computing!
    A quick look at the Loco.rs Rust crate, which aims to recreate much of the "magic" that made Ruby on Rails so well loved.
    Dotan Nahum's article "Introduction to Loco" - / introduction-to-loco-t...
    Keyboard: Glove80 - www.moergo.com...
    Camera: Canon EOS R8 amzn.to/4gSpivt
    Monitor: Dell U4914DW 49in amzn.to/3MJV1jx
    Microphone: Sennheiser 416 amzn.to/3Fkti60
    Microphone Interface: Focusrite Clarett+ 2Pre amzn.to/3J5dy7S
    Tripod: JOBY GorillaPod 5K amzn.to/3JaPxMA
    Mouse: Razer DeathAdder amzn.to/3J9fYCf
    Computer: 2021 Macbook Pro amzn.to/3J7FXtW
    Lens: Canon RF50mm F 1.2L USM amzn.to/3qeJrX6
    Caffeine: High Brew Cold Brew Coffee amzn.to/3hXyx0q
    More Caffeine: Monster Energy Juice, Pipeline Punch amzn.to/3Czmfox
    Building A Second Brain book: amzn.to/3cIShWf
  • วิทยาศาสตร์และเทคโนโลยี

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

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

    As mentioned in the video, I'm currently working my way through a Quantum Computing course on Brilliant. Highly recommend the course and Brilliant in general. They have courses on programming, LLMs, and other domains as well.
    👉 To try everything Brilliant has to offer for free for a full 30 days, visit brilliant.org/CodetotheMoon/ You’ll also get 20% off an annual premium subscription.

  • @ongeri
    @ongeri วันที่ผ่านมา +190

    Rust on Rails = Railway

    • @Дмитрий-о8м9с
      @Дмитрий-о8м9с วันที่ผ่านมา +15

      Railgun

    • @jeffg4686
      @jeffg4686 วันที่ผ่านมา +11

      @@Дмитрий-о8м9с - Rusty Rails

    • @codetothemoon
      @codetothemoon  วันที่ผ่านมา +23

      😂 Isn’t railway a cloud service tho?

    • @codetothemoon
      @codetothemoon  วันที่ผ่านมา +8

      Ooh I love this name!

    • @twenty-fifth420
      @twenty-fifth420 วันที่ผ่านมา +3

      Railrust. Oxidized to the core 😂

  • @twenty-fifth420
    @twenty-fifth420 วันที่ผ่านมา +24

    This is surreal seeing how I started programming (Ruby, vaguely in 2013-2025, using RPG Maker, never rails….then seriously again in 2021-2022 with Rails.) getting to witness two paths merge together.
    Rust is really unstoppable. I was already kind of sold with Bevy, although I havent built anything big yet.
    Anyway, back to the video.

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

    I've been programming since before the web, and when Rails emerged its community felt to me like a specific type of cult. Once Rust gained a following, it community felt to me like the same type of cult as if it was the Ruby cult reincarnated. Now that Rails had made it to Rust I think my gut feelings about the two communities have been validated. 😳

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

      yeah, pretty much. look up Steve Klabnik

    • @gearboxworks
      @gearboxworks 21 ชั่วโมงที่ผ่านมา

      @@knowledgedose1956 - Yeah, no need. That was exactly one of the cult members I was thinking of. 🤷‍♂

  • @eliasp.2759
    @eliasp.2759 วันที่ผ่านมา +16

    The first time I used Rails I remember thinking « we need that in rust », anyways great video

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

      Thanks glad you liked it!

  • @DanielFaust
    @DanielFaust วันที่ผ่านมา +10

    Problem with Tera: `{{` and `}}` expressions cannot be changed. This means that it will clash with Vue/React templating. Askama allows the use of custom delimiters.

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

      Bro what the fuck are you even doing?

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

      In Vue you can change the “delimiters” property to something else like [[ ]].

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

      Loco supports multiple view engines, and it's extremely easy to add others (because of how Rust made us do this integration).The Tera one comes out of the box, we'll add more as we go along.

  • @vectoralphaSec
    @vectoralphaSec วันที่ผ่านมา +45

    Rust in Rails

    • @codetothemoon
      @codetothemoon  วันที่ผ่านมา +5

      🦀 🚂

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

      i was confused about what this is at first but then when the code came on the screen i knew what's happening.
      i have used **Jinja2 for Python** to write html templates and then autogenerate them into static websites,
      and i can immediately recognize that is the same design pattern but now in rust, that's awesome

    • @starstreamlab
      @starstreamlab 10 ชั่วโมงที่ผ่านมา +3

      Rusty Rails 😊

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

    Thanks for this video! Really well done, you managed to capture the essence of what we're trying to do with Loco. Appreciate the coverage of the back story because that's been an important driver of the features and maturity of the framework. Thanks! 🚂♥

  • @jesusjar11
    @jesusjar11 วันที่ผ่านมา +10

    Rust in Rails?! I'm not getting into any train going through that!!!

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

    Man, this is pretty cool. I got REALLY into Ruby on Rails when it first showed up around 2006, and it was my primary work environment from 2007 to 2013. I kind of burned out on web development after that and ended up mostly doing back end stuff, so I haven't really kept up on the space since then, but I'll keep my eye on Loco.

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

    A lot of the value in Rails *is Ruby*, in that it enables very rapid slop / prototyping.

  • @wtfisgoingon535
    @wtfisgoingon535 วันที่ผ่านมา +11

    Tried loco myself, i don't really like the fact that its opinionated and since the base is done without any input its hard to grasp your own project at first.

    • @vectoralphaSec
      @vectoralphaSec วันที่ผ่านมา +17

      Opinionated is best for fast productivity

    • @izumiosana
      @izumiosana วันที่ผ่านมา +7

      ​@@vectoralphaSec Agreed. I'm tired to reinvent the wheel. Just use the common one even it's not perfectly match.

    • @codetothemoon
      @codetothemoon  วันที่ผ่านมา +7

      I can totally understand this perspective! The approach is definately polarizing.
      Highly recommend Leptos if you haven’t tried it already 😎

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

      ​@@vectoralphaSec If you think about it, ofc. But here its based on someone else opinions. I've made my own templates for this exact reason. Granted is more manually intensive than using loco but i feel like devs have a lots to gain by picking themself the tools they want to work with.

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

      @@codetothemoon I've made multiple projects using Leptos! My last one is a website that download youtube video, convert them to mp3 and put them in my navidrome library. Its was really easy to do with Leptos, so much so that i've lost way more time on the styling than the backend. Can also recommend without any doubt.

  • @arcstur
    @arcstur วันที่ผ่านมา +12

    I would prefer just SQLx instead of an ORM...

    • @codetothemoon
      @codetothemoon  วันที่ผ่านมา +5

      Understandable, that is typically my preference as well

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

      This was a major factor for deciding to go with SeaORM - it is sqlx based. I had initially approached with caution, saying to myself "if anything, I can always grab a db connection and go with sqlx". Turns out SeaORM is really great -- it's lightweight even though it's feature packed (much thanks to Rust being... well... Rust). And because we chose to pass a connection explicitly with every DB operation (and not keep it globally somewhere) you can always mix-n-match Sqlx and SeaORM anywhere you want.
      Granted, we do generate code for SeaORM.

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

      @@jdot Hmmm, interesting. I think I will have to try it out! I actually never used SeaORM. I have a negative view of ORMs since I work with Django and oh my, sometimes it makes me struggle.

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

    I find it hilarious how he tried to build ruby in node and updates always broke his project. I feel that’s the big problem with react is that nothing is stable and your build always breaks as they just have breaking changes all the time and because everything runs client side you have to keep up to maintain the security updates and there is just this constant maintenance cost with JavaScript. To me that is the appeal of rust as a compiled language it will have way less breaking changes and way more stability

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

      Not only that, but the tools broke too. And then, you have this peer pressure -- should you stay with Wepback although everything moves on to Vite? (and then to the next tool in the future?). Every such migration is a "break the world" event. It made me unhappy, unwanting to open the project.
      With Loco, every feature request -- I get this excitement, and can't wait to dive in and implement. I know Rust and the tools will always be stable, and that things I left there will stay the same.

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

      Uhm rust does have dependencies as well??????

  • @nicklam3594
    @nicklam3594 วันที่ผ่านมา +6

    Damn what a coincidence. I was looking into loco like 4 days ago lol!

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

    Rust on Rails, alias Hungarian State Railways (MÁV)

  • @brunodusausoy5125
    @brunodusausoy5125 วันที่ผ่านมา +10

    I would just use Elixir/Phoenix and use Rust only if needed, with the help of Rustler.

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

      Heard amazing things about Phoenix, can’t wait to try it myself. Hadn’t heard of Rustler, will look into that as well!

    • @gljames24
      @gljames24 19 ชั่วโมงที่ผ่านมา

      Isn't that what Gleem is supposed to be? A rust-esque language in the Erlang-VM space.

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

      ​@@gljames24 Yeah, Gleam is ML-inspired, as is Rust. But the ecosystem isn't ready yet, IMO. So I'd stick to Elixir.

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

      But is the phoenix performance as good as loco ?

    • @brunodusausoy5125
      @brunodusausoy5125 9 ชั่วโมงที่ผ่านมา

      @@julienv7031 No, Elixir and the BEAM (the VM it runs on) are fast - at least compared to Ruby - and keeps on getting faster, but they're clearly not as fast as Rust can be. There are many reason for that: running on a VM instead of being native, immutability, fair scheduling, ...
      But usually that's not the point. Being fast is nice but being fault-tolerant is generally what you want, at least most of the time.
      And in this area the BEAM is unbeaten. It offers tools like actors, supervision tree, fair scheduling, ... so your operations keep on running under unusual circumstances. Instead of crashing directly, it smoothly runs in degraded mode, but still trying to recover.
      If you really want speed you can optimize the parts of code that are slow and code them in another language: C, C++, Rust or Zig are the most used ones.

  • @rsjeyt
    @rsjeyt วันที่ผ่านมา +5

    Randomly brings up quantum computing 😂

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

      Today it might sound random, in 5-10 years maybe not!

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

    Being an early user of django (which is around the same age, and I did select it over ruby/rails, while both of them were more obscure, and did not know it would be a career defining decision), I also tried around to make my own rust stack (axum, htmx, minijinja, seaorm), so loco is really on the top of my list to try working through a larger/medium project as well. However, I am not yet entirely sold, I rather like the "make it easy to code" approach django has, where I often write my models as code, over the code generation I have to use from the command line.
    I am also not quite happy yet with seaorm, as it sometimes feels more work with it, than simply using SQL (something you cannot say if you work a lot with django's orm), I guess the DDD focus has upsides and downsides there.
    I do admit, using one for years does make a skill gap, so this is just my butt feeling.
    I am always also a bit perplexed, why ORMs do not focus on being more focused on code as a source of truth, and instead forces one to write SQL migrations. Every time someone says he hates ORMs, but uses one, it turns out, it is one of those, that has no migration system. I do not see the point in an ORM, that does not make my code the source of truth, even if I model my system around an already existing db. I do see that at least loco tries to solve this issue in a way, but I am not sure if I like the way.

    • @knowledgedose1956
      @knowledgedose1956 21 ชั่วโมงที่ผ่านมา

      what is the problem with scaffolding though? you can easily do everything yourself if wish so, or you can just scaffold all/part. even when code is generated you will definitely touch it at one point and change it

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

      Unike Ruby, Rust forced us to make all the magic "in the open". Because it's statically typed, and because it's safe, most of the magic is explicit. So you do have ways to start from code, no problem with that. In fact, the longer guide on the website takes the "under the hood" approach teaching you how to do manually, everything the generators does automatically. Sounds like you're a person that can join us by contributing :)

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

    Ok, I wasn't expecting this to be honest, this is great

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

    perfect timing after Rails conf and Rails 8 announcement

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

    Hopefully loco drops the external crates and decides to incorporate their own versions of their own services to not have the same issues like in JS ecosystem.

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

      For very stable crates -- we take external ones. We read the code of external crates and we're very mindful of what goes inside. For other cases, we definitely implemented our own.

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

      @@jdot this is awesome. i can see this becoming something you migrate to when costs/latency become bottlenecks.
      eventually it'll be something you use like rails/laravel for everything when you become fast at rust.

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

    i'm noob in rust and loco
    coming from laravel web framework.
    today testing loco web framework in API Rest mode, so much need to be add, especially on validation message and auto generate api doc, but so far this framework is promising
    i hope you will cover more loco web framework tutorial

  • @wilfredomatute7697
    @wilfredomatute7697 9 ชั่วโมงที่ผ่านมา +3

    Yo carlitos, this framwork is loco man!

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

      Ahahah 😂

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

    I've been meaning to work on something like Symfony in Rust, but honestly this seems more promising.

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

    soooo Rusty Rails got it
    Loco has the advantage of building a template engine while looking at many other templating engines and seeing what works and what doesn't after many years of experience, and it does the same with all the other things that are just expected out of the box

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

    This is great, now I will wait till everyone complains on how bloated this is and Rust Sinatra comes out using just Axum, SQLX and Maud

  • @meetarthur9427
    @meetarthur9427 13 ชั่วโมงที่ผ่านมา

    I feel like using Rust as Rails is the same as using CBR on a track without turns. Rails itself hasn't had the goal to imitate Rails, and I guess that any Rails like project fall into the success trap. Futhermore when you use ruby with magic it is okay, but using rust with magic? How far you will go? What can you achieve for yourself and in general relying on miraculous rails? This MVC scaffolding really the thing after you come to rust?

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

    Please check SpringRS is very new but looks great. A real alternative of Spring of Java compatible with Axum and Tower middlewares.

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

      Thanks for putting this on my radar, hadn’t heard of it!

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

    Thank you for the video!

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

    I’ll stick to ol’ reliable Ruby on Rails, no need to replace the first part of that.

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

      Fair enough, seems like the Loco author would approve!

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

    This is really cool, but I would love to see a framework like this that uses rust to run on the client instead of using a template engine.

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

      Check out Leptos!

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

      @@codetothemoon Well I mean like this plus Leptops, this seems to give you a ton of quality of life over Leptos on the backend "batteries included".
      A love child of Leptos and Locco.

    • @karixening
      @karixening 21 ชั่วโมงที่ผ่านมา

      @@codetothemoon Yeah, I was thinking like a love child between this and Leptos where you get the "batteries included" server features of Locco, but the client-side reactivity of Leptos.

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

    So, is this the first web framework in Rust that includes batteries?

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

    Missed chance to name it RustyRails

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

      I think at one point at least there was a project called "Rust on Nails"

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

      😂

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

      @@killersquirel11 Indeed, Rust on Nails was a kind of a blog post

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

      It was actually called that way. That's why, for example, our code generation framework which we built especially for this, is still called "rrgen" (rusty rails gen). But then I looked for a 4 letter word, that would flow out of your fingers, that would also connect with a Locomotive / Rails / etc. 🙂

  • @bersissevimli1588
    @bersissevimli1588 13 ชั่วโมงที่ผ่านมา

    Ow I was thinking about a full fledged web framework for very long time I am happy some people are making it a reality

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

    Interesting video. However, looking slightly away to read your script is distracting (for me at least), either make it more deliberate i.e. completely turn your head to read another screen or memorise what you're going to say and look directly at the camera.

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

      Thanks for the feedback, I was experimenting with something new for this video, so this is exactly the sort of thing I need to hear!

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

    Time to build != performance, in most cases critical performance areas could be optimised and most of them are DB queries and not Meta layers. Rust is nice language but for fast and efficient development is not the best choice. On each change you will wait a lot of time to check all memory safe stuff while in runtime you need to check less, paradoxical thing that yet to find by those who will try to chose this tech.

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

      From my experience only with Loco (I have other Rust experience in bigger, more complex projects) -- everytime we needed to do a major refactor -- which would have been super scary, super insane in other languages -- it's been a safe journey in Rust.
      The idea of the compiler checking stuff out for you, is real. Even when you have great test coverage, with major refactoring you'll get bit by stuff you didn't see because you're living in three worlds -- the modeling of a problem before refactor, the in-between work (which is where you'll do a lot of mental gymnastics), and the final and refactored modeling. Rust is fantastic for reducing that mental fatigue, I'm willing to pay some compilation time for that.

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

    haven't seen your channel in ages man and i love the beard on you very good look

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

    Hey @codetothemoon - which IDE and plugins do you use for the RUST ? Thanks

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

    There is Phoenix, no need for RUST RAILS.

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

    IMO, no more template. Reason: the amount of time used to learn templates can be used to learn vuejs (simpler than Angular and React, IMO).

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

    What’s the difference between this and something like C# and razor? Speed wise

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

      Good question - razor is a frontend wasm framework right? In that case it might be apples and oranges because loco is server side. Leptos, yew and Dioxus might be more comparable

  • @chrisray9653
    @chrisray9653 วันที่ผ่านมา +4

    Rubyists are going to ragequit

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

      Like Dotan, I say if you enjoy Ruby and cloud compute costs aren’t an issue, stick with it!

    • @twenty-fifth420
      @twenty-fifth420 วันที่ผ่านมา +1

      Just embed Ruby into your Rails application. 😂
      Also, we never rage. We are all serene like a well balanced painting until we see a Python developer in the wild. ❤ 🐍

  • @aproietti
    @aproietti 21 ชั่วโมงที่ผ่านมา

    Rusted rails... stay safe out there 😂

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

    Those two templates you show at the start are not really the same. For one the b is not the same as strong

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

      They are definately different! They are both used as examples for their respective frameworks. For example on the rails site DHH walks through building this “posts” app in Rails. Though I think he goes a bit deeper than we did in this video

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

    Classic Ruby RoR devs will cry, when them will meet trait bounds...

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

    20 years and people still completely misunderstand what made Rails great.

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

      Let us in on it! Part of my goal here was to understand the rails mindset in general. If there’s something I missed please let me know!

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

    Rust has become the new Linux meme; this will be the year of Rust on the web. It's a great systems language but a terrible choice for writing backends. Go is right there, and I can pretty much guarantee that the server I'll write in Go in 10 minutes will be faster than the one you'll write in an hour in Rust.

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

      Go is a forced meme by Google. Learn lisp. Clojure is a bliss. Common Lisp is fantastic because of its interactive experience.

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

    Honestly, I doubt anyone enjoying Rails would want to write in Rust. One is fun, the other is just tedious.

  • @FineWine-v4.0
    @FineWine-v4.0 วันที่ผ่านมา +1

    Now all I need to see is an AI or ML framework like PyTorch/TensorFlow & we also need to move into the mobile app dev scene as well
    But in RUST
    We already have a Rust-based Game engine called Bevy

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

      Re torch/TF we have Candle 😎 mobile is a bit of a void though, Dioxus might be the current leader there!

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

    i do love Ruby

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

    I wonder how the machine code differs between Ruby and Rust? :/

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

    missed opportunity to not call it Railgun

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

      😂 agree 💯

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

    Seeing the templating reminded me of how much I dislike templating. You don't know what variables to expect in the controller and you don't know what variables are provided in the template. It's pretty awful in my opinion.

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

    An order of magnitude in CS is 2, so if half as fast would be the same as ruby and NOT at all impressive.

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

      I’m referring to a base 10 order of magnitude, which would be a factor of 10

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

    Why is Elixir not mentioned here?!

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

      Love what I’ve seen of Elixir so far, which is admittedly very little - was there something here that was ripe for comparison to it?

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

      @@codetothemoon Elixir and Phoenix is an answer to ROR performance that is mature and used by companies like Discord, Pinterest, PepsiCo, Apple.
      It comes from the same premises that you lay down in your intro: combining the devx of Ruby and Rails with something (way) more performant and reliable.
      I think Loco is sufficiently similar to be compared with Elixir, just for the general knowledge of your viewers :)
      Thank you for your videos BTW

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

      @@codetothemoon Not really, it's just another competitive web-focused framework that always pops up whenever you mention non-JS frameworks, along with things like C# frameworks.

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

    Now can he do that for V too?

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

    this framework looks really interesting, just gonna ignore the React part though

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

      Ooc what would you use in place of React?

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

      @@codetothemoon i would love to use Vue or Svelte more, they're so simple to work with

  • @harriet-x.x
    @harriet-x.x 6 ชั่วโมงที่ผ่านมา

    Ruby doesn't perform well - Ya thats true HM GITLAB!!

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

    Checkout sycamore when you can

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

      Checked it out awhile ago, I don’t remember a ton but I don’t think I was ultra impressed. Didn’t seem to be on the same level as Leptos and Dioxus. Would love to be proven wrong though!

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

    Rusted Rails

  • @ade5324
    @ade5324 วันที่ผ่านมา +4

    will it help me write ecommerce shops? if not its useless.

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

      Why wouldn't it?

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

      @@ilmuoui there are bazillion website frameworks, and like 2 viable eCommerce frameworks - wordpress & shopify (very expensive). plus you can do 100% what all the other web frameworks do with php + html + js + css. php is not that slow mind you, i doubt rust would offer any meaningful performance improvements.

    • @codetothemoon
      @codetothemoon  วันที่ผ่านมา +4

      I don’t think Loco would be the first thing I’d reach for when building an e-commerce site. But I don’t think that makes it “useless”….

  • @arcstur
    @arcstur 20 ชั่วโมงที่ผ่านมา

    Coming from the Django side of the force, I don't know if I would like to use something that opinionated. Django sometimes disappoints me for forcing too much opinions and rigidity on how to do stuff (specially authentication!). I don't know if that happens with Loco. However, I really like how easy it is to do some common stuff (like integrating files with S3, or using emails, etc). I saw some good Rust crates that are based on Django features: axum-login and axum-messages come to my mind, both by the same guy, which also wrote tower-sessions. I really liked using those, specially tower-sessions inside my Axum projects. But, as I said, I like using HTML templates on the server and, nowadays, augmenting them with HTMX.

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

      The way Rust made us build Loco -- it's hard to do that magic glue that's hard to reason with (which Django and Rails has). You can visually see where things connect, because Rust has to be statically typed, explicit, and safe.
      So, for example, if you don't like how we're doing auth, you just delete that module from your app.
      If you don't want to use our Cache submodule, don't use it -- you'll pay virtually nothing for it (Rust zero cost abstraction policy).
      You can also compile-out the database in Loco, having a stateless service. As we move forward, we'll offer more feature flags to compile out pieces you don't need.

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

      @@jdot Nice!! Thanks for the explanation.

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

    Rust and good developer experience are going two opposite ways, you can't combine them

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

    The issue is getting people to learn rust

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

    Holy shit

  • @geeksy2278
    @geeksy2278 15 ชั่วโมงที่ผ่านมา

    I like rust. But I think rust is way too verbose for this level of abstraction. I mean ruby reads like plain English in the controller. Simple. But the rust syntax cares about whether I have an 32 bit integer or a 64bit integer. And all those other types, that don't add much information to the expressiveness of my code in the controller.

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

    For some reason the way you read from the prompt is distracting af.

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

    Not to s**t on anyone's fun, but a compiled language will never be as fun as a dynamic language period. The reason rails is so good is because any changes you make are automatically shown without restarting the server. You add controllers, models, etc... but you don't restart the server, it's automatically discovered and included within the web routes. It's a simple thing, but for a big project this could speed up your workflow by thousands of hours.
    It's good that projects like this pop up in compiled langauges, because go for example have only micro frameworks, it's not ideal for anything big. Makes the whole "compiled" language thing irrelevant because there's no framework to begin with. But this could at least make things doable with a compiled langauge, I just wish something like this is available in go.

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

      I don't see the connection there.
      Not sure about ruby, but python and js don't have a native automatic restart either, both of them use some tool or library to do that.
      And those are not exclusive to dynamic languages either: go has air and wgo for example, rust has cargo-watch etc.
      And about go not having bigger frameworks like that, there is one called beego, never used it but it seems pretty complete.

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

    Rails is and has always been dog shit

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

      What’s your go to stack?

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

    Rust have performance or safety, not both.
    performance looks like
    unsafe {
    fn main()
    }
    I am sorry.

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

      while there are undoubtedly some scenarios where you'd need to use unsafe to get optimal performance, i don't think it's fair to say that Rust makes you choose between performance and safety. I think in the vast majority of cases you can have both.

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

      ​@@codetothemoon It's obviously a troll 🤣. 💓u for being responsive tho lol

  • @zahash1045
    @zahash1045 วันที่ผ่านมา +5

    Why imitate a shitty framework?

    • @vectoralphaSec
      @vectoralphaSec วันที่ผ่านมา +10

      It's better than any JS framework though.

    • @codetothemoon
      @codetothemoon  วันที่ผ่านมา +4

      Many people like it?

    • @lazyh0rse
      @lazyh0rse วันที่ผ่านมา +4

      For the record, rails have been used to build the biggest sites such as github, shopify, spotify, and airbnb.

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

      @@lazyh0rse that’s because it was the hot new thing at that time. And also much better than spring (didn’t require much configuration)
      The same thing is happening with using rust at aws, azure, android, etc.. it is the hot new thing that is much better than c++ (in memory safety at least)
      Lots of things have changed in the last 20 years. But rails is still just as slow as it was all those years ago.

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

      @@zahash1045 No it's not the same, tell me one big site that's built with go or rust? Even google have not yet replaced python with golang for youtube.
      The thing that sold people on rails is the developer experience, not how fast or better it's for the consumer.

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

    rails is fucking awful, with a terrible design, why model anything after it?

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

      despite what you or I might think, many folks love it!

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

      @@codetothemoon I'm sure they do. It's because they don't know any better.

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

      ​@@conundrum2uWhat is the better option? I am assuming you don't mean anything related to web dev?