Dart es el lenguaje de programación de código abierto desarrollado originalmente por Google. Está destinado tanto para el lado del servidor como para el lado del usuario. Dart SDK viene con su compilador: Dart VM y una utilidad dart2js que está diseñada para generar JavaScript equivalente a Dart Script para que pueda ejecutarse en aquellos sitios que no son compatibles con Dart.
Dart es un lenguaje orientado a objetos y es bastante similar al de programación Java . Dart se usa ampliamente para crear sitios web y aplicaciones web de una sola página. El mejor ejemplo de una aplicación de dardos es Gmail .
En este artículo, analizaremos las bibliotecas de dardos y el proceso de trabajar con ellas.
Importación de bibliotecas
Para usar bibliotecas en el dardo, primero debemos importarlas. La importación hace que los componentes de una biblioteca estén disponibles en el archivo actual. Dart tiene una importación de palabras clave especial para importar bibliotecas.
Syntax: import 'dart:sync'
Dart
// Example showing importing a library // Importing built-in library import 'dart:math'; void main() { print("Square root of 25 is: ${sqrt(25)}"); }
Producción:
Square root of 25 is: 5
Al importar un archivo de biblioteca de otro paquete, se usa «paquete: directiva» para especificar el URI de ese archivo:
import 'package:utilities/utilities.dart';
Creación de bibliotecas personalizadas
Las bibliotecas personalizadas son las bibliotecas que el usuario crea según su necesidad. Estas bibliotecas se conocen como bibliotecas definidas por el usuario. Dart admite la creación de dichas bibliotecas y podemos importarlas cuando sea necesario. Esto se lleva a cabo básicamente en dos pasos:
1. Declaración
El nombre de la biblioteca debe declararse utilizando la palabra clave «biblioteca»
biblioteca ‘my_lib’ //cualquier nombre de biblioteca aleatorio
2. Conexión
Una biblioteca se puede conectar dentro del mismo directorio o desde otro directorio.
//dentro del mismo directorio
importar ‘nombre_biblioteca’
//desde otro directorio
importar ‘dir/nombre_biblioteca’
Dart
// Example illustrating creation of a custom library library basic_calc; import 'dart:math'; // library content int add(int a,int b){ print("Add Method ") ; return a+b; } int multiplication(int a,int b){ print("Multiplication Method") ; return a*b; } int subtraction(int a,int b){ print("Subtraction Method") ; return a-b; } int modulus(int a,int b){ print("Modulus Method") ; return a%b; }
Hemos creado una biblioteca personalizada llamada » basic_calc «. Ahora tenemos que importar nuestra lib en un archivo actual:
Dart
import 'basic.dart'; void main() { var a = 50; var b = 30; var sum = add(n1,n2); var mod = modulus(n1,n2); var mul = multiplication(n1,n2); var div = divide(n1,n2); var sub = subtraction(n1,n2); print("$n1 + $n2 = $sum"); print("$n1 % $n2= $mod"); print("$n1 + $n2 = $mul"); print("$n1 - $n2 = $sub"); }
Producción:
Add Method Multiplication Method Subtraction Method Modulus Method 50 + 30 = 80 50 % 30= 20 50 * 30 = 1500 50 - 30 = 20
Encapsulación
Otra característica proporcionada por dart a sus usuarios es la encapsulación de bibliotecas. La encapsulación se usa para combinar datos y funciones en una sola unidad llamada clase. Podemos lograr la encapsulación en dart usando el _(guión bajo), seguido del identificador. El símbolo _(guion bajo) se utiliza para que el contenido de la biblioteca sea completamente privado.
NOTA: La encapsulación en Dart se lleva a cabo a nivel de biblioteca en lugar de a nivel de clase, a diferencia de otros lenguajes OOP.
Syntax: _identifier
Ejemplo:
Dart
// Example showing encapsulation in dart // Define a library naming cake library cake; class MainCake{ // non-private property // list of strings List<String> randomPieceOfCakes = ['chocolate', 'butterscotch', 'vanilla', 'strawberry']; // private properties String _pieceOfCake1 = "chocolate"; String pieceOfCake2 = "butterscotch"; }
Aquí importaremos la biblioteca de pasteles que creamos arriba:
Dart
import 'cake.dart'; void main(){ MainCake newCake = new MainCake(); // non-private property - randomPieceOfCakes print(newCake.randomPieceOfCakes); // private property - piece of cake // private property error print(newCake._pieceOfCake1); // non-private private - piece of cake print(newCake.pieceOfCake2); }
como palabra clave
Podemos importar múltiples bibliotecas dentro de un solo archivo actual. Pero si creamos dos o más funciones con el mismo nombre, el compilador no podrá diferenciar entre las dos y proporcionará una salida incorrecta. Para evitar esto, dart nos proporciona la palabra clave «as» para nombrar el alias de una biblioteca.
Syntax: import 'my_lib' as prefix
Ejemplo:
Dart
// Example showing the use of as keyword // Defining a lib names greetings library greetings; void sayHi(msg){ print("Hello coder. Welcome to ${msg}"); }
Ahora definiremos otra biblioteca.
Dart
library hellogreetings; void sayHi(msg){ print("${msg} has solutions of all your problems"); }
Ahora, importamos las bibliotecas anteriores con ellas como prefijo.
Dart
import 'greetings.dart'; import 'hellogreetings.dart' as gret; // using as prefix avoids function name clashes void main(){ sayHi("GFG"); // To eliminate the name confliction gret.sayHi("GFG"); }
Producción:
Hello coder. Welcome to GFG GFG has solutions of all your problems
A continuación se muestran las bibliotecas principales de Dart:
ESCRIBE | BIBLIOTECA | DESCRIPCIÓN |
---|---|---|
Bibliotecas multiplataforma | dardo: asíncrono | Esta biblioteca admite la programación asíncrona, con clases como Future y Stream. |
dardo:colección | Esta biblioteca contiene clases y utilidades que complementan el soporte de colección en dart:core. | |
dardo: convertir | Esta biblioteca contiene codificadores y decodificadores para convertir entre diferentes representaciones de datos, incluidos JSON y UTF-8. | |
dardo:núcleo | Esta biblioteca contiene tipos integrados, colecciones y otras funciones básicas para cada programa de Dart. | |
dardo: desarrollador | Esta biblioteca proporciona interacción con herramientas de desarrollo como el depurador y el inspector. | |
dardo:matemáticas | Esta biblioteca contiene constantes y funciones matemáticas, además de un generador de números aleatorios. | |
dardo:datos_escritos | Esta biblioteca contiene listas que manejan eficientemente archivos de datos de tamaño fijo (por ejemplo, enteros de 8 bytes sin signo) y tipos numéricos SIMD. | |
Bibliotecas de plataforma nativa | dardo:io | Esta biblioteca contiene archivos, sockets, HTTP y otras compatibilidades de E/S para aplicaciones que no son web. |
dardo:aislar | Esta biblioteca admite la programación concurrente utilizando trabajadores independientes aislados similares a hilos. | |
bibliotecas de la plataforma web | dardo:html | Esta biblioteca contiene elementos HTML y otros recursos para aplicaciones basadas en web. |
dardo:indexed_db | Esta biblioteca admite un almacén de clave-valor del lado del cliente con soporte para índices. | |
dardo:web_audio | Esta biblioteca es compatible con la programación de audio de alta fidelidad en el navegador. | |
dardo:web_gl | Esta biblioteca admite la programación 3D en el navegador. |
Publicación traducida automáticamente
Artículo escrito por mayanktyagi1709 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA