Yes compiling JSX to JS is a necessary step, because browsers can’t understand JSX natively.
For deployment I was using Heroku because it has Github integration, so in a couple clicks you can set it up so that whenever you commit on a branch on GitHub, it deploys to Heroku. This is faster than FTP, also its automatic and takes less than 10 minutes to setup, you have no servers to manage, and you have all the history of modifications stored in Github in case you want to rollback.
However Heroku was getting expensive, and does not support http2, so I set up a Github hook to do the same thing but deploying on a dedicated server instead of Heroku. This was bit harder, took me about 2 hours to do it, but now I can use it on any project, and it is much cheaper than Heroku. I think I’ll include it in the react-without-webpack repository.
