How can I expose data from my Drupal site via web services to external applications such as iPhone or Android?
One of the most popular solutions is the Services module. It takes a little bit of set-up and know-how but it's very flexible in what it can output and what formats you need it. It's the solution we used at Palantir.net to provide data to our DrupalCon Chicago Android and iOS apps.
For Drupal 8, it's best to use core REST API module. Here is a Drupal 8 Android app https://github.com/onedrupal/One-Drupal-Android that uses core REST APIs.