Are you planning to create an app or use some messenger to talk to the device. Say for example you can use xmpp to pass messages to your device and give triggers.
You can use light weight protocols like MQTT with Mosqitto broker to accomplish the process of talking to raspberry pi.
However if you are are looking to create an app and then talk to your Raspberry pi. I would suggest to create a ReSTful service and the then create a mobile app and talk to the service.
If you are on starting phase I will suggest the following steps for prototype. This is my experience.
Create a RestFul service and tie that to a reverse proxy like nginx. I am python developer so I did it using Python - Pyramid framework. Flask is also a very good option.
Use MQTT or XMPP. When I did a prototype I used Yowsup (Whatsapp messenger for Pi) to talk to the Pi from external world and by messaging to the whatsapp number tied to Rasperry Pi I triggered the RestFul service.
You can port it to your custom app once the prototype works as expected.
The best app to try would be a Temperature/Humidity sensor or a process monitor app in Raspberry pi.
Hope you got it.