053 – Bibliotecas em Dart- Curso de Gratuito de DART

Playlist: Curso Grátis de FLUTTER e DART Completo

Bibliotecas e visibilidade
As diretivas de importação e biblioteca podem ajudá-lo a criar uma base de código modular e compartilhável. As bibliotecas não apenas fornecem APIs, mas são uma unidade de privacidade: os identificadores que começam com um sublinhado (_) são visíveis apenas dentro da biblioteca. Cada aplicativo Dart é uma biblioteca, mesmo que não use uma diretiva de biblioteca.

As bibliotecas podem ser distribuídas usando pacotes.

Usando bibliotecas
Use import para especificar como um namespace de uma biblioteca é usado no escopo de outra biblioteca.

Por exemplo, os aplicativos da web Dart geralmente usam a biblioteca dart: html, que eles podem importar assim:

import ‘dart: html’;
O único argumento necessário para importar é um URI especificando a biblioteca. Para bibliotecas internas, o URI possui o esquema especial dart:. Para outras bibliotecas, você pode usar um caminho do sistema de arquivos ou o pacote: esquema. O pacote: scheme especifica as bibliotecas fornecidas por um gerenciador de pacotes, como a ferramenta pub. Por exemplo:

import ‘package: test / test.dart’;
Nota: URI significa identificador de recurso uniforme. URLs (localizadores uniformes de recursos) são um tipo comum de URI.

Especificando um prefixo de biblioteca
Se você importar duas bibliotecas com identificadores conflitantes, poderá especificar um prefixo para uma ou ambas as bibliotecas. Por exemplo, se library1 e library2 tiverem uma classe Element, você poderá ter um código como este:

import ‘pacote: lib1 / lib1.dart’;
import ‘package: lib2 / lib2.dart’ como lib2;

// Usa o elemento da lib1.
Elemento element1 = Element ();

// Usa o elemento da lib2.
lib2.Element element2 = lib2.Element ();
Importando apenas parte de uma biblioteca
Se você quiser usar apenas parte de uma biblioteca, poderá importar seletivamente a biblioteca. Por exemplo:

// Importa apenas foo.
import ‘pacote: lib1 / lib1.dart’ show foo;

// Importa todos os nomes EXCETO foo.
import ‘package: lib2 / lib2.dart’ ocultar foo;