If you ever want to be able to see your website on the internet and use your own top level domain (i.e. yourdomain.com) you're going to want to have an external webhost.
But, before that I highly recommend setting up and using MAMP/MAMP Pro for a local development environment because you can develop much faster, not having to upload files that have changed and refreshing your remote website before seeing your changes.
Once you are done with development, you simply need to FTP all files and migrate the database. You can migrate the database much easier with a tool like Migrate DB (http://wordpress.org/extend/plugins/wp-migrate-db/).
Here is a guide that should help you with deployment: http://www.codemyownroad.com/13-steps-to-deploy-wordpress-from-your-localhost-to-a-live-web-server/
Good luck and happy developing!