There are a few solutions out there for creating apps (native) that are one codebase; multi platform.
HTML 5 and using services like phonegap
Adobe AIR / Flash (which supports publishing to iOS, Android, BB Playbook, HTML5, Desktop Applications and more recently to newer devices like smart TV's; though so does HTML 5)
Appcelerator; which is a multiplatform SDK
What you use depends on the project requirements and also where you feel most comfortable etc.