Nie ma najlepszego wyboru, są różne frameworki, a każdy z frameworków inaczej działa i służy do czegoś innego. Jakby nie patrzeć, to Android i iOS też mają swoje "frameworki" ale nie są multiplatformowe.
Wybierz taki framework, w którym najbardziej będzie Ci odpowiadał stack technologiczny, który znasz/lubisz i spełnia wymagania co do Twojego projektu. Może to być PhoneGap/Cordova + Ionic, NativeScript, Xamarin są tymi popularniejszymi.
Pamiętaj, że jak wybierzesz stack PhoneGap/Cordova/Ionic/NativeScript, to żeby zrobić coś bardziej rozbudowanego, to musisz i tak znać budowę obu platform, a nawet pisać pod nie rozszerzenia w Java i Objective-C.
PS. To, że wybierzesz stack PhoneGap/Cordova/Ionic/NativeScript nie znaczy wcale, że będzie łatwiej. Jak znasz JS, czy TS byle jak, to efekt będzie taki sam jakbyś miał usiąść do Xamarina czy pisał od razu na Androida w Javie czy iOSa w Objective-C.
Edit: NativeScript działa trochę inaczej, on binduje API Androida i iOSa do JavaScriptu, ale i tak żeby napisać rozszerzenie, trzeba je pisać też pod daną platformę, tyle, że w JS/TSie.