I'm in the process of migrating my companies RTE from Slate to Lexical.
I've been able to remove thousands of lines of custom code and increase the performance and reliability
369 karma · joined December 5, 2013
Website: http://jackhanford.com
I'm in the process of migrating my companies RTE from Slate to Lexical.
I've been able to remove thousands of lines of custom code and increase the performance and reliability
I got all of the responsiveness for free using CSS grid! Definitely recommend checking it out if you haven't yet
Figured something like this would be a little overwhelming https://imgur.com/nx3hISb
if you do a hard refresh this issue may be resolved! ¯\_(ツ)_/¯
The UI is a little better though ;)
As for the page reloading I agree, but this exercise was specifically to make an application with the absolute minimum amount of client side code.
HTMl5 Forms do the job pretty well! :)
The way that is achieved is pretty neat, Next.js has a <Document />[1] component that you can extend. This Document is essentially your application shell that is used when server side rendering.
Here is the trends Document component[2] where you can see I'm simply omitting `NextScripts` which ends up being the frontend bundle with react + application code
[1] https://github.com/zeit/next.js#custom-document
[2] https://github.com/hanford/trends/blob/master/pages/_documen...
The issues that really large JS bundles can cause are really hard to solve (bloated sizes, but also parse time of the bundles). There are a lot of tools to help mitigate those like code splitting, but it's really challenging once things get big.
When I wanted to achieve a 100 in my chrome performance audit, I simply couldn't include React.
I think React adds a tremendous amount of value from the ecosystem, the constant improvements and updates .. and the mindset that developers have when building out react applications. (component model, etc)
I think for any really large application with lots of client side interactions or async data / data management, my solution would become unwieldy.
But for smaller applications that maybe don't need to do as much, (in the above case we're simply registering some event listeners to submit a form) or landing pages or the like .. the above solution would work very well.
I'm simply getting this data from Github and then caching the rendered result on the cloudflare CDN layer, the rendered page data in memory in node, and additionally the GraphQL query in memory
https://chrome.google.com/webstore/detail/hn-special-an-addi...
You have to disable their hideous theme, but it adds collapsible comments and infinite scroll on the home page which is pretty neat.
And right, that is kind of a known bug. I discovered earlier today when a friend ran it.
Thank you for the feedback!
Edit: Only when the video is playing