Up until now, I've been building my WordPress sites by transferring files through FTP. This can sometimes get really slow (time it takes to upload the file, Firebug slows to a crawl, etc.) and I was wondering how all the pros do it. I heard about installing something locally on your computer and building everything there? I'm new to this whole concept of building a site locally and would appreciate some guidance—mostly to speed up my development time. Thanks in advance.
Local web server is a must, it's pretty much generic web server stack (Apache, MySQL, PHP plus other bits) only running on your local computer.
Deployment depends on how you manage your code:
- just resides on your computer - you will need to sync it to remote server in some way (FTP, SFTP, etc), any decent software for such is smart enough to transfer changed files only;
- resides in version control - you commit local code to repository, then you can either pull to remote site from that repository (or simply make commits and uploads independently).
See Software for WordPress Theme and Plugin Development? for specific software titles.