We want to get something that we and other users can actually play with as soon as possible. This helps us catch issues with the flow of the app or things that users find confusing really early on. Prototyping with actual code is expensive and time-consuming. Fortunately, there are some tools that make prototyping really easy and fast. Here are a few.
We use POP a lot because it makes it really easy to do Paper Prototyping. You just draw some mockups on the board or on a piece of paper and then take pictures of them with POP. Then in POP you can link the mockups together so that the buttons actually take you to the other screens. This is great for getting user feedback early on because you can make it feel like they are actually using an app.
InVision is similar to POP except it is designed more for linking high fidelity mockups together. It is more powerful and more complex than POP.
Some other similar tools: Solidify, Flinto, Marvel.
Briefs, Proto.io, and AppCooker are more advanced and are great for creating more realistic prototypes with believable transitions. Use these if you really want to be able to test how the final app will work without writing a single line of code. These tools can also be helpful to describe to programmers exactly what is in your head so that they can simply replicate what they see in your prototype.