Quel est le meilleur moyen de développer des applications pour iOS et Android ?


Xamarin est une très bonne option. Il est compilé AOT sur iOS et s'exécute dans le runtime Mono sur Android, donc il ne devrait pas être sensiblement plus lent, et il utilise des API natives, donc il ne devrait pas y avoir de problèmes de look and feel ; Les seuls problèmes auraient soit à faire avec des bibliothèques tierces et à obtenir le soutien d'autres programmeurs. Je ne recommanderais pas d'autres frameworks, bien que je n'aie aucune expérience avec eux ; Ils ont tendance à partager la même interface utilisateur sur chaque plate-forme, ce qui conduit à une mauvaise interface utilisateur car chacune des plates-formes a une expérience unique. Vous pourriez regarder React Native, qui utilise apparemment des widgets natifs, mais je pense qu'il est beaucoup plus limité que Xamarin et que javascript n'est pas le meilleur pour les performances, ce qui est très important sur mobile.


Maintenant, il convient de noter que vous devrez toujours créer des interfaces utilisateur distinctes pour chaque plate-forme, à moins que vous n'utilisiez quelque chose comme Xamarin.Forms (ce qui causerait le problème de la "même interface utilisateur"), donc le principal avantage est que vous pouvez partager la section sous le capot de l'application, comme la logique métier et l'accès aux API. En tant que tel, Xamarin est plus utile lorsque vous faites quelque chose de complexe, ou du moins de verbeux, dans cette section. Xamarin serait une évidence si l'app contrôlait des fusées, où il y a beaucoup de communication bidirectionnelle complexe sur le réseau qui doit se produire aussi rapidement que possible, mais il serait quelque peu inutile si l'app était une façon fantaisiste de visualiser votre catalogue de photos, où essentiellement rien ne pourrait être partagé.