you get as many answers as developers.
TLDR answer is: do whatever works best for you.
Long Answer: You should plan ahead what the app will do. Then plan what endpoints you might need. You'll need endpoints for content, for user interface, for exchange information. Either you plan to every last detail or just get a broad idea. But it's always a good idea to cover the majority of the functions and lay them by as groups. Put it in writing. Sometimes you realize you forgot something that would really impact down the line (it happens a lot).
Then do what feels right. I prefer to build them in parallel. That way you can see the app growing and take shape instead of writing a shedload of code without seeing it in real action. Some devs prefer to code in separate so they don't need to have two languages in the head and hop from one to the other all the time.
If you are going with the frontend first approach, be sure to have at least some mock code to provide you with live responses from the server. It get's really messy, really fast not having data.
At the end of the day is really up to you, what you feel right doing. If you're in a team, you have to decide with the approach that is more comfortable to everyone. On a team, some devs will work only on the UI and other only on the API blind code. But there's no real right answer to that one mate