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.
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.
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 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 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.
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
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.
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.
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 ...
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 ...
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 ...