For contacts, I expect the iOS contacts app will suffice.
For Maps, while Apple Maps is fine, Google Maps has more data and is what I have decided to use, but you can try Apple Maps for a while and see if it suits you. It does have Siri integration which is a big plus for me. However, I ride my bike for daily transit, and that is one thing Apple Maps does not support.
Safari is a good browser, but if you use Chrome on Windows or Linux I'd recommend sticking with Chrome. There is a plugin available, which is what I currently use, but that is up to you.
Google photos is available for iOS, so I'd stick with that, as for calendar: The IOS calendar app can be synced with your Google account so I'd stick with that as well.
And for gmail itself: I used the iOS mail app for a long time, which is basic but works well, but it really depends what features you want. I currently use Inbox for Gmail, which is a somewhat alternative client.
Hope this helped!
To sync contacts with your Android phone, you need to make sure that you're adding the contacts to your Gmail account on your iPhone rather than to your iCloud account.
- Turn on Contacts syncing with your Gmail account by going to Settings -> Mail, Contacts and Calendars -> your Gmail account -> turn on Contacts.
- Turn off Contacts syncing with any other account there.
- Turn off iCloud contacts syncing by going to Settings -> iCloud -> turn off Contacts.
Now, when you add contacts on your iPhone, they should automatically sync with your Nexus 5X over Google's servers.
Note: If you lose any contacts you added previously on your iPhone, have no fear, they're still accessible at icloud.com and you can export them as a vCard and open up that file on your iPhone to sync them with your phones as well.
Best Answer
Generally speaking, yes.
I imagine there is a minimum OS version on both Android and iOS but there is an officially supported (by Apple) method which they detail here. There is also an app "Move to iOS", that goes on the Android phone available in Google Play.