Adieu Java, les applications Android seront désormais écrites avec Dart et le framework SKY
lun, 04/05/2015 - 16:42
Du moins cela semble bien être l'intention de Google qui vient de faire, lors du Dart Developper Summit, la présentation repérée par Android Police d'une nouvelle technologie baptisée SKY.
Actuellement les applications Android sont développées en Java pour la plupart, avec bien sûr des exceptions comme les applications générées par des outils cross plates-formes, ou les applications natives développées avec le NDK, lorsque les performances sont absolument nécessaires. Pour des jeux par exemple.
A l'avenir, si les partisans des outils cross plates-formes continueront dans leur voie, il n'est pas exclu que toutes les applications uniquement Android soient écrites avec SKY, même lorsqu'il y a besoin de performances.
SKY, c'est un moteur écrit en C++, pour "muscler le système" nous dit Google sur la page du projet qui est hébergé par GitHub. Le reste est un framework qui permet d'interagir avec le moteur C++ et créer des interfaces utilisateur.
Et ce framework se programme avec le langage Dart, langage made in Mountain View, qui pour l'instant peine à s'imposer dans le monde du développement. Mais avec SKY les choses pourraient changer rapidement.
Dart est conçu pour être le remplaçant de JavaScript. Pour la performance et la sûreté de programmation qui est nécessaire aux grand projets, est-il dit. Dart était présenté comme cela, mais toute l'idée de SKY est d'en faire un remplaçant de Java plutôt que JavaScript, et le fait est que c'est une idée intéressante. On se demande même comment il se fait qu'ils ne l'ont pas eue plus tôt à Mountain View, cette idée.
Une idée qui devrait faire son chemin chez tous les développeurs Android dont les développeurs de jeux. Ainsi Google a beaucoup insisté sur le fait qu'une application en Dart/SKY peut assurer un affichage à 120 FPS (120 rafraîchissements d'écran par seconde), contre 60 FPS obtenus sur la plupart des applications mobiles aujourd'hui. Mountain View a pensé à tout. Notamment qu'une application qui travaille du chapeau ne doit pas bloquer l'interface utilisateur. Là encore, on pense à des jeux qui s'ils calculent en arrière plan doivent garder une interface utilisateur réactive. Google travaille sur cet aspect appelé : jank-free by design. Google insiste si bien sur la performance de SKY qu'une application de démonstration est déjà disponible sur le Play Store.
Autre aspect intéressant, tout en étant un pied de nez à Microsoft qui accueille des applications Android au sein de Windows 10, la portabilité. Google rappelle donc que Dart tourne au sein de Chrome sur les plates-formes où il y a été porté, et qu'il est fondamentalement 'plate-forme agnostique'. Les applications SKY fonctionneront donc partout où existe une VM Dart.
A quoi ressemble une application SKY ? Voici un Hello World :
<sky>
<script>
import 'package:your_app_name/main.dart'
void main() {
new HelloWorldApp();
}
</script>
</sky>
qui utilise une classe implémentée dans une librairie :
import 'package:sky/framework/fn.dart';
class HelloWorldApp extends App {
UINode build() {
return new Text('Hello, world!');
}
}