Une application bon marché et peu performante ? Le framework de développement multiplateforme qui lui convient le mieux. (Il suffit d'en choisir un qui a l'air sympa, ou qui a de bonnes critiques, ou que vous aimez, pour obtenir un framework capable de développer l'app que vous ant à développer.)
Une bonne app, correctement développée ? Vous ne le faites pas de cette façon. Vous développez l'app en anglais de toute façon, donc vous commencez avec ça. (Le développement de logiciels, ce n'est pas taper du code dans un ordinateur, c'est réfléchir à la façon de résoudre le problème que votre appli va résoudre). Ensuite, vous la codez pour qu'elle fonctionne dans l'environnement dans lequel elle sera utilisée. L'API, ses arguments et son retour font autant partie de l'environnement que le langage de programmation.
Tout ce dont vous avez besoin pour qu'une appli tombe à plat, c'est que le framework que vous avez choisi n'ait pas de moyen d'exécuter une fonction particulière dans un environnement ou l'autre - alors c'est le retour à la planche à dessin pour redévelopper l'appli (ce qui est beaucoup plus difficile que de la développer en premier lieu).
Exemple simple - J'ai conçu un programme pour faire office de front-end (un système d'exploitation primitif avant qu'il y ait des systèmes d'exploitation) sur un 8080, en utilisant une instruction "compare". J'ai ensuite dû le faire fonctionner sur un 8049. Il n'y a pas d'instruction de comparaison dans un 8049. (Il m'a fallu quelques minutes pour trouver comment contourner cela - parce que je comprenais le fonctionnement du 8049 et parce que, à ce moment-là, j'avais environ 12 ans d'expérience en développement.)
Un autre exemple simple. Nous avions un programme qui fonctionnait sur le PC IBM (à l'époque, en 1985, il y avait d'autres PC) qui dépendait du fait que l'entrée série était pilotée par des interruptions, de sorte que nous pouvions écrire un TSR (un petit morceau de code qui restait résident en RAM) pour capturer l'entrée du port série et la maintenir jusqu'à ce que nous soyons prêts à la lire. (C'était un port à un octet - lorsque l'octet suivant entrait, l'octet précédent était effacé). Un client voulait acheter le programme (qui était assez cher, et utilisé pour une pièce d'équipement beaucoup plus chère) sur son Apple ][, puisqu'il ne voulait pas dépenser l'argent pour un PC. (Il achète un équipement d'une valeur de 30 000 $, mais ne voulait pas dépenser les 1 200 $ pour un PC, ou 800 $ pour d'autres ordinateurs de bureau qui auraient pu fonctionner). J'ai donc dû faire fonctionner le programme sur un Apple ][ - qui n'utilisait pas de port série commandé par interruption et n'avait aucun moyen de gérer un TSR. Mais Applesoft (BASIC à virgule flottante d'Apple) avait une instruction Varptr, donc je pouvais définir une chaîne avec les instructions de code machine pour saisir l'entrée série comme elle venait, et l'ajouter à une autre chaîne - et obtenir l'adresse de cette première chaîne, afin que je puisse la Poke dans la RAM - et cela fonctionnerait comme une partie du programme BASIC.
Mais c'est ce que vous obtenez avec un programme "taille unique". Ce n'est pas le cas, vous devez redévelopper le programme. Donc autant le faire dès le début parce que vous n'avez aucune idée de ce que fait votre app dans le code du framework à moins de passer des mois à apprendre chaque octet du framework. Et votre travail consiste à écrire une application, pas à apprendre un framework, alors pourquoi ajouter à votre travail ?
Apprendre Java/Kotlin, apprendre Swift, développer votre application (en vous assurant que vous avez un iPhone de modèle récent fonctionnant au moins sous iOS 12, et un téléphone Android de modèle récent fonctionnant au moins sous Pie - afin de vous assurer que le téléphone peut faire ce que vous voulez - tous les téléphones n'ont pas, par exemple, des IR Blasters), le coder en Java/Kotlin pour Android, puis le coder en Swift pour les iPhones.
Développer l'application est le gros travail, coder est quelques jours (une fois que vous avez appris la programmation, et une fois que vous êtes familier avec les deux langages).
Oh - si vous n'avez pas encore appris la programmation - quelque chose comme Algorithmes+Structures de données=Programmes de Wirth - vous n'êtes pas prêt à développer une application. Le développement d'une application - à moins que vous ne vouliez développer la 138e version de la même application qui existe depuis 5 ans - ne consiste pas à coder ni à faire glisser des composants sur des formulaires. C'est l'apprentissage d'une toute petite partie du développement de programmes. Apprenez d'abord la programmation - vous serez un bien meilleur développeur, et une personne bien plus heureuse.
Et si vous devez utiliser une base de données, apprenez SQL, puisque la base de données sera une base de données SQL.