I currently have Runkeeper (as it was free) but are there any better alternatives that will play nicely with my iPhone?

In a similar vein can anyone recommend an inexpensive heart rate monitor suitable for running and general gym work?

TIA