Code Monkey home page Code Monkey logo

Comments (8)

samuelstroschein avatar samuelstroschein commented on August 12, 2024

Gut feeling tells me to go with React 19.

  • finally support for web components
  • ecosystem (state management, routing, etc)
  • at no risk of going unmaintained like Solid and Vike

@niklas.buchfink what choice would you make?

Web Components vs. React: Making the Switch

from inlang-fink.

samuelstroschein avatar samuelstroschein commented on August 12, 2024

has potential impact on our websites too. ideally we have on tech stack choice cc @nils.jacobsen.

PS web components for individual components = great but the lack of app support = bad

from inlang-fink.

NilsJacobsen avatar NilsJacobsen commented on August 12, 2024

Wasn't there a concern about rendering with react. We choose solid because it performs better with the big lists?

from inlang-fink.

NilsJacobsen avatar NilsJacobsen commented on August 12, 2024

Can we already use react 19? It's still in experimental right? Do we know when it gets GA?

from inlang-fink.

samuelstroschein avatar samuelstroschein commented on August 12, 2024

@nils.jacobsen yeah but react is getting a compiler now too. aka it will be fast enough. react 19 is in RC, we can start using it IMO

from inlang-fink.

NilsJacobsen avatar NilsJacobsen commented on August 12, 2024

I discussed with Niklas, I think React might be beneficial. Especially the community aspect. While building the website I saw how many little things you need for just deploying a little html website.

from inlang-fink.

NiklasBuchfink avatar NiklasBuchfink commented on August 12, 2024

Ok, after some research and syncing with @nils.jacobsen, there might be workarounds for some of the issues, but everything takes more time and effort.
The idea of to use Lit was to ease maintenance. If we build workarounds and write much more code with Lit we miss our goal.

React 19 still has some suspense issues that result in long loading times (React 19 and Suspense - A Drama in 3 Acts | TkDodo's blog). If things get to slow, we can thing of adding something like https://million.dev/. Furthermore, we should decide for one state management solution as there are many in the React ecosystem. Keep in mind, the initial load can get big with all the libs and Fink will be our demo app on the phone.

from inlang-fink.

samuelstroschein avatar samuelstroschein commented on August 12, 2024

Decision
https://www.loom.com/share/471045efba654d068f5db8aff4333643

  1. Use react for apps and website
  2. Use react router for routing
  3. Use lit for components that should be shared across apps

Why

  • Lit is not ready for SPA apps. State management is missing and lack of global styles a bummer.
  • React 19 (in RC since 2 months) has full support for web components and performance is not a concern anymore with the new inlang sdk v2. we can filter, paginate, etc on the query level
  • React router will get all things from Vike like code-splitting, ssr, static prerendering with v7 via a vite plugin (like VIke) but is vetted and financed by Shopify

from inlang-fink.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.