Depending on what you wish to do, you might make use of technologies like PhoneGap or Titanium Appcelerator to write a single program that works on both iOS or Android.
As RubberMan pointed out, these two platforms have applications that are built using a different technology stack, but for high-performance applications like games, you'll probably end up using C++.
For more generic applications (think most productivity apps, foto sharing apps etc.) you might wish to invest the time and effort to build native applications if you use a lot of device services and need lots of performance. If you have something that just displays some information or is a data capturing program, you can get by with a hybrid application.
If you would like to develop for cross platfrom, I would recommend visualwebgui for cross platform development and for native-like development. Yo ucan take a look and see if it meets your requirements for creating a messaging application. To answer your concern, you will not need a Mac for this as it is HTML5 and not specifically for iOS and Android. This is a good alternative as you do not need to learn a specific skillset or focus on a specific platform. Rather, it allows you to build HTML5 business apps with native quality user experience in C# using a visual designer. If you're interested you can read more at http://www.gizmox.com/products/visual-web-gui/
by happygeek: Spam (infraction reversed - but please note that you cannot just reply to everything with the same cut and paste product promoting message)