Je pensais à construire une application sur Android avec Scala au lieu du Java normal (ou l'équivalent je suppose). Est-ce que ça vaut le coup?
Des problèmes et des maux de tête inutiles?
Je pensais à construire une application sur Android avec Scala au lieu du Java normal (ou l'équivalent je suppose). Est-ce que ça vaut le coup?
Des problèmes et des maux de tête inutiles?
Travailler avec Scala devrait être la plupart du temps indolore, comme le dex compilateur fonctionne avec bytecode - ce qui est exactement ce que Scala produit.
Votre plus gros problème est la dépendance à l'égard de la scala-bibliothèque, dex s'attend à ce que tout soit dans un seul Pot. Ce sont manipulées avec le Proguard (qui sera aussi supprimer les code et vous donner un petit exécutable, idéal pour le mobile)
Actuellement la meilleure pratique consiste à utiliser SBT avec l'Android plugin, Il va prendre soin de tout pour vous: http://github.com/jberkel/android-plugin
Si vous devez utiliser Eclipse et le plugin fourni par Google, alors vous allez avoir un non-standard de la structure de répertoire. J'ai également écrit un article sur la façon de traiter ce: http://www.assembla.com/wiki/show/scala-ide/Developing_for_Android
Mais attention... il prend beaucoup plus d'efforts dans ce sens!
Il y a une conférence par des gars de la bu.mp sur Scala Jours 2011.
Avertissement: Pendant qu'ils parlent beaucoup sur les problèmes qu'ils ont rencontrés, l'expérience globale est certainement positif. En outre, ce sont les problèmes d'une équipe en particulier et ils sont mineurs.
Résumé:
Alors qu'il parle de IDEs trop, je ne pense pas que c'est un problème (regardez ce post, à propos de la Scala de l'environnement). Les gars qui ne Scala IDE et Ide à bien faire son travail et IDE de soutien est de mieux en mieux et mieux.
Pour les tests unitaires que l'on pourrait utiliser RoboSpecs (permet d'exécuter des tests unitaires à l'intérieur de la JVM, de ne pas l'intérieur de l'émulateur), qui est plus rapide.
L'un des plus grands problèmes que je viens de tombé sur est les limites de l'indice dex format (pas plus de 65536 méthode des références par dex fichier). Scala de bibliothèque n'a tout simplement pas dans les limites, de sorte que vous avez à la solution de contournement par:
Certains gars affirmant qu'il y a des problèmes avec IDEs, mais que les choses ont changé rapidement: la version actuelle de la IntelliJ IDEA 12 a non seulement un bon soutien de la Scala comme un plugin, mais il contient également Concepteur d'INTERFACE utilisateur pour les téléphones Android. En outre, vous pouvez utiliser Eclipse qui a un soutien de Android (Google) et Scala (par Typesafe) les côtés. Android Studio (le nouvel IDE basé sur l'IDÉE qui a été annoncé sur Google IO '13 et est développé par Google) appuyer l'IDÉE plugins ainsi Scala.
Nous avons discuté de cette à la Scala de "Lift-Off" de Londres , vendredi dernier, et le consensus semble être que, généralement, il fonctionne très bien tant que vous évitez les Acteurs. Aussi, le sbt-android-plugin a été fortement recommandé. Nathan Hamblen blog a de nombreux messages sur Android et ceux aussi marqués Scala ont beaucoup de pièges vaut la peine de regarder dehors pour.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.