| If you want to use or show off React, use it. If you want to make it simple, keep it simple. If your portfolio's content is simple enough for one page, or just a unique pages, go for just HTML! You will like it. Static HTML files (with a bit of JS) will be easy to deploy and better for SEO and performance. That said, you might quickly find you want something with more capabilities. Through my experience, you're eventually going to want some sort of template engine. Want to reuse the same "article" layout or you want a for-loop over a list of articles? Templates. Your template engine could be as simple as Pug or Handlebars templates, no client-side rendering needed yet. Compile your templates and deploy your HTML files. Pug (or other template engines) will probably carry you a long ways. The next step would be some sort of static site generator. This is basically the same as Pug, with with extra options and more structure. Hugo and Jekyll are popular, but there are a lot of options. Deploys are the same: build locally, deploy, or set it up with some hoster like Netlify or Vercel to build and deploy automatically (and for free!). The next level is something like Nuxt, Vuepress, or Next, which can generate static websites, but also give you fancy things like client-side rendering for fancy page transitions (although there is now a native way to accomplish this with just HTML and CSS!). My blog articles are written in Markdown so they are easy to port to other frameworks or themes. This is the approach that I use because I like to stay up to date with Vue...but you'll spend a lot more time "upgrading" things instead of building or writing. Just my experience. |