TL;DR : Cross-platform frameworks at this point in time (to me) are either 1. Expensive, or 2. Unreliable in providing a native-feeling application. We chose to develop a Client-Server Android app and add iOS when funds become available.
I'm a college student and an opportunity came along from our vet program to make a smartphone application, I jumped at it. They had no idea about platforms but eventually wanted iOS/Android and possibly Windows. The only computers I own run Xubuntu, Windows7, Ubuntu, and Fedora at school. So iOS was obviously out of the picture at this point.
I originally researched along the lines of a cross-platform mobile framework. After looking/asking around it seems these technologies really aren't there yet, especially if you're looking at using any native functionality on the device. I read lots of developer reviews and they were generally mixed in terms of reliability and performance. Also, some are quite expensive; I recall seeing a 1-year dev license for $1000 a year per developer. Possibly worth it for a huge corporation, but just not for us at this stage in the game. It took some convincing but I steered them away from this option.
I have experience in Android so we chose to develop a native stand-alone Android prototype (they needed something simple to use to re-apply for their grant next round/present to other investors), and plan on moving it to a Client-Server architecture Android application and I'll either purchase a cheap Mac Mini and learn obj-c or hire a iOS developer once we have allocated more funding to hook it up on the same server as the Android application. This way you can use the same server back-end logic for dispatching data and have native GUI for each supported platform.
edit: grammar