One of my newly discovered but favorite technology being used in our project is Remix, which is a full-stack framework built upon React that aims to reduce the amount of loading on the client side via server-side rendering, which it then serves to the client instead of trying to process it on the client side. In addition it comes with a huge suite of useful features ranging from nested routes to error handling and error boundaries to the use of loaders to populate the page upon being served. Given that the technology promises a much faster user experience, with most of the processing being done on the server side with the user only receiving the finished product, in addition to robust measures taken to ensure that the page is served, whether its allowing the page to have certain components fail but still allow the page to function normally, makes it heavily robust and dependable. With that being said, no software or technology doesn’t come with its own demerits or downsides. [1][2]
As good as Remix promises to be, at its heart it tries to confirm to HTML forms while being enhanced with the additional functionality of Javascript. As a result it primarily relies on GET and POST calls rather than the REST API calls such as PUT, PATCH, & DELETE, which might put some people off as this is not conventional. Furthermore, unless the application is mission critical, having nested routes and individual components that fail can detract from the user experience as well, if the component that fails is the main thing the user cares about, then its better to reload the page instead of trying to maintain the page with missing information. Furthermore, as the technology tries to have all the information prepared when the page is served, it will make far more api requests than other technologies at the time the page is fully served, thus possibly leading to throttling of performance from the server-side, either from rate limiting or putting additional burden on the server to process the information. [1][2]
In terms of what can possibly be fixed or changed, possibly incorporating a blend of both server-side and client-side rendering features could work to alleviate additional burden with server-side rendering. In addition if there could be a feature that could trigger the reloading of page rather than trying to have hot reloading of individual components, that would greatly help with more dynamic elements, as it cannot currently . Furthermore, specifying if multiple components can be reloaded in tandem if one component is altered can also help with additional testing if there are multiple components that are interdependent on each other.
Sources(s):
[1] Quintanihla, Rafael. “What Is React Remix? And Should It Be Your next Framework?” ButterCMS, ButterCMS, 3 Oct. 2023, buttercms.com/blog/what-is-react-remix/.
[2] N.A. “What Is React Remix? Is It Your Ideal Framework Choice?” LinkedIn, BlueBash, 26 Dec. 2023, www.linkedin.com/pulse/what-react-remix-your-ideal-framework-choice-bluebashco-azy6c/#:~:text=Criticism%20of%20React%20Remix%3A,suitability%20involves%20considering%20these%20aspects.
Leave a Reply