1
votes

Compiler Swift pour Android

Récemment, j'ai essayé de vérifier s'il existe un moyen de générer un APK à partir du code SWIFT.

Après quelques recherches, j'ai remarqué qu'il y avait pas mal de fils jusqu'à il y a quelques années, puis il est juste mort. Est-ce dû à un problème? Est-ce encore possible?

Dans mon cas, j'ai déjà un projet xcode que je souhaite migrer vers Android, mais si possible je voudrais n'avoir qu'un seul code source au lieu de 2.


3 commentaires

Même si vous le pouviez, les plates-formes sont si différentes que vous auriez besoin de réécrire complètement l'interface utilisateur, le stockage, le threading, etc. Vous pouvez tout au plus partager la logique métier entre elles, mais pour ce faire, vous devez être configuré pour séparez cela. Ce qui est peu probable à moins que vous ne l'ayez conçu dès le départ.


Google a récemment annoncé à nouveau le support multiplateforme de Kotlin, comme l'a dit Gabe Sechan, il ne s'agit que de partager la logique métier et non l'interface utilisateur, vous pouvez creuser un peu plus profondément dans cela pour trouver la resuabilité du code, mais si vous voulez garder les langages de programmation multiplateformes de code communs comme react native, flutter fais du bon travail pour toi


Ouais, il semble que la meilleure façon d'avoir un code pour les deux OS soit de réécrire l'appp dans une langue différente.


4 Réponses :


-1
votes

Pour autant que je sache, il n'y a pas de solution pour convertir Swift Code en Java pour les applications Android.

Cependant, il existe une solution à votre souhait n'ayant qu'un seul code source pour les deux plates-formes: Flutter

Découvrez Flutter

J'espère que cela vous aide!


1 commentaires

L'OP a spécifiquement demandé la création de Swift pour Android, pas pour d'autres langages de programmation. Les réponses qui mentionnent simplement d'autres langues et ne répondent pas à la question en question appartiennent à d'autres fils comme celui-ci .



-1
votes

Vous ne pouvez pas convertir le code SWIFT en code java. Il existe des langages et des frameworks qui permettent d'écrire pour Android ou IOS en utilisant le même langage. Ces plates-formes sont entièrement natives, à moitié natives (hybrides) ou basées sur le Web.

Si nous parlons de swift - son natif pour iOS, vous ne pouvez donc pas générer Android à partir de celui-ci.

À l'avenir, vous pouvez utiliser Flutter ou React Native ou Kotlin avec des plugins pour écrire pour les deux plates-formes.

Malheureusement, vous devrez le réécrire pour Android.


3 commentaires

Salut Andrei, je ne cherchais pas vraiment à convertir Swift en Java, je voulais en fait savoir s'il existe un moyen de compiler un apk à partir de Swift. Mon premier instinct serait d'aller réagir natif, ios ou xamarin. Malheureusement, j'ai "hérité" du code swift (rien contre le langage). donc au lieu de réécrire, j'essaye de savoir si je peux le réutiliser.


Malheureusement, je n'ai jamais entendu parler de convertisseurs ou de compilateurs comme celui-là. J'ai entendu parler de visa-versa, android-ios, mais je n'ai jamais testé cela. MechDome, si vous êtes intéressé à vérifier.


L'OP a spécifiquement demandé la création de Swift pour Android, pas pour d'autres langages de programmation. Les réponses qui mentionnent simplement d'autres langues et ne répondent pas à la question en question appartiennent à d'autres fils comme celui-ci .



-1
votes

Il existe un support pour passer de Kotlin à iOS. Kotlin est similaire à Swift en termes de syntaxe et de fonctionnalités d'après ce que je comprends. Vous pouvez donc l'utiliser pour votre code d'interface utilisateur commun (non spécifique à la plate-forme).

https://kotlinlang.org/docs/reference/multiplatform.html


1 commentaires

L'OP a spécifiquement demandé la création de Swift pour Android, pas pour d'autres langages de programmation. Les réponses qui mentionnent simplement d'autres langues et ne répondent pas à la question en question appartiennent à d'autres fils comme celui-ci .



0
votes

Alors que la compilation du code Swift pour Android et même la création d' un .apk fichier est encore loin d'être facile, il est techniquement possible . De la façon dont vous posez cette question cependant, je m'attends à ce que vous soyez davantage sur «l'espace utilisateur» des langages de programmation plutôt que de connaître suffisamment de détails du compilateur pour le faire fonctionner dans un délai raisonnable et le maintenir avec tous les changements rapides. événement.

Donc, la réponse la plus réaliste pour vous est probablement que ce n'est actuellement pas possible .

Mais beaucoup de travail est actuellement en cours dans la communauté Swift pour faire avancer le support de plus de plates-formes de plusieurs manières, à la fois pour rendre la création de Swift très facile sur plus de plates-formes et aussi pour fournir des cadres pour créer des interfaces utilisateur et s'intégrer correctement au système (comme Swift n'est qu'un langage de programmation et une application ne se limite pas à une simple logique de programmation).

Voici quelques liens pour en savoir plus:

  1. "Premiers pas avec Swift sur Android" à partir du référentiel Swift GitHub
  2. Articles de blog de Realm (2017) et Readdle (2018) expliquant ce qui est nécessaire pour les applications Android
  3. Sujets les plus consultés pour le tag Android sur les forums officiels Swift
  4. Message "En route vers Swift 6" , expliquant comment Swift va se développer dans un proche avenir
  5. Un port communautaire d'UIKit pour Android (travail en cours)
  6. Ports de SwiftUI ( OpenSwiftUI , Tokamak ) qui ne prennent pas encore en charge Android, mais pourraient le faire plus tard

J'espère que cela donne un bon aperçu de l'état actuel de Swift pour Android.


0 commentaires