Here's a welcome surprise for you: Google has now created Google Sync for iPhone so that you can sync up your Google Contacts and Google Calendar. They are doing it by making their data look like an Exchange server -- meaning that if you're not already using Exchange on your iPhone for work, you can point it at Google's servers (see full instructions here) to get your contacts and calendars pushed out to you. Nice? Nice.
Of course, if you're already using Exchange for work but still want to get your Google data on your iPhone, you'd going to need to get a solution to sync your Google data down to your desktop and then get it from your desktop to your iPhone either via USB tether or via MobileMe. You can learn more about how the two work together in Rene's excellent article on that very subject.
Now, Google, just get Gmail to look like Exchange and we'll be happy campers. Actually, you know what, just fix IMAP, that'll be enough.
Quick Update: As I just noted over at WMExperts, Google licensed Exchange Active Sync (EAS) from Microsoft, which is a shot at RIM but also, maybe, a shot at Apple. Rene just pointed out to me that given all of Google's recent moves with the CalDAV/iCal system, they might have kept on pushing to make the stuff that Mac uses the industry standard. Instead, Google and Microsoft are suddenly working together on using EAS.