Sie können die Notwendigkeit von zwei Codebasen vermeiden, wenn Sie Ihre Webanwendung geräteunabhängig gestalten. Das bedeutet, dass sie auf vielen verschiedenen Bildschirmgrößen angezeigt werden kann (von kleinen Mobiltelefonen bis zu Plasmafernsehern) und mit vielen verschiedenen Eingabemethoden (Mäuse, Tastaturen, Touchscreens, Gamepads usw.) navigiert werden kann. Verschiedene Techniken, die dies ermöglichen, sind heute als "mobile first" oder "responsive design" bekannt. Für einen guten Start, siehe:
Denken Sie daran, dass dies nicht immer möglich oder sinnvoll ist, wenn Ihre Anwendung sehr kompliziert ist, und dass Sie in diesem Fall am Ende vielleicht zwei (oder mehr) Codebasen haben, aber die meisten Websites und Webanwendungen können unter Berücksichtigung dieser Grundsätze erstellt werden.
Auch in Anbetracht der Leitlinien für die Zugänglichkeit von Webinhalten kann die Gestaltung von Websites, die auf vielen Geräten und mit vielen Eingabemethoden funktionieren, erheblich vereinfachen.
Sie haben nicht ausdrücklich danach gefragt, aber Sie können zusätzlich PhoneGap um mobile Websites oder Webanwendungen in echte native mobile Anwendungen für iOS, Android, Blackberry, Windows Phone, Palm WebOS, Bada und Symbian zu konvertieren, damit Sie Ihre Anwendungen in verschiedenen App-Stores für diese Plattformen installieren können.
Update 2016
Ich habe diese Antwort im Jahr 2012 geschrieben, und seitdem wurden einige relevante Tools entwickelt: