I think electron is great, don't get me wrong, but it's also bloated, slow, and you don't get a full native experience. You can do more with React Native because it is completely native, plus it's faster. You can also create desktop apps with it using react-native-macos, react-native-windows, or react-native-web and PWA or electron. You can even use native modules and components, which electron does not support.
I'm creating a website with React in my free time, and this is my first time doing this. So far, I've worked with React and React Router, but migrating to Next.js or Gatsby would cover Routing and SEO, which I currently cannot work with. Most things I read say that Next.js is the best solution, but I am trying to decide whether it is worth the time and effort to recreate the site for SEO and speed purposes. Does anyone have suggestions?
Routing in Next is trivial. NextJS allows 3 modes of use: static, generated on the server side or on the client side (SPA). For the first two just overwrite two methods to generate the pages on the server side (static generation) or generate them on the fly (SSR). If I want to add some logic that also works on the client side, the static page or generated on the server side is re-hydrated on the client side (the SPA part is added by latching onto the static part through meta-data transparent to the client. If Javascript is turned off the first two work without problems, to the advantage of indexing. In the case of static pages the speed is practically instantaneous. I highly recommend NextJS on Vercel.
Seems that it is more of a personal or business decision that you need to make. If SEO is important to the project then your SPA react site might not meet the project's needs. Using Next or Gatsby will probably give the GoogleBot more to index than create-react-app.
I choose to use Gatsby to make my personal site as a new developer back in 2019. But since then most of my projects have used Next because of my interest in making apps and APIs.
If I were you, I'd dive into the issues around SEO and React and figure out what the GoogleBot needs. From some quick reading it seems possible to get some SEO coverage without using Next. And it's a good way to prep for using Next in your project.
https://www.bacancytechnology.com/blog/react-seo-for-web-applications https://www.shareitsolutions.com/blog/seo-problems-react
Thanks for sharing such informative blog. It really helped me a lot to learn new things about Oracledbr. Keep on sharing informative and useful stuffs. Great blog!
My personal opinion: Next.js. It's so easy to use if you already know React. Its backend abilities are awesome, with better support for SSR (server-side rendering) than any cross-language framework combo could do. It's fast, reliable, and can tightly integrate with any backend you could want. If you're also really set on .NET, you could create a .NET backend and use Next.js to make the API calls and server-side render the results for better SEO. I've used it multiple times, and it has never disappointed. However, as a disclaimer, I've never used .NET, but I love React.
You can do just about anything with JS, so stick with that for now. with JS, you can create everything that you can with HTML, and style like CSS, and still be able to do more.
Thank you for the advice, I really appreciate it. I will do that.
Visual Studio Code is, in general, a better editor. Not only that, but support will soon end for Brackets, and they have recommended that all of their users switch to VSCode. VSCode also has many extensions that could help with any things that you may feel lacking, or you could open an issue if you feel that it is a bug. I have used VSCode for years and it has not let me down.
It really depends on how you want to do it. If you use Socket.IO, you do have to have your own server running somewhere else, a good free one is Heroku. Pusher is nice if you know what you are trying to do, know your limits, and how to do it. While Socket.IO allows more flexibility if you need to do something crazy, Pusher is great if you're just doing standard real-time data transfer because there is minimal setup. The only other thing about Pusher is that it is not entirely free, so if you know the pricing, know how much you are going to use, and are willing, you could easily use Pusher.