[–] 1 point 1 year ago

Sorry, if it sounded like you should do the work yourself. What I meant is that I'd advise you to not think too much about your first choice and instead pick up any framework just to get started. Just one of the most popular ones as a starting point. Eventually you'll understand what you like and dislike about that framework and you'll have a better practical understanding of your own requirements for a front-end framework. The differences are too specific to study and examine them on paper.

  • source
  • parent
  • context
  • [–] 3 points 1 year ago

    I don't know what you're looking for, and what your "not super simple" is, but baseline browser tech provides various controls, layout mechanisms, styling, interactivity, etc.

    Do you have a concrete idea of what and where specifically you hope for gains by using frameworks? Do you plan to hold a lot of state on the client that needs state separated from the DOM and its mechanisms? Do you want a standard library of styled components instead of using the native ones or styling them yourself? Do you want more robust JavaScript? Those are all very different concerns and requirements.

    I like the low complexity, low barrier, low requirements of baseline web tech. The native html form controls may arguably look "ugly", but those can be styled, individually or through a style-only CSS lib.

  • source
  • parent
  • context
  • [–] 2 points 1 year ago

    Well, it's only my current project that uses Leptos. I didn't mean for it to sound like the whole shop does.

    But yeah, to be allowed to do that in our project, us coders put in the legwork and assumed responsibility for that decision. Like, we started into this project with three seniors, all of us with a backend focus, but two of us had built a Leptos UI in our freetime, while none of us felt confident in being able to put out a JS frontend.

    To some degree, yeah, it is cool that management does allow us to take responsibility for technical decisions. But well, it's not like they had frontend devs layin' about that they could've swapped into the project, so when we told them we can make it work with Leptos, they were like, sure, make it work.

    I also have to say that the project is not yet technically in production. It should be by the end of the year. But yeah, the UI was pretty much done two years ago.
    We only had one really gnarly Leptos upgrade at the start of this year, where they made lots of breaking changes and it took three consecutive days to get our UI to compile again.
    But hopefully Leptos won't need larger breaking changes for a while and, aside from two logic bugs we introduced during the upgrade, it did work flawlessly once it compiled, so in some ways that did increase my confidence in it. Like, if it was JS or TS, we would've just not done a similarly large upgrade.

  • source
  • parent
  • context
  • [–] 1 point 1 year ago

    As someone self taught in both (okay some schooling but I don't use much beyond some of the principles/design I learned), even learning frameworks you need to understand HTML, CSS and JavaScript. Okay maybe less JavaScript with something but I don't know them.

    I picked Angular for something, maybe not the best, uses typescript which I like. But in the end it's just to hold variables. After awhile I could easily write something to dynamically create a form in the way I wanted. There are other things I use but if I really wanted I could probably do it all my own in JavaScript anyways.

    That's why you learn them, without HTML you don't know not to put things on a screen, without css you can't organize or style it, without JavaScript you have no interaction. Learn them and you'll figure it out.

  • source
  • [–] 1 point 1 year ago

    if you want fast web pages there's nothing faster than pure CSS and HTML. those are both running native machine code in the Web browser directly.

    JavaScript (with or without frameworks) gets slower the more things you do with it as it only works in a single event loop. this means one function you wrote that takes a long time blocks everything else from finishing until it completes, even the browser rendering and interactions. that's why really bloated pages feel like they're lagging and you can't click buttons or scroll.

    imo do as much in CSS and HTML and use native web components for reusable components that you can drop anywhere in your HTML. if you want it to feel like an application, since you have backend experience you could use web assembly but treat this as a single application, it's not really meant to replace html/JavaScript

  • source
  • parent
  • context
  • [–] 1 point 1 year ago

    I've heard that the original Vue was like Svelte, but I've heard that later Vue versions drastically switched to something like the React model. I've never used Vue though, so don't listen to me about that. Really anything going in the React direction is bad in my mind.

  • source
  • parent
  • context
  • [–] 2 points 1 year ago (1 child)

    Are you building something for fun, or something meant to last? If you want it to last, I'd be looking at old frameworks - obviously React, and Vue has also been around a long time. Angular is also old, but Google maintains it, so they could kill it at any moment (and personally I hated it when I had to use it).

    I've never used Svelte, and don't know much about it. From a quick look online, primarily what it does differently than other frameworks is use a compiler. I'd be a little concerned here, because what it compiles to is JS, as that's what runs in your browser. This can make debugging more challenging, because when you pull up the debugger in the browser, it's not your code, it's the compiled code. They may have solved this problem, they may have browser extensions and IDE plugins to help with this, but find out before you start. If you can't use a debugger, use a different framework.

  • source
  • parent
  • context
  • [–] 3 points 1 year ago

    What’s your goal?

    I think building something with what you know should be a good start. Then look into the different frameworks and determine which is the best for your use case to convert it. Definitely overkill.

    All that to say, just jump in and pick one.

  • source
  • parent
  • context
  • [–] 3 points 1 year ago

    Yeah, I'd say that's true. I think the alternatives may be just as good, but React was the first mover in its category, gained and maintained popularity for years, is battle-tested, and the improvements they've made over the years has kept it fresh.

    My understanding is that one of the benefits of Svelte, for example, is that it eliminates the virtual DOM abstraction that React uses, so if you cared enough to shave milliseconds off your frontend rendering time for a complex site, then you may want to look into Svelte, but the reality is that React is already very good.

    In reality, your choice of framework is usually already dictated by whatever project you're contributing to, and for most fairly modern projects that ends up being React, and sometimes Vue or Angular. Beyond that, I personally just try these new libraries occasionally, build a toy project to see if they solve some pain point that I have, and determine if that is good enough for me to switch or recommend.

  • source
  • parent
  • context
  • [–] [S] 2 points 1 year ago (1 child)

    I've considered it yea, but again, I just feel the ecosystem isn't there yet. It really saddens me, cause WebAssembly is such a cool idea, but the dominance of JavaScript/TypeScript on the web is just too much. The amount of developers and tools and libraries for JS/TS on the web is just immense compared to what you have with Rust, and I don't really feel like reinventing the wheel.

  • source
  • parent
  • context
  • [–] [S] 1 point 1 year ago (1 child)

    We use Leptos at work

    Wow that's bold! Sounds like a cool place to work. Is your workplace by any chance looking for new Rust developers? 😆

    How did you come to that decision? From a sort of business standpoint, it seems very risky to adopt technology such as Leptos in a production setting. Or perhaps you only use it for smaller things internally or something?

  • source
  • parent
  • context
  • [–] [S] 3 points 1 year ago (1 child)

    I am literally asking for help for that exact thing in this thread. I come here asking "What frameworks should I learn?" and your response is "just pick something yourself"? I mean why are you even writing this comment, this is the most irrelevant and useless response to my question I can imagine.

  • source
  • parent
  • context
  • view more: ‹ prev next ›