2016-08-15 2 views
0

Je commence le développement d'une nouvelle application, sans base de code existante à réutiliser. Je suis très à l'aise avec Objective-C, mais je voulais construire l'application dans Swift, étant donné que c'est l'avenir. Mais avant cela, j'ai quelques questions:Quels sont les avantages et les inconvénients de l'utilisation de Swift pour une application Mac?

Est-ce que le Mac App Store accepte les applications écrites en Swift?

Swift 3 n'est pas compatible avec les binaires, cela signifie-t-il que la prochaine version de macOS pourrait casser mon application? Pourrais-je me retrouver avec une situation où je devrai maintenir deux binaires pour différentes versions de macOS?

Tous les outils de débogage Xcode disponibles pour Objective-C sont-ils également disponibles pour Swift?

Y a-t-il d'autres facteurs pertinents pour cette décision?

+0

Cela n'a aucun sens de prétendre que cette question est basée sur l'opinion. Les quatre questions que j'ai posées dans la question ont toutes des réponses objectives. –

+0

La raison pour laquelle votre question a été mise en attente est due à la question générale. Vous devriez demander/rechercher ces questions séparément. Demander des avantages/inconvénients est principalement basé sur l'opinion. – penatheboss

+0

C'est bien si vous considérez les avantages et les inconvénients basés sur l'opinion, mais ils ne le sont pas. Lequel des facteurs que vous considérez important est basé sur l'opinion, mais pas les facteurs eux-mêmes. Par exemple, la réponse acceptée indique que le refactoring dans Xcode ne fonctionne que pour l'objectif C. C'est un fait, pas une opinion. –

Répondre

1

Je ne vois aucune restriction concernant les applications Swift. Ils sont acceptés dans le Mac App Store et quelle que soit la version de Swift utilisée, ils seront compatibles avec les versions récentes et futures de macOS. Et les outils de débogage fonctionnent également pour Swift.

Cela dit, il y a des avantages et des inconvénients:

Avantages:

  • langue moderne, supérieurs à Objective-C
  • de plein engagement par Apple
  • peut facilement être mélangé à l'objectif -C (par exemple avec des bibliothèques tierces)

Inconvénients:

  • Plus grande application que toutes les applications doivent être regroupées avec les bibliothèques Swift Runtime.
  • Il n'est pas encore possible de créer des bibliothèques binaires dans Swift. Ils doivent être distribués dans le code source.
  • Le refactoring en XCode ne fonctionne que pour Objective-C.
  • La langue est toujours en évolution. Même si XCode contribue à la mise à niveau si le langage change, il y a toujours un travail manuel et un nouveau test.