Dart est un langage de programmation optimisé pour les applications sur plusieurs plateformes. Il est développé par Google et est utilisé pour créer des applications mobiles, de bureau, de serveur et web. Dart est un langage orienté objet à ramasse-miettes avec une syntaxe de type C++. Dart peut se compiler en code natif ou en JavaScript. Il prend en charge les interfaces, les mixins, les classes abstraites, les génériques réifiés et l'inférence de type. Dart a été dévoilé lors de la conférence GOTO à Aarhus, au Danemark, du 10 au 12 octobre 2011. Le projet a été fondé par Lars Bak et Kasper Lund. Dart 1.0 est sorti le 14 novembre 2013. Dart a initialement reçu un accueil mitigé et l'initiative Dart a été critiquée par certains pour avoir fragmenté le web, en raison des plans originaux d'inclure une VM Dart dans Chrome. Ces plans ont été abandonnés en 2015 avec la version 1.9 de Dart pour se concentrer plutôt sur la compilation de Dart en JavaScript. En août 2018, Dart 2.0 est sorti, avec des changements du langage incluant un système de typage plus sain. Dart 2.6 a introduit une nouvelle extension : dart2native. Cette fonction étend la compilation native aux plates-formes de bureau Linux, macOS et Microsoft Windows. Auparavant, les développeurs pouvaient créer de nouveaux outils en utilisant uniquement des appareils Android ou iOS. De plus, avec cette extension, il devient possible de compiler un programme Dart en exécutables autonomes. Ainsi, il n'est plus obligatoire d'avoir installé la machine virtuelle Dart, les exécutables ainsi générés peuvent s'exécuter immédiatement. La nouvelle extension est également intégrée à la boîte à outils Flutter, ce qui permet d'utiliser le compilateur pour de petits services (support backend par exemple) . Standardisation Ecma International a formé le comité technique TC52 pour travailler à la normalisation de Dart, et dans la mesure où Dart peut être compilé en JavaScript standard, il fonctionne efficacement dans n'importe quel navigateur moderne.

À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
Cours associés (1)
CS-320: Computer language processing
We teach the fundamental aspects of analyzing and interpreting computer languages, including the techniques to build compilers. You will build a working compiler from an elegant functional language in
Séances de cours associées (17)
Laboratoire de génération de code
Couvre la génération de code pour un compilateur, traduisant un programme Amy à WebAssembly, y compris la gestion de la mémoire et la compilation de correspondance de motifs.
Introduction à la stéréotomie : Assemblées et documentation
Couvre la stéréotomie, les assemblages et la documentation en utilisant TopSolid 7 pour la conception et l'analyse structurales.
Machine virtuelle WASM : Groupe 13
Explore le développement d'une machine virtuelle WebAssembly par le groupe 13, couvrant les étapes du pipeline, la structure de l'interprète et la gestion des piles.
Afficher plus
Publications associées (18)

Software Support for Non-Volatile Memory (NVM) Programming

David Teksen Aksun

Non-Volatile Memory (NVM) is an emerging type of memory device that provides fast, byte-addressable, and high-capacity durable storage. NVM sits on the memory bus and allows durable data structures designs similar to the in-memory equivalent ones. Expensiv ...
EPFL2021

Compilation and Code Optimization for Data Analytics

Amir Shaikhha

The trade-offs between the use of modern high-level and low-level programming languages in constructing complex software artifacts are well known. High-level languages allow for greater programmer productivity: abstraction and genericity allow for the same ...
EPFL2018

Cross-Platform Language Design in Scala.js (Keynote)

Sébastien Jean R Doeraene

Have you ever wondered what is the secret sauce of Scala.js? What defines Scala.js, above all else, is the overarching will to make it cross-platform. A cross-platform language is both portable-most source code cross-compiles and behaves the same way on mu ...
ASSOC COMPUTING MACHINERY2018
Afficher plus
Personnes associées (2)
Concepts associés (18)
Mobile development framework
A mobile development framework is a software framework that is designed to support mobile app development. It is a software library that provides a fundamental structure to support the development of applications for a specific environment. Frameworks can be in three categories: native frameworks for platform-specific development, mobile web app frameworks, and hybrid apps, which combine the features of both native and mobile web app frameworks.
Node.js
Node.js est une plateforme logicielle libre en JavaScript, orientée vers les applications réseau évènementielles hautement concurrentes qui doivent pouvoir monter en charge. Elle utilise la machine virtuelle V8, la bibliothèque libuv pour sa boucle d'évènements, et implémente sous licence MIT les spécifications CommonJS. Parmi les modules natifs de Node.js, on retrouve http qui permet le développement de serveur HTTP. Ce qui autorise, lors du déploiement de sites internet et d'applications web développés avec Node.
Opa (logiciel)
Opa est un langage de programmation d'applications et services web utilisable sous licence Affero GPL ou sous licence privée. Opa est une technologie de développement d’applications Web distribuées. C’est un nouveau langage de programmation fortement couplé à une bibliothèque Web standard qui remplit toutes les fonctions : de serveur d’applications Web, à serveur de base de données. En un mot, Opa ne dépend pas des piles serveurs actuelles, comme Apache plus PHP plus MySQL plus Symfony.
Afficher plus

Graph Chatbot

Chattez avec Graph Search

Posez n’importe quelle question sur les cours, conférences, exercices, recherches, actualités, etc. de l’EPFL ou essayez les exemples de questions ci-dessous.

AVERTISSEMENT : Le chatbot Graph n'est pas programmé pour fournir des réponses explicites ou catégoriques à vos questions. Il transforme plutôt vos questions en demandes API qui sont distribuées aux différents services informatiques officiellement administrés par l'EPFL. Son but est uniquement de collecter et de recommander des références pertinentes à des contenus que vous pouvez explorer pour vous aider à répondre à vos questions.