Dart Programming Language

  1. Dart Tooling and Ecosystem
    1. The Dart Command-Line Interface (`dart`)
      1. Overview of CLI Tools
        1. Creating a New Project (`dart create`)
          1. Project Templates
            1. Project Structure
            2. Running Dart Files (`dart run`)
              1. Compiling Dart Code
                1. To Native Executables (`dart compile exe`)
                  1. To JavaScript (`dart compile js`)
                    1. Compilation Options
                    2. Running Tests (`dart test`)
                      1. Formatting Code (`dart format`)
                        1. Static Analysis (`dart analyze`)
                          1. Documentation Generation (`dart doc`)
                            1. Dependency Management (`dart pub`)
                            2. Package Management with Pub
                              1. The `pub.dev` Repository
                                1. The `pubspec.yaml` File
                                  1. Structure and Purpose
                                    1. Declaring Dependencies
                                      1. Version Constraints
                                        1. Declaring Dev Dependencies
                                          1. Specifying Environment Constraints
                                            1. Asset Management
                                            2. Fetching Dependencies (`dart pub get`)
                                              1. Upgrading Dependencies (`dart pub upgrade`)
                                                1. Dependency Resolution
                                                  1. Publishing Packages
                                                    1. Package Preparation
                                                      1. Publishing Process
                                                        1. Package Versioning
                                                        2. Private Packages
                                                        3. Core Libraries
                                                          1. `dart:core`
                                                            1. Automatic Import
                                                              1. Common Classes and Functions
                                                                1. Object
                                                                  1. String
                                                                    1. num
                                                                      1. List
                                                                        1. Map
                                                                          1. Set
                                                                          2. `dart:math`
                                                                            1. Mathematical Functions and Constants
                                                                              1. Random Number Generation
                                                                                1. Trigonometric Functions
                                                                                2. `dart:convert`
                                                                                  1. JSON Encoding and Decoding
                                                                                    1. UTF-8 Encoding and Decoding
                                                                                      1. Base64 Encoding
                                                                                        1. HTML Escape
                                                                                        2. `dart:io`
                                                                                          1. File Operations
                                                                                            1. Directory Operations
                                                                                              1. Process Management
                                                                                                1. Socket Programming
                                                                                                  1. HTTP Server and Client
                                                                                                    1. Platform Information
                                                                                                    2. `dart:async`
                                                                                                      1. Future and Stream Utilities
                                                                                                        1. Timer
                                                                                                          1. Zone
                                                                                                          2. `dart:collection`
                                                                                                            1. Specialized Collection Classes
                                                                                                              1. Queue
                                                                                                                1. LinkedList
                                                                                                                2. `dart:typed_data`
                                                                                                                  1. Typed Arrays
                                                                                                                    1. ByteBuffer
                                                                                                                  2. Testing
                                                                                                                    1. The `test` Package
                                                                                                                      1. Writing Test Files
                                                                                                                        1. Test File Organization
                                                                                                                          1. Naming Conventions
                                                                                                                          2. Organizing Tests with `test()` and `group()`
                                                                                                                            1. Using Matchers and `expect()`
                                                                                                                              1. Built-in Matchers
                                                                                                                                1. Custom Matchers
                                                                                                                                2. Test Setup and Teardown
                                                                                                                                  1. `setUp()`
                                                                                                                                    1. `tearDown()`
                                                                                                                                    2. Running Tests from the Command Line
                                                                                                                                      1. Test Configuration
                                                                                                                                        1. Mocking and Test Doubles
                                                                                                                                        2. Debugging
                                                                                                                                          1. Debugging Tools
                                                                                                                                            1. Observatory
                                                                                                                                              1. IDE Debugging Support
                                                                                                                                                1. Assert Statements