Dart 2.0 est disponible
le langage de Google a �t� optimis� pour le d�veloppement Web et mobile c�t� client
Google vient d�annoncer la sortie de la version 2.0 de Dart, son langage de programmation Web qui, comme de nombreux autres, vise � remplacer JavaScript. Cette nouvelle version majeure du langage a �t� optimis�e uniquement pour le d�veloppement c�t� client pour le Web et le mobile. � Avec Dart 2, nous avons consid�rablement renforc� et rationalis� le syst�me de types, nettoy� la syntaxe et reconstruit une grande partie de la cha�ne d'outils de d�veloppement afin de rendre le d�veloppement mobile et Web plus agr�able et plus productif �, a d�clar� Anders Thorhauge Sandholm, Product Manager chez Google. � Dart 2 int�gre �galement les le�ons apprises des premiers utilisateurs du langage, notamment Flutter, AdWords et AdSense, ainsi que des milliers d'am�liorations, grandes et petites, en r�ponse aux commentaires des clients. �
Avant d'aller aux am�liorations apport�es par Dart 2, Google explique pourquoi son langage serait bien positionn� pour les besoins des d�veloppeurs c�t� client. En plus des attributs n�cessaires pour un langage moderne et polyvalent, Google estime que le d�veloppement c�t� client avec Dart est :
- productif, rapide et portable : d�apr�s Google, Dart augmente la vitesse du d�veloppeur, car il a une syntaxe claire et succincte et peut s'ex�cuter sur une VM avec un compilateur JIT. Ce dernier permet le d�ploiement � chaud et le rechargement dynamique lors du d�veloppement mobile. Cela veut dire que vous pouvez apporter diverses modifications aux applications et � leurs modules sans devoir arr�ter et red�marrer le serveur. Cela entraine donc, selon Anders, des cycles de d�veloppement super rapides. Dart prend �galement en charge la compilation en code natif (ARM, x86, etc.) pour des performances mobiles rapides ainsi que la transpilation en JavaScript. Gr�ce � la compilation anticip�e de code natif, Dart fournit encore un d�marrage pr�visible, haute performance et rapide sur les appareils mobiles ;
- accessible : Dart est con�u pour �tre familier et donc accessible � de nombreux d�veloppeurs existants, gr�ce � ses aspects orient�s objet et sa syntaxe qui � selon ses utilisateurs � permet � tout d�veloppeur C++, C#, Objective-C ou Java d��tre productif en quelques jours ;
- r�actif : Dart fonctionne �galement bien pour la programmation r�active avec ses biblioth�ques de base, y compris les flux et les futures (qui font r�f�rence � des techniques de synchronisation pour certains langages concurrents). Il a �galement un grand support pour la gestion des objets temporaires gr�ce � un ramasse-miettes g�n�rationnel rapide.
Dans Dart 2, Google dit avoir pris d'autres mesures pour rendre Dart plus solide en tant que langage id�al pour le d�veloppement c�t� client. En particulier, le langage s�est dot� de plusieurs nouvelles fonctionnalit�s, notamment le typage fort.
� Les �quipes derri�re AdWords et AdSense ont cr�� avec Dart certaines des applications Web les plus importantes et les plus avanc�es de Google pour g�rer les annonces qui g�n�rent une part importante des revenus de Google. En travaillant en �troite collaboration avec ces �quipes, nous avons identifi� une grande opportunit� de renforcer le syst�me de type de Dart �, explique Anders. � Cela aide les d�veloppeurs Dart � d�tecter les bogues plus t�t dans le processus de d�veloppement, � mieux mettre � l'�chelle les applications cr��es par de grandes �quipes et � am�liorer la qualit� globale du code �, dit-il.
Il illustre cela avec un exemple de code pour mettre en �vidence l�inf�rence de type avec Dart 2. Rappelons que l�inf�rence de types est un m�canisme qui permet � un compilateur ou un interpr�teur de rechercher automatiquement les types associ�s � des expressions, sans qu'ils soient indiqu�s explicitement dans le code source. Dans le petit exemple ci-dessous, l'inf�rence de type Dart 2 permet de d�couvrir une erreur plut�t subtile et, par cons�quent, d'am�liorer la qualit� globale du code.
� Que fait ce code ? Vous pouvez raisonnablement vous attendre � ce que le r�sultat affich� soit '27'. Mais sans le syst�me de typage de Dart 2, il va afficher '10000', parce que c'est le plus petit �l�ment de la liste des cha�nes lorsqu'elle est ordonn�e de mani�re lexicographique. Avec Dart 2, cependant, ce code donnera une erreur de type �, souligne Anders.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9 void main() { List<int> prices = ['99', '27', '10000', '20000000']; // Sort in place from smallest to largest prices.sort(); print('Lowest price is ${prices[0]}!'); }
Dart 2.0 am�liore �galement la mani�re dont l'interface utilisateur est d�finie comme code. Google estime en effet que lors de la cr�ation d'une interface utilisateur, le basculement entre un langage de balisage d'UI distinct et le langage de programmation dans lequel vous �crivez votre application g�n�re souvent de la frustration. L'entreprise s'efforce donc de faire en sorte que la d�finition de l'interface utilisateur comme code soit une exp�rience agr�able pour r�duire consid�rablement le besoin de changer de contexte. Pour cela, Dart 2 rend par exemple newet constoptionnels. Comme vous pouvez le voir dans l'exemple suivant, Google explique que cela permet par exemple de nettoyer la d�finition d'un widget d'interface utilisateur afin qu'il n'utilise pas un seul mot-cl�. Et bien d'autres changements � venir iront dans le m�me sens.
Avec les am�liorations annonc�es, Google estime que Dart 2 est un langage productif, propre et �prouv� qui r�pond aux d�fis du d�veloppement d'applications modernes. Vous pouvez l'essayer dans Flutter (le nouveau framework d'interface utilisateur mobile de Google permettant de cr�er des interfaces natives de haute qualit� pour iOS et Android) et le SDK Dart � partir de la ligne de commande.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 // Before Dart 2 Widget build(BuildContext context) { return new Container( height: 56.0, padding: const EdgeInsets.symmetric(horizontal: 8.0), decoration: new BoxDecoration(color: Colors.blue[500]), child: new Row( ... ), ); } // After Dart 2 Widget build(BuildContext context) => Container( height: 56.0, padding: EdgeInsets.symmetric(horizontal: 8.0), decoration: BoxDecoration(color: Colors.blue[500]), child: Row( ... ), );
Source : Anders Thorhauge Sandholm
Et vous ?
Avez-vous d�j� utilis� le langage de Google ? Qu�en pensez-vous ?
Croyez-vous qu'il est assez pertinent pour remplacer JavaScript ?
Qu�attendez-vous de ce langage ?
Voir aussi :
Quelques exp�riences de Dart avec LLVM donnent des r�sultats prometteurs qui pourraient �tre am�lior�s avec des optimisations du ramasse-miettes
Google se sert de Dart pour la refonte de l'interface de son gestionnaire d'annonces AdWords, un de ses ing�nieurs explique les raisons de ce choix
Google publie Dart 1.9 qui apporte le support de la programmation asynchrone










Avez-vous d�j� utilis� le langage de Google ? Qu�en pensez-vous ?
R�pondre avec citation













Partager