Google just added support for direct sync of calendar and contacts to the iPhone. Directions are here. It’s similar to the approach the folks at nuevasync have used in the past, using the Exchange protocol to make the iPhone thinking it’s connecting to an Exchange server. Pretty slick and of course, supported directly by Google so it makes it a lot appealing for folks to use. If you’re using it, please note your experience in the comments.