Основы Dart. Версия 3.4
Чернышев Станислав Андреевич
Код товара: 5066397
(0 оценок)Оценить
ОтзывНаписать отзыв
ВопросЗадать вопрос
Фиксированная скидка
Акция до 31.12.2026
-35%
2 158
3 320
Доставим в
г. МоскваКурьером
бесплатно от 10 000 ₽
В пункт выдачи
от 200 ₽
бесплатно от 10 000 ₽
Точная стоимость доставки рассчитывается при оформлении заказа
Издательство:
Год издания:
2025
Cерия:
Описание
Характеристики
Книга "Основы Dart" адресована тем, кто интересуется этим удивительным языком программирования. Вы узнаете об истории создания, синтаксисе и особенностях языка, таких как встроенные типы данных, и многом другом. В главе 2 вас ждет проект, который будет изменяться и расти вместе с вашими знаниями и навыками, а к главе 6 преобразится в полноценное клиент-серверное приложение. После каждой новой итерации проекта, вас будут ждать предложения по внесению изменений в его кодовую базу, что позволит прокачать свои hard-скиллы. Исходный код рассматриваемых в книге примеров можно найти в GitHub-репозитории автора (весь код в книге соответствует Dart 3.4).
код в Майшоп
5066397
возрастная категория
18+ (нет данных)
количество томов
1
ISBN
978-5-4461-4168-5
вес
855 г
размеры
235x165x30 мм
Содержание
Предисловие от автора
Предисловие от Friflex
От издательства
Глава 1. Краткая история Dart и встроенные типы
данных
1.1. Краткая история и основные особенности
Dart
1.2 . Установка и настройка рабочей среды
1. 3 . Правила именования
1 .4 . Встроенные типы данных Dart
1. 4.1. Числа (int, double)
1.4.2 . Строки (String)
1. 4 . 3 . Логические значения (bool)
1.4.4. Списки (List)
1.4.5. Записи (Record)
1.4.6. Множества (Set)
1.4.7. Таблицы (Map)
1. 4 . 8 . Руны (Runes) и символы (Symbols)
1.5. Модификаторы final, const и late
1.6. Null-безопасность (null-safety)
1.7 . Тип данных dynamic vs Object
1.8.. Чтение.данных.с.клавиатуры
Резюме
Вопросы для самопроверки
Глава 2. Операторы, сопоставление с шаблоном и
управляющие конструкции
2.1. Основные операторы Dart
2.2 . Что такое сопоставление с шаблоном и
деструктурирование
2.2.1. Деструктурирование списка
2 2 2 Деструктурирование записи
2.2.3.. Деструктурирование.таблицы
2.2 . 4 . Деструктурирование экземпляра
класса
2 . 3 . Управление потоком выполнения
кода
2 . 3.1. Условный оператор if
2 .3.2 . Оператор if-case
2.3.3. Тернарный оператор ?:
2.3.4. Оператор ??
2 . 3.5 . Операторы циклов (for, for-in, while и do-
while)
2 . 3.6 . Операторы потока выполнения (break,
continue, return)
2 .3.7 . Оператор выбора потока
выполнения (switch-case)
Проект: игра "Крестики-нолики" v . 0
Резюме
Вопросы для самопроверки
Глава 3. Функции, библиотеки, пакеты и их
тестирование
3.1. Функции в Dart
3 .1.1. Объявление входных аргументов
функции
3 .1. 2 . Необязательные аргументы
функции по умолчанию
3 1 3 Область видимости переменных
3 .1. 4 . Обращение к функции через переменную
3 .1. 5 . Функция как входной аргумент другой
функции
3 .1. 6 . Type Alias
3 .1. 7 . Анонимные и стрелочные функции
3.1.8. Замыкания
3.1.9. Рекурсия
3.1.10. Генераторные функции
3.2. Создание и импортирование библиотек
3.2.1. Импортирование кода из файла с
расширением . dart
3.2.2. Импортирование части функциональности
3.2 .3 . Отложенная загрузка импортируемого
файла или библиотеки . .
3.2.4. Создание и использование библиотеки
3.3. Тестирование функций
3.3.1. Установка пакета test в проект
3.3.2. Написание тестов
3.3.3. Запуск тестов
3.3.4. Конфигурация тестов
3.3.5. Тестирование пользовательского ввода
3 . 4 . Создание пакета и его подключение к
проекту
3.4.1. Создание пакета
3.4.2. Локальное подключение пакета
3.4.3. Удаленное подключение пакета
Проект: игра "Крестики-нолики" v.1
Резюме
Вопросы для самопроверки
Глава 4. Объектно-ориентированное
программирование
4.1.. Конструктор.класса
4.1.1.. Именованный.конструктор
4.1.2.. Константный.конструктор
4.1.3.. Фабричный.конструктор
4.2 . Статические переменные и методы
класса
4.3 . Перегрузка операторов
4 . 3.1. Перегрузка арифметических
операторов
4 .3.2 . Перегрузка операторов сравнения
4.3.3. Перегрузка битовых операторов
4.3.4. Перегрузка индексных операторов
4.4. Методы расширения
4.5. Наследование и переопределение
методов
4.6. Абстрактный класс и интерфейс
4.7. Продвижение приватных полей
4.8. Модификаторы класса
4.8.1. Отсутствие модификатора
4.8.2. Модификатор abstract
4.8.3. Модификатор base
4 . 8 . 4 . Модификаторы interface и abstract
interface
4.8.5. Модификатор final
4.8.6. Модификатор sealed
4.8.7. Миксины и модификатор класса mixin
4.9. Дженерики (generics)
4.10. Перечисления (enum)
4.11. Расширение типа (extension types)
4.12. Исключения (exceptions)
4.12.1. Конструкция try...catch...finally
4.12.2. Генерация исключений и ошибок
4.12.3. Пользовательские исключения и ошибки
4.12.4. Трассировка стека
4.12.5. Утверждение
4.13. Тестирование классов
Проект: игра "Крестики-нолики" v.2
Резюме
Вопросы для самопроверки
Глава 5. Сборка приложения. Работа с файлами и
каталогами
5.1. Сборка приложения
5.1.1. Флаг exe
5.1.2. Флаг aot-snapshot
5.1.3. Флагjit-snapshot
5.1.4. Флаг kernel
5.2. Конфигурация запускаемого приложения
5.3. Работа с файлами
5.4. Работа с каталогами
5.5 . База данных на основе файла и
однонаправленного списка
5.6 . Работа с JSON-файлами
5.6 .1. Зачем нужен null
5.6.2.. Валидация.данных
5.6.3. Пакетjson_seriaИzaЫe для десериализации
и сериализации объектов вJSON-формат
5.7 . Простая БД по типу "ключ:значение" в
формате JSON
Проект: игра "Крестики-нолики" v . 3
Резюме
Вопросы для самопроверки
Глава 6. Асинхронное и сетевое программирование.
Изолят
6 .1. Архитектура цикла событий в Dart
6 .1.1. Базовая концепция цикла и очереди
событий
6 .1. 2 . Очереди и цикл событий в Dart
6 2 Асинхронное программирование
6.2.1. Future API, async и await
6.2.2 . Поток (stream)
6.3 . Изоляты (isolate)
6.4 . Тонкости работы с изоляционными
группами
6.4.1. Уникальный идентификатор объекта
6.4.2 . Объявление переменной или имени
6.4 . 3 . Жизненный цикл объекта
6.4 . 4 . Общая память изоляционных групп
6.4.5 . Разница в передаче обычных и
константных объектов между изолятами группы
6.4.6 . Создание изолята из другого изолята
6.5 . Async или Isolate
6.6 . Зоны (zones)
6.7. Сетевое программирование
6.7.1. Разработка пакета protocol
6.7.2. Клиент-серверное приложение на основе
TCP
6.7 . 3 . Передача данных между сервером и
клиентом по протоколу UDP
6.7 . 4 . Структура HTTP-сообщений и REST
URL
6.7.5 . HTTP-сервер и клиент
Проект: игра "Крестики-нолики" v.4
Разработка общего Dart-пакета common
Разработка.серверной.части
Разработка.клиентской.части
Запуск.игры
Задания.на.изменение.проекта
Резюме
Вопросы.для.самопроверки
Глава 7. Алгоритмы, структуры данных на Dart и
встроенные коллекции
7.1. Структуры данных
7 .1.1. Массив (array)
7 .1. 2 . Односвязный список (single-linked
list)
7 .1. 3 . Двусвязный список (double-linked list)
7.1.4. Хеш-таблица (hash table)
7.1.5. Множество (set)
7.1.6. Стек (stack)
7.1.7. Очередь (queue)
7.1. 8 . Двоичное дерево поиска (Binary Search
Tree)
7.1.9. АВЛ-дерево (AVL-tree)
7.1.10. Куча (heap)
7.2. Алгоритмы сортировки
7.2.1. Сортировка пузырьком (bubble sort)
7.2.2. Шейкерная сортировка (cocktail sort)
7.2.3. Сортировка подсчетом (counting sort)
7.2.4. Сортировка слиянием (merge sort)
7.2.5. Быстрая сортировка (quick sort)
7.2.6. Пирамидальная сортировка (heap sort)
7.3. Алгоритмы поиска
7.3.1. Линейный поиск (linear search)
7.3.2. Бинарный поиск (binary search)
7.3.3. Троичный поиск (ternary search)
7.4. Встроенные коллекции Dart
7.4.1. Map
7.4.2. Set
7.4.3. List
7.4.4. Queue
7.4.5. LinkedList
Резюме
Вопросы для самопроверки
Глава 8. Интероперабельность в Dart
8 .1. Интерфейс внешних функций
8.2 . Нативные типы данных ^ и их аналоги в
Dart
8.3 . Перенос функции на нативный уровень
8.4 . Автогенерация кода для подключения
библиотеки
8.5 . Вызов функции обратного вызова Dart из
Си
8.6 . Связывание структур ^ с Dart и их
финализация
8.6 .1. Объявление структуры и ее
связывание с классом Dart
8 6 2 Обертка над структурой и ее
финализация Резюме
Вопросы для самопроверки
Курсы автора на stepik.org
Список используемых источников
Предисловие от Friflex
От издательства
Глава 1. Краткая история Dart и встроенные типы
данных
1.1. Краткая история и основные особенности
Dart
1.2 . Установка и настройка рабочей среды
1. 3 . Правила именования
1 .4 . Встроенные типы данных Dart
1. 4.1. Числа (int, double)
1.4.2 . Строки (String)
1. 4 . 3 . Логические значения (bool)
1.4.4. Списки (List)
1.4.5. Записи (Record)
1.4.6. Множества (Set)
1.4.7. Таблицы (Map)
1. 4 . 8 . Руны (Runes) и символы (Symbols)
1.5. Модификаторы final, const и late
1.6. Null-безопасность (null-safety)
1.7 . Тип данных dynamic vs Object
1.8.. Чтение.данных.с.клавиатуры
Резюме
Вопросы для самопроверки
Глава 2. Операторы, сопоставление с шаблоном и
управляющие конструкции
2.1. Основные операторы Dart
2.2 . Что такое сопоставление с шаблоном и
деструктурирование
2.2.1. Деструктурирование списка
2 2 2 Деструктурирование записи
2.2.3.. Деструктурирование.таблицы
2.2 . 4 . Деструктурирование экземпляра
класса
2 . 3 . Управление потоком выполнения
кода
2 . 3.1. Условный оператор if
2 .3.2 . Оператор if-case
2.3.3. Тернарный оператор ?:
2.3.4. Оператор ??
2 . 3.5 . Операторы циклов (for, for-in, while и do-
while)
2 . 3.6 . Операторы потока выполнения (break,
continue, return)
2 .3.7 . Оператор выбора потока
выполнения (switch-case)
Проект: игра "Крестики-нолики" v . 0
Резюме
Вопросы для самопроверки
Глава 3. Функции, библиотеки, пакеты и их
тестирование
3.1. Функции в Dart
3 .1.1. Объявление входных аргументов
функции
3 .1. 2 . Необязательные аргументы
функции по умолчанию
3 1 3 Область видимости переменных
3 .1. 4 . Обращение к функции через переменную
3 .1. 5 . Функция как входной аргумент другой
функции
3 .1. 6 . Type Alias
3 .1. 7 . Анонимные и стрелочные функции
3.1.8. Замыкания
3.1.9. Рекурсия
3.1.10. Генераторные функции
3.2. Создание и импортирование библиотек
3.2.1. Импортирование кода из файла с
расширением . dart
3.2.2. Импортирование части функциональности
3.2 .3 . Отложенная загрузка импортируемого
файла или библиотеки . .
3.2.4. Создание и использование библиотеки
3.3. Тестирование функций
3.3.1. Установка пакета test в проект
3.3.2. Написание тестов
3.3.3. Запуск тестов
3.3.4. Конфигурация тестов
3.3.5. Тестирование пользовательского ввода
3 . 4 . Создание пакета и его подключение к
проекту
3.4.1. Создание пакета
3.4.2. Локальное подключение пакета
3.4.3. Удаленное подключение пакета
Проект: игра "Крестики-нолики" v.1
Резюме
Вопросы для самопроверки
Глава 4. Объектно-ориентированное
программирование
4.1.. Конструктор.класса
4.1.1.. Именованный.конструктор
4.1.2.. Константный.конструктор
4.1.3.. Фабричный.конструктор
4.2 . Статические переменные и методы
класса
4.3 . Перегрузка операторов
4 . 3.1. Перегрузка арифметических
операторов
4 .3.2 . Перегрузка операторов сравнения
4.3.3. Перегрузка битовых операторов
4.3.4. Перегрузка индексных операторов
4.4. Методы расширения
4.5. Наследование и переопределение
методов
4.6. Абстрактный класс и интерфейс
4.7. Продвижение приватных полей
4.8. Модификаторы класса
4.8.1. Отсутствие модификатора
4.8.2. Модификатор abstract
4.8.3. Модификатор base
4 . 8 . 4 . Модификаторы interface и abstract
interface
4.8.5. Модификатор final
4.8.6. Модификатор sealed
4.8.7. Миксины и модификатор класса mixin
4.9. Дженерики (generics)
4.10. Перечисления (enum)
4.11. Расширение типа (extension types)
4.12. Исключения (exceptions)
4.12.1. Конструкция try...catch...finally
4.12.2. Генерация исключений и ошибок
4.12.3. Пользовательские исключения и ошибки
4.12.4. Трассировка стека
4.12.5. Утверждение
4.13. Тестирование классов
Проект: игра "Крестики-нолики" v.2
Резюме
Вопросы для самопроверки
Глава 5. Сборка приложения. Работа с файлами и
каталогами
5.1. Сборка приложения
5.1.1. Флаг exe
5.1.2. Флаг aot-snapshot
5.1.3. Флагjit-snapshot
5.1.4. Флаг kernel
5.2. Конфигурация запускаемого приложения
5.3. Работа с файлами
5.4. Работа с каталогами
5.5 . База данных на основе файла и
однонаправленного списка
5.6 . Работа с JSON-файлами
5.6 .1. Зачем нужен null
5.6.2.. Валидация.данных
5.6.3. Пакетjson_seriaИzaЫe для десериализации
и сериализации объектов вJSON-формат
5.7 . Простая БД по типу "ключ:значение" в
формате JSON
Проект: игра "Крестики-нолики" v . 3
Резюме
Вопросы для самопроверки
Глава 6. Асинхронное и сетевое программирование.
Изолят
6 .1. Архитектура цикла событий в Dart
6 .1.1. Базовая концепция цикла и очереди
событий
6 .1. 2 . Очереди и цикл событий в Dart
6 2 Асинхронное программирование
6.2.1. Future API, async и await
6.2.2 . Поток (stream)
6.3 . Изоляты (isolate)
6.4 . Тонкости работы с изоляционными
группами
6.4.1. Уникальный идентификатор объекта
6.4.2 . Объявление переменной или имени
6.4 . 3 . Жизненный цикл объекта
6.4 . 4 . Общая память изоляционных групп
6.4.5 . Разница в передаче обычных и
константных объектов между изолятами группы
6.4.6 . Создание изолята из другого изолята
6.5 . Async или Isolate
6.6 . Зоны (zones)
6.7. Сетевое программирование
6.7.1. Разработка пакета protocol
6.7.2. Клиент-серверное приложение на основе
TCP
6.7 . 3 . Передача данных между сервером и
клиентом по протоколу UDP
6.7 . 4 . Структура HTTP-сообщений и REST
URL
6.7.5 . HTTP-сервер и клиент
Проект: игра "Крестики-нолики" v.4
Разработка общего Dart-пакета common
Разработка.серверной.части
Разработка.клиентской.части
Запуск.игры
Задания.на.изменение.проекта
Резюме
Вопросы.для.самопроверки
Глава 7. Алгоритмы, структуры данных на Dart и
встроенные коллекции
7.1. Структуры данных
7 .1.1. Массив (array)
7 .1. 2 . Односвязный список (single-linked
list)
7 .1. 3 . Двусвязный список (double-linked list)
7.1.4. Хеш-таблица (hash table)
7.1.5. Множество (set)
7.1.6. Стек (stack)
7.1.7. Очередь (queue)
7.1. 8 . Двоичное дерево поиска (Binary Search
Tree)
7.1.9. АВЛ-дерево (AVL-tree)
7.1.10. Куча (heap)
7.2. Алгоритмы сортировки
7.2.1. Сортировка пузырьком (bubble sort)
7.2.2. Шейкерная сортировка (cocktail sort)
7.2.3. Сортировка подсчетом (counting sort)
7.2.4. Сортировка слиянием (merge sort)
7.2.5. Быстрая сортировка (quick sort)
7.2.6. Пирамидальная сортировка (heap sort)
7.3. Алгоритмы поиска
7.3.1. Линейный поиск (linear search)
7.3.2. Бинарный поиск (binary search)
7.3.3. Троичный поиск (ternary search)
7.4. Встроенные коллекции Dart
7.4.1. Map
7.4.2. Set
7.4.3. List
7.4.4. Queue
7.4.5. LinkedList
Резюме
Вопросы для самопроверки
Глава 8. Интероперабельность в Dart
8 .1. Интерфейс внешних функций
8.2 . Нативные типы данных ^ и их аналоги в
Dart
8.3 . Перенос функции на нативный уровень
8.4 . Автогенерация кода для подключения
библиотеки
8.5 . Вызов функции обратного вызова Dart из
Си
8.6 . Связывание структур ^ с Dart и их
финализация
8.6 .1. Объявление структуры и ее
связывание с классом Dart
8 6 2 Обертка над структурой и ее
финализация Резюме
Вопросы для самопроверки
Курсы автора на stepik.org
Список используемых источников
Отзывы
Вопросы
Поделитесь своим мнением об этом товаре с другими покупателями — будьте первыми!
Дарим бонусы за отзывы!
За какие отзывы можно получить бонусы?
- За уникальные, информативные отзывы, прошедшие модерацию
Как получить больше бонусов за отзыв?
- Публикуйте фото или видео к отзыву
- Пишите отзывы на товары с меткой "Бонусы за отзыв"
Задайте вопрос, чтобы узнать больше о товаре
Если вы обнаружили ошибку в описании товара «Основы Dart. Версия 3.4» (авторы: Чернышев Станислав Андреевич), то выделите её мышкой и нажмите Ctrl+Enter. Спасибо, что помогаете нам стать лучше!