Essentially, prototypes are dynamic (i.e. include interactivity) whereas wireframes and mockups are not. A wireframe is the most basic of the three. It is essentially a sketched-out idea of your application. You can use a variety of tools to build your wireframe, from good ol' fashioned pencil and paper to something like Figma. A mockup is in the middle of wireframe and prototype. It is more higher-fidelity than wireframes, but does not include the functionality of a prototype. An example of a mockup might be Photoshop documents portraying the look or user flow of a web application. Finally, a prototype is the most advanced of the three. It includes functionality, if only basic, as well as a working interface. An example of a prototype in software is a website available locally for the client to test. The client may suggest only minor changes (colors, shapes) or major additions or edits to the functionality and interface.