Your trial period has ended!
For full access to functionality, please pay for a premium subscription
MA
MADTeacher | Станислав Чернышев
https://t.me/madteacher_channel
Channel age
Created
Language
Russian
3.4%
ER (week)
17.97%
ERR (week)

Канал автора книги "Основы Dart" и препода ^_^

Делюсь своими мыслями по творящемуся в образовании, мире IT и dart/flutter

Messages Statistics
Reposts and citations
Publication networks
Satellites
Contacts
History
Top categories
Main categories of messages will appear here.
Top mentions
The most frequent mentions of people, organizations and places appear here.
Found 142 results
Последнее время в it-сообществе постоянно муссируют то, как обстоят дела с вкатыванием в IT на Flutter и что там по вакансиям. Так вот, один из вариантов начала трудового пути - стажировка 👀

И самый ближайший способ попасть на нее - отучиться на курсе в летней школе Яндекса по мобильной разработке. На протяжении всего лета тебя будет ждать лютый хардкор погружения в Flutter, корпоративную культуру и нетворкинг. Кто знает, может именно ты, начав со стажера дойдешь до такой позиции, что отменишь 100500 кругов собеседований, тем самым увековечив себя в истории российского IT 😎

p.s. Не рекламы ради, а мотивационного пендаля для =)
04/22/2025, 07:50
t.me/madteacher_channel/719
В качестве эксперимента решил сделать курс "Основы разработки на Dart: юнлинг (с поддержкой автора)", который будет состоять не только из записанного видео-материала, тестов и задач, но и из созвонов с разбором задач и ответов на имеющиеся вопросы обучающихся. Он ориентирован на начинающих вкатываться в Dart и, в целом, в разработку.

Созвоны будут проводиться 2 раза в неделю (среда и воскресенье в 20:00), а сам курс будет длиться чуть больше месяца (с 27 апреля по 6 июня)

Так как что-то подобное с использованием степика запускаю впервые, то по полной стоимости сможете приобрести его только в следующий раз ;) По 27 апреля (включительно) будет действовать скидка в 50%. Потом - по обстоятельствам. Дюже много обучающихся мне не надо, но степик не дает возможность устанавливать лимиты на их количество. Поэтому буду решать данный момент регулированием стоимости курса. 🔫

Если эксперимент будет удачным, то масштабирую его и на некоторые другие мои курсы по Dart 🪨

Что касается контента в стиле "глубокое погружение в Dart", им займусь летом, параллельно с обновлением книги по Go. А пока мне надо отдохнуть от редакторских дел и писательства🫠
04/21/2025, 19:00
t.me/madteacher_channel/718
🚨Обновление "Основы Flutter (в разработке)" 🥳

В курс на Stepik перенесена 6-я глава "Локальное хранение данных", где рассказывается о работе с SharedPrefrences, Secure Storage, SQLite (с помощью пакетов sqflite и drift), а также сквозной проект к ней🔫
04/21/2025, 10:27
t.me/madteacher_channel/717
🚀 Новый подход к метапрограммированию в Dart предложил Вячеслав Егоров (работает в команде Dart VM) в рамках issue к спецификации языка. Такой шаг обусловлен тем, что команда Dart закинула макросы не просто в Icebox, а по факту, решила насовсем отказаться от них😭 Давайте же рассмотрим, как на данный момент обстоят дела в Dart и что предлагает Вячеслав для их исправления ;)

🔍 Текущие проблемы Dart

👉 Встроенная рефлексия (dart:mirrors) давно признана «нестабильной» и ограничена: поддерживается только в JIT, не работает в AOT и Flutter.

👉 В языке отсутствуют возможности выполнения произвольного кода на этапе компиляции — константные выражения по спецификации слишком скудны (нет циклов, сложных списков, произвольных функций).


💡 Предлагаемый подход

1️⃣ Аннотация @konst (в dart:metaprogramming) будет отмечать поля, функции и даже параметры для обязательного выполнения в compile-time (при поддержке компилятора).

2️⃣ Расширенные константные вычисления: полноценная CTFE (const‑functions), позволяющая использовать циклы, коллекции, арифметику и даже вызывать функции при компиляции.

3️⃣Инспекция программы: набор API (TypeInfo, FieldInfo, invoke, typeOf) для извлечения информации о типах, полях и вызовов, всё в compile-time, без runtime‑рефлексии 🔫


🔧 Что изменится в Dart

☝️ Больше не будет необходимости в сторонних генераторах — логика будет вычисляться при компиляции 💥💥

🤌 Функции с параметрами @konst будут клонироваться под каждый набор константных аргументов, что избавит от дженериков в рантайме.

🤙 Компилятор сможет «свернуть» ненужные ветки кода и рефлексию, сохранив только то, что реально используется.


📈 Некоторые варианты использования - генерация JSON (универсальная toJson и fromJson без boilerplate, за счёт TypeInfo.of().fields), Data-классы и комплексные константы (например, map и массивы будут генерироваться на этапе компиляции вместо ручного копирования результатов скриптов).


И это не просто issue... уже есть экспериментальная реализация предлагаемой фичи

Призываю поддержать Славу: рассказать про issue коллегам и друзьям, перейти на него и поставить 👍 либо 🚀

Как вам issue?
👍 – О, да, детка!!!
👌 – Сомнительно, но Окей
👎 – Не вижу пользы в метапрограммировании
04/18/2025, 14:11
t.me/madteacher_channel/715
Мы привезли для вас подарок с Mobius 🎁

Хочешь получить книгу «Основы Dart» с автографами автора и разработчиков Surf? Запускаем розыгрыш.

Всё, что нужно:
🔵 Подписаться на канал @surf_flutter.
🔵 Подписаться на канал @madteacher_channel.
🔵 Находиться на территории России.
🔵 Нажать кнопку «Участвовать» под постом.

Победителя выберем случайным образом 24 апреля в 18:00 (по Москве), результаты объявим в этом канале 🐄
04/17/2025, 15:32
t.me/madteacher_channel/714
04/17/2025, 07:03
t.me/madteacher_channel/712
Помимо Null-aware elements в Dart 3.8 нас будет ждать очередное изменение форматера кода...🫠 Все подробности в карточках ;)

Как вам нововведение?
👍 – О, да, детка!!!
👌 – Сомнительно, но Окей
👎 – Им заняться нечем?

#dart@madteacher_channel
04/17/2025, 07:03
t.me/madteacher_channel/707
04/17/2025, 07:03
t.me/madteacher_channel/710
04/17/2025, 07:03
t.me/madteacher_channel/713
04/17/2025, 07:03
t.me/madteacher_channel/709
04/17/2025, 07:03
t.me/madteacher_channel/708
04/17/2025, 07:03
t.me/madteacher_channel/711
Тут команда Dart решила не отставать от хайпа по ИИ-агентам и запилила экспериментальный пакет для разработки собственных (Model Context Protocol) MCP-серверов и клиентов🫠

А еще в разработке находится экспериментальный MCP-сервер, который предоставляет клиентам доступ к инструментам разработки на Dart, т.е. DartDevTools 😎

Походу скоро астрологи объявят очередную неделю нашествия вайб-кодеров😂
04/15/2025, 17:53
t.me/madteacher_channel/706
04/15/2025, 10:05
t.me/madteacher_channel/702
04/15/2025, 10:05
t.me/madteacher_channel/701
Вот и фоточки с Mobius подъехали ^_^ На первой такое ощущение, что зачитываю реп, а не рассказываю про скрытые возможности изоляционных групп 😎
04/15/2025, 10:05
t.me/madteacher_channel/699
🚨Обновление "Основы Flutter (в разработке)" 🥳

Добавлен сквозной проект для 5-й главы (Проект: Игра «Тетрис» v.5. Работа с сетью) 😎 В ходе него запилим работу с сетью, погрузимся в рефакторинг структуры проекта, а в качестве дополнительного челленджа – откажемся от использования сторонних библиотек и будем использовать исключительно инструменты от команды Flutter 🤬

p.s. Это самый объемный раздел посвященный сквозному проекту 🫠
04/14/2025, 11:02
t.me/madteacher_channel/698
Кто сегодня на Mobius - напоминаем

🔥 В 15:45 в зале 1 авторы Василий Усов, Станислав Чернышев и Анна Жаркова вместе с менеджером проектов издательства «Питер» Натальей Михеевой расскажут, как создать книгу о мобильной разработке, и поделятся своим опытом.

🚀 В 17:30 ждем вас на стенде ИД "Питер" на 1м этаже на
автограф-сессии Станислава Чернышева, автора книги "Основы DART".
Вы можете приобрести книгу с автографом, задать Станиславу вопросы и просто пообщаться
04/09/2025, 14:37
t.me/madteacher_channel/697
04/09/2025, 14:37
t.me/madteacher_channel/696
Во фронтендерскую тусовку внедрился🥷
04/08/2025, 15:25
t.me/madteacher_channel/695
Кончил с этим делом 🤌💪 😂
04/08/2025, 13:21
t.me/madteacher_channel/694
Я тут сейчас знатно правой рукой буду работать😂😂😂
04/08/2025, 11:23
t.me/madteacher_channel/693
🚨Обновление курса "Основы Flutter (в разработке)" 🥳

Мы наконец-то закончили последний раздел второй главы - "Скроллируемые виджеты" и он из книги перекочевала на степик 🫠

Последняя неделя выдалась для команды очень продуктивно и о том, что же мы такого наворотили - постепенно будем делиться с вами в этом канале 😎
04/07/2025, 16:59
t.me/madteacher_channel/692
04/07/2025, 08:52
t.me/madteacher_channel/691
Половину недели проведу в Москве на конференции Mobius 2025 Spring 😎

📚 9 апреля в 15:45 (зал №1) приму участие в мероприятии, организованном издательством Питер - "От кода до бумаги: как создаются книги о мобильной разработке".

👀 10 апреля в 16:00 (зал №2) выступлю с докладом: "Изоляционно-плагинная архитектура в Dart-приложениях и ее переносимость на Flutter". Расскажу о существующих способах добавления динамического поведения в приложения на Flutter и как посредством механизма изоляционных групп реализовать плагинную архитектуру для приложений, написанных на Dart. После чего поделюсь инсайдом — каким образом с помощью лома и чьей-то матери применить данный подход для Flutter-приложений и какие при этом существуют ограничения.

Т.к. зазывать покупать билеты по той стоимости, что на сайте - такое себе... спрошу по другому ^_^ Есть те, кому посещение этой конференции оплатил работодатель?🪨
04/07/2025, 08:52
t.me/madteacher_channel/690
🔥 Flutter Roadmap на 2025 год 🔥

Команда Flutter выкатила дорожную карту на 2025 год, отражающую приоритетные направления развития фреймворка и языка программирования Dart🫥

Ниже приведено то, что же нас ждет в этом году 🫠

🌐 Accessibility. После успешного тестирования ключевых кейсов для мобильных платформ в 2024 году, команда сосредоточится на расширении возможностей доступности для веб-платформы, делая приложения удобными для всех пользователей.

🚀 Производительность. Активный переход на Impeller. Для iOS завершается миграция с отказом от Skia, а для Android Impeller станет основным движком для рендеринга начиная с API-level 29.

📱 Мобильные платформы
🍎iOS. Планируется поддержка будущих версий iOS 19 и Xcode 17, переход на Swift Package Manager, а также совершенствование Cupertino-виджетов согласно гайдлайнам Apple.
🤖 Android. Ожидается изучение возможностей Android 16, перевод логики сборки с Groovy на Kotlin и усиление модульного тестирования, а также экспериментальная поддержка прямого вызова нативного кода из Dart. 🔫

🕸 Веб-платформа. В 2025 году команда планирует:
👉 Улучшить работу с текстом, интернационализацию и доступность.
👉 Оптимизировать производительность через компиляцию в Wasm/WebAssembly.
👉 Удалить устаревшие HTML/JS библиотеки и запустить горячую перезагрузку веб-приложений. 💥

💻 Desktop. Хотя основной упор в 2025 году будет на мобильные и веб-платформы, команда Canonical продолжит развитие поддержки Windows, macOS и Linux, совершенствуя мультиоконность, доступность и оконные API.

🧩 Flutter Framework и DevTools. Работы направлены на сокращение избыточности кода виджетов. Дополнительно продолжается интеграция с AI-решениями и совершенствование инструментов (Flutter DevTools, VS Code, Android Studio/IntelliJ, IDX) для повышения комфорта разработки.

💡 Язык программирования Dart. Планируется:
👉 улучшение генерации кода через build_runner
👉 исследование новых возможностей для сериализации/десериализации
👉 внедрение дополнительных языковых фич, которые сейчас проходят дизайн-процесс
👉 рефакторинг Dart analyzer и фронтенд-компилятора, что ускорит разработку новых возможностей языка и повысит стабильность.

🔄 Планы на релизы Flutter. Ничего нового - 4 выпуска стабильных версий и 12 бета-версий.

❌ Non-goals. В планы не включена разработка встроенной поддержки Code Push или Hot Updates. Нас снова посылают следить за решениями от партнеров, таких как shorebird.dev (так, кстати, на днях еще поддержку десктопных ОС подвезли), а для BDUI - пакет rfw.


Как вам Flutter Roadmap на 2025 год?
👍 – О, да, детка!!!
👌 – Сомнительно, но Окей
👎 – Отстой! Лучше бы кодпуш запилили и SEO на веб завезли
04/04/2025, 06:59
t.me/madteacher_channel/689
Решил отдохнуть от всяких там Dart, Flutter, Go и запилить книгу по самому крутому языку программирования - Brainfuck 👀

Вы только представьте, сколько горящих пердаков будет уже на этапе знакомства с этим языком при написании "Hello World!" 🤣
+++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++.+++++++++++++++++
++++++++++++.+++++++..+++.-------------------
---------------------------------------------
---------------.+++++++++++++++++++++++++++++
++++++++++++++++++++++++++.++++++++++++++++++
++++++.+++.------.--------.------------------
---------------------------------------------
----.-----------------------.
04/01/2025, 07:10
t.me/madteacher_channel/688
‼️В спецификацию Dart готовится обновление‼️

Замечен черновик новой фичи - Metaobjects 😎

Этот механизм позволит отображать тип (например, класс) в специальный метаобъект, отвечающий за «виртуальные» статические члены и конструкторы данного типа.

Основные моменты фичи:

🔧 Виртуальные статические члены. Сейчас в Dart для вызова статических методов нужно явно указывать имя конкретного класса (например, Foo.foo()). С метаобъектами можно вызывать статические методы через переменную типа, даже если тип известен только во время выполнения.

• 🏗 Виртуальные конструкторы. С помощью метаобъектов можно будет создавать объекты (вызывать конструкторы) через абстрактные типовые переменные.

•✅ Изменения в синтаксисе и статическая гарантия типов. Новая пара ключевых конструкций static implements и static extends позволит компилятору гарантировать, что метаобъект будет иметь необходимый интерфейс для вызова соответствующих статических членов или конструкторов.

🤖 Имплицитно генерируемые классы. Для каждого класса, где при его объявлении используются static implements или static extends компилятор автоматически сгенерирует скрытый метаобъект-класс, который переадресует вызовы к статическим методам или конструкторам исходного класса.

В целом, данная фича расширяет возможности языка, делая статические члены и конструкторы «виртуальными». Благодаря этому нововведению их можно будет вызывать не напрямую через конкретное имя класса, а через абстрактное представление типа. Другими словами, вы сможете писать более гибкий обобщенный и типобезопасный код 🔫

Ниже приведен пример кода с использованием текущей фичи:
// Интерфейс, описывающий «виртуальный» статический метод.
abstract class Fooable {
const Fooable();
String foo(X x);
}

// Класс A теперь объявлен с ключевым словом static implements,
// что позволяет генерировать метаобъект, переадресующий вызовы.
class A static implements Fooable {
final String name;
A(this.name);

// Статический метод, к которому будет осуществляться вызов через метаобъект.
static String foo(A a) => "${a.name} fooing!";
}

// Функция, использующая метаобъект: тип X (ограниченный интерфейсом Fooable)
// «виртуализирует» вызов статического метода.
String showFoo>(X x) {
return X.foo(x);
}

void main() {
// Теперь можно вызывать статический метод через типовую переменную X,
// что делает код более обобщённым.
print(showFoo(A("MyA")));
}

Как по мне – данная фича чем-то напоминает виртуальную таблицу из С++ 🤣

Ждете?
👍 – О, да, детка!!!
👌 - сомнительно, но Окей
👎 - не вижу от него пользы

#dart_lang@madteacher_channel
В написании книг, как и в программировании - чем больше пишешь, пробуя различные стили и варианты, обыгрывая разные ситуации, тем лучше текст у тебя получается🫠

В качестве примера, давайте приведу небольшой абзац из книги "Основы Go: Community edition", который был написан 3 года назад:

В случае необходимости, у разработчика имеется возможность напрямую обращаться к элементам строки, самый первый элемент которой имеет значение ноль. То есть, как и в других языках программирования индексация списков, массивов и прочего начинается с 0:
package main

import "fmt"

func main() {
str := "at₽"
fmt.Printf("%c", str[0]) // a
}

и как он видоизменился вчера:

Для обращения к конкретному элементу строки (срезу байт) по его индексу воспользуемся квадратными скобками:
package main

import "fmt"

func main() {
str := "at₽"
fmt.Printf("%c", str[0]) // a, т.к. индексация начинается с нуля
}

Единственное, что отличает работу над книгой, от участия в разработке какого-нибудь программного продукта - это то, что ты не можешь, садясь за исправление очередного раздела начать его с фразы: "Что за криворукий это написал?" Тут и так всё понятно😂😂😂
03/28/2025, 09:37
t.me/madteacher_channel/685
Все самые свежие изменения буду выкладывать в созданном курсе на степике - Основы Go (в разработке). Также он будет постепенно дополняться тестами и интерактивными задачами на программирование. Планирую закончить к концу лета. На данный момент перенес туда весь материал из "Основы Go: Community edition".

🔥По 6 апреля действует скидка в 3️⃣0️⃣🔤
03/27/2025, 07:02
t.me/madteacher_channel/684
🚨«Основы Go: Community edition» 1-е издание

Скачать книгу можно в конце анонсирующей статьи на хабре или с моего Boosty.

Огромная просьба, сделать максимальный репост новости про книгу! 🙏
03/26/2025, 10:02
t.me/madteacher_channel/683
пссс... ждете?😎
03/26/2025, 06:59
t.me/madteacher_channel/682
В чем главная сила джунов?

Не так давно обсуждал с одним знакомым этот вопрос и пришли к общему мнению, что главная сила джунов (помимо низкой зп) в отсутствии ментальных блоков, выработанных за годы работы (профдеформация).

Вот есть, например, задача и синьер подходит к ней с накопленным опытом: это работать не будет, так задачу не решить, как вариант можно попробовать эту библиотеку и т.д.

У джунов, с горящими глазами, нет этого стопора и они, порой, способны выкатить такое решение, что мало того, что оно рабочее, так и выбранный подход противоречит всему накопленному годами синьерскому опыту, либо мысль о таком способе даже не мелькнула в голове более старших коллег!
03/25/2025, 10:37
t.me/madteacher_channel/681
❤️ Спасибо большое всем кто был на трансляции

🤟 Отличный онлайн собрали для субботнего утра! И отдельное спасибо всем кто задавал вопросы, вышло интересное обсуждение

Для вашего удобства сразу добавил подробные таймкоды, ведь мы обсуждали не только книгу но и кучу других вопрсов

📺 Для тех кто не мог смотреть в онлайне запись трансляции достпуна на канале
03/22/2025, 13:27
t.me/madteacher_channel/679
Начинаем стрим авторского коллектива "Основы Flutter". Подключайтесь: https://youtube.com/live/oJkjpluOhFE?feature=share
03/22/2025, 11:00
t.me/madteacher_channel/678
Всем привет!
У меня для вас хорошие новости по книге "Основы Flutter" 👀

Глава по локализации утверждена, а значит, в курсе "Основы Flutter" на степике обновление ^_^

Напоминаю, что уже завтра в 11 часов по Мск состоится стрим с авторским коллективом, где немного приоткроем завесу тайны над написанием книги, почему выбран такой сквозной проект, как началось сотрудничество с Surf и Mad Brains по разработке лабораторного практикума к книге и многое другое 🪨
03/21/2025, 17:39
t.me/madteacher_channel/677
Что нового в шестом издании "Основы Dart"?

🚀 Учебный материал актуализирован до Dart 3.7 (добавлена информация по цифровому разделителю и Wildcards), а также добавлены разделы по таким новым функциональным возможностям языка, как: Null-aware elements (Dart 3.8), Static access shorthand (Dart 3.9/10) и Enhanced parts (Dart 3.9/10), которые находятся на стадии внедрения в Dart SDK и появятся в его следующих версиях. Это позволит книге более долгое время оставаться актуальной.

😎 Раздел из четвертой главы, посвященный перегрузке операторов пополнился материалами о Callable objects, когда экземпляр класса может использоваться как функция.

☝️ В пятой главе добавлен материал по конфигурации приложения через переменные среды компиляции и через .env-файл.

🥳 Раздел «Асинхронное программирование» расширен. Добавил материал о преобразовании передаваемых по потоку данных, когда на входе объект одного типа, а клиентский код приложения должен работать с совершенно другим типом данных. Также добавлен подраздел «Низкоуровневая работа с файлами».

😅 Обновлены графические материалы (рисунки).

🫣 Исправлены найденные опечатки, учтены некоторые пожелания и замечания читателей.

Так как закончил перенос материала в курсы на степик и они теперь по наполнению полностью соответствует 6-му изданию книги, по 30 марта будет действовать скидка в 2️⃣0️⃣🔤.

🏛 "Основы Dart 3" (электронная текстовая версия книги с интерактивными задачами на программирование и тестами) - для покупки с 20% скидкой воспользуйтесь этой ссылкой

👀 "Основы разработки на Dart: от юнлинга до падавана" (пакет видео-курсов с текстовым сопровождением, интерактивными задачами на программирование и тестами на проверку усвоенных знаний) - для покупки с 20% скидкой воспользуйтесь этой ссылкой

p.s. Это еще не все новости по обновлениям на сегодня ;)
03/21/2025, 11:12
t.me/madteacher_channel/676
Книга "Основы Flutter" (авторская электронка) преодолела рубеж в 800 страниц и выходит на финишную прямую 😎

Пользуясь случаем напоминаю, что 22-го марта (суббота) в 11 часов по Мск состоится стрим с авторским коллективом, где немного приоткроем завесу тайны над написанием книги, почему выбран такой сквозной проект, как началось сотрудничество с Surf и Mad Brains по разработке лабораторного практикума к книге и многое другое 🪨
03/20/2025, 14:40
t.me/madteacher_channel/675
Из репозитория Dart удалили примеры экспериментов с макросами 🫡

Сама фича не отменена, но на длительное время переехала в IceBox (кубышка замороженных фич) + активизировался процесс выпиливания из макросов функционала аугментации в отдельную фичу со своим экспериментальным флагом augmentations 🫠
03/18/2025, 09:10
t.me/madteacher_channel/674
Так и предчувствую вопросы некоторых людей:
А это точно репозиторий книги по Flutter?
03/17/2025, 06:59
t.me/madteacher_channel/672
На Boosty доступно для покупки 6-е издание авторской электронной версии книги "Основы Dart" и предзаказ 7-го (оно будет добавлено в тот же пост в середине осени):

https://boosty.to/madteacher/posts/4dc87097-41c2-4cf8-bb95-09a6a1cf6020?share=post_link
03/15/2025, 12:05
t.me/madteacher_channel/671
Начинаем стрим: https://youtube.com/live/g-Lp6fmviio?feature=share
03/15/2025, 11:01
t.me/madteacher_channel/670
Всем отлично отдохнуть на выходных и не забываем про завтрашний стрим на ютубе в 11 по Мск 😏
03/14/2025, 17:19
t.me/madteacher_channel/669
Кожанные мешки могут спасть спокойно👀

Те, кто боялся потерять работу из-за ИИ-агентов - выдыхайте 😎 Им тоже лень писать код😂
03/14/2025, 10:34
t.me/madteacher_channel/667
03/14/2025, 10:34
t.me/madteacher_channel/668
‼️В спецификацию Dart готовится обновление‼️

Замечен черновик новой фичи - Generic Constructors 😩

Не прошло и пары месяцев с упоминания о предыдущем заходе на поле конструкторов с фичей Enhanced Constructors, как команда Dart, в тайне от сообщества, начала работу над черновиком еще одного конструктора... на этот раз - универсального... 🛑

По задумке разработчиков, Generic-конструкторы должны позволить объявлять конструкторы с собственными параметрами типов, которые не отражаются напрямую в типе возвращаемого объекта. Это значит, что можно задавать дополнительные зависимости между аргументами конструктора. Сейчас приходится приходится прибегать к менее безопасным способам.

Планируется 2 типа Generic-конструкторов 🫠

1️⃣Простой

На данный момент, если требуется задать связь между параметрами конструктора (например, значение и функция для его вычисления), приходится использовать универсальные типы вроде Object? и Function, что снижает статическую проверку типов:
class C {
final int i;
C(this.i);
C.computed(Object? x, Function func): this(func(x)); // Unsafe!
}
с появлением этого конструктора можно будет явно указать зависимость между параметрами, исключая необходимость runtime-проверок
class C {
final int i;
C(this.i);
C.computed(X x, int Function(X) func) : this(func(x));
}

void main() {
C(42); // Обычный конструктор.
C.computed('Hello', (s) => s.length); // Автоматическое выведение типа.
C.computed('Hello', (s) => s.length); // Явное указание типа.
}

2️⃣ Условный

С помощью этого типа Generic-конструктора можно будет объявлять конструкторы, которые корректно работают только при определенных типовых аргументах.
Сейчас приходится писать такой код
class D {
final X x;
final int Function(X, X) _compare;
D(this.x, this._compare);
D.ofComparable(X x): // Unsafe!
this(x, (dynamic x1, dynamic x2) => x1.compareTo(x2)) {
// Check at run-time that `X extends Comparable`.
if ([] is! List>) {
throw ArgumentError("The type argument failed"
" to satisfy `X extends Comparable`.");
}
}
}
использование универсального конструктора сделает его более лаконичным:
class D {
final X x;
final int Function(X, X) _compare;
D(this.x, this._compare);
D.ofComparable>(X x)
: this(x, (x1, x2) => x1.compareTo(x2));
}

void main() {
D.ofComparable(1); // OK, num удовлетворяет Comparable.
D.ofComparable(1); // Тоже OK.
D.ofComparable(C(42), (c1, c2) => c1.i.compareTo(c2.i)); // OK.
D.ofComparable(C(42)); // Ошибка компиляции – тип не соответствует.
}

p.s. Вот теперь я уже точно уверен, что в команде Dart нашелся какой-то маньяк конструкторов... иначе как объяснить такой набор: по-умолчанию, фабричный, именованный, константный, а теперь вот еще первичный, объявляющий, расширенный и универсальный?👀

👍 - больше конструкторов Богу конструкторов
👌 - сомнительно, но Окей
👎 - не вижу от него пользы

#dart_lang@madteacher_channel
03/14/2025, 06:59
t.me/madteacher_channel/666
🪨 В эту субботу (15.03.2025) в 11 по Мск проведу стрим, посвященный новому (6-му) изданию "Основы Dart" ☺️

Расскажу про добавленные разделы, исходную стоимость авторской электронной версии, что войдет во второе печатное издание от Питера и какие обновления планирую добавить во втором полугодии в 7-е издание книги🫠

По касательной затрону книгу по Go и какие следующие книги и мероприятия на уме. Т.к. "Основам Flutter" будет посвящен другой стрим, про эту книгу вопросы приниматься не будут 😎

Если у вас имеются вопросы, на которые хотели бы услышать ответы на стриме (но не обещаю, что услышите), оставляйте их в комментариях к этому посту 😄
03/12/2025, 16:51
t.me/madteacher_channel/665
‼️🔥Встречайте нового игрока на поле битвы кроссплатформенных фреймворков, который намерен добить своим появлением React Native. Уж кто-кто, а ByteDance (разработчик TikTok) вложили в это детище всю свою душу и надежду потеснить ближайшего соседа с пьедестала. Почему соседа? Да потому что китайский собрат React Native – фреймворк Lynx ориентирован первым делом на Frontend-разработчиков знакомых с React и, само собой, знающих CSS 🤔

Ниже приведены ключевые особенности фреймворка:

👀 Поддерживает разработку по Android, iOS и Web.

🤌 Использует знакомые веб-разработчикам технологии, такие как CSS и React, что упрощает переход веб-разработчиков на разработку нативных приложений.

🔫 Предлагает нативный рендеринг для Android, iOS и веб-приложений, обеспечивая единообразный и качественный пользовательский опыт на всех платформах.

🫣 Благодаря многопоточному движку обеспечивает мгновенный запуск и плавную работу пользовательского интерфейса даже в сложных приложениях.

😑 Использует модульный подход, позволяя разработчикам использовать только те компоненты, которые им нужны.

👌 Фреймворк включает в себя мощную систему маршрутизации, которая обеспечивает чистоту и масштабируемость URL-структур, позволяя эффективно управлять ендпоинтами API и веб-страницами.

🤩 Имеется поддержка нескольких СУБД (включая SQL и NoSQL) со встроенной ORM, что упрощает управление базами данных.


p.s. Пришла пора хоронить React Native? Или снова подымится вой, что это другое и на самом деле анонсирован очередной убийца Flutter? 🤣
03/11/2025, 06:04
t.me/madteacher_channel/664
🚨Большое обновление🚨 курса "Основы Flutter (в разработке)", а значит и самой книги "Основы Flutter" 🥳

Не прошло и недели, как в курс добавился сквозной проект - игра "Тетрис" для главы по Dart (2 варианта консольной версии) и Flutter (по с 2-й по 4-ю главу включительно), а нулевая глава разжилась примером работы с фичей Null-aware elements 😎

В связи с добавленным объемом материалов, цена увеличивается на 300 рублей. Если вы хотели приобрести курс, но на это все никак не было "времени", по 16 марта его можно будет купить по старой цене, воспользовавшись скидкой 🫣

Но это еще не все 😇

22-го марта (суббота) в 11 часов по Мск состоится стрим с авторским коллективом, где немного приоткроем завесу тайн над написанием книги, почему выбран такой сквозной проект, как началось сотрудничество с Surf и Mad Brains по разработке лабораторного практикума к книге и многое другое 🪨
03/10/2025, 06:59
t.me/madteacher_channel/662
С праздником, дорогие и прекрасные девушки! Продолжайте и дальше радовать свои вторые половинки, оставаясь для них маяком в это штормовое время, да и во время штиля ;)
03/08/2025, 14:15
t.me/madteacher_channel/661
В последнее время на хайпе микросервисная архитектура, но мало кто задумывается о том, что она была специально придумана владельцами облачных платформ для зарабатывания большего объема денег🫠
03/06/2025, 14:50
t.me/madteacher_channel/660
Спецификация по Shared Memory Multithreading в Dart обновлена🥳 Это значит, что разработчики всерьез взялись за ее реализацию 🤬

Добавили пример с аннотацией @pragma('vm:shared') для указания разделяемых ресурсов между изолятами, т.е. для нас ничего сверх-нового =) Ведь еще пару недель назад писал об этой аннотации и как ее можно пощупать 😎

#dart@madteacher_channel
03/05/2025, 18:32
t.me/madteacher_channel/659
Всем привет!
У меня для вас хорошие новости по книге "Основы Flutter" 👀

Глава по тестированию отредактирована и утверждена, а значит, на курсе "Основы Flutter" на степике обновление ^_^
03/05/2025, 10:06
t.me/madteacher_channel/658
В московских школах преподавателям повысят зарплаты, а в регионах - поднимут престиж...

Так что лучше для нашей системы образования - сытый преподаватель или престижный нищеброд? 🤔
03/04/2025, 14:42
t.me/madteacher_channel/657
Удалось вернуть авторские права на мою книгу по Go 🥳

Но займусь ей (актуализация + сквозной проект) после того, как передам издательству "Питер" материал по "Основы Flutter" и второму печатному изданию "Основы Dart" 🫠

p.s. Похож на маскота Golang? 😂

Исходная фотка и история ее появления тут: https://t.me/madteacher_channel/304
03/04/2025, 08:03
t.me/madteacher_channel/656
03/03/2025, 09:55
t.me/madteacher_channel/653
В комментариях поступил вопрос, который навел меня на мысль (и она подтвердилась), что надписи 4-й и 5-й карточки перепутал >_<

Спасибо за замечание =) Вот корректный набор карточек ;)
03/03/2025, 09:55
t.me/madteacher_channel/650
03/03/2025, 09:55
t.me/madteacher_channel/651
03/03/2025, 09:55
t.me/madteacher_channel/652
03/03/2025, 09:55
t.me/madteacher_channel/655
03/03/2025, 09:55
t.me/madteacher_channel/654
В Dart 3.8 добавится новая фича - Null-aware elements. Она может использоваться только в теле коллекции и добавляет более простую проверку на null, что делает работу с коллекциями (List, Map, Set) еще удобнее и чище.
Stack(
fit: StackFit.expand,
children: [
const AbsorbPointer(),
if (widget.child != null) widget.child!,
],
)

на
Stack(
fit: StackFit.expand,
children: [
const AbsorbPointer(),
?widget.child,
],
)

Ждете эту "сахарную" фичу?🫠

👍 - О, да, детка
👌 - ну выйдет фича и выйдет
👎 - не вижу пользы от этой фичи

#dart@madteacher_channel
03/03/2025, 08:02
t.me/madteacher_channel/644
03/03/2025, 08:02
t.me/madteacher_channel/649
03/03/2025, 08:02
t.me/madteacher_channel/647
03/03/2025, 08:02
t.me/madteacher_channel/645
03/03/2025, 08:02
t.me/madteacher_channel/648
03/03/2025, 08:02
t.me/madteacher_channel/646
Рубеж в 700 страниц электронной версии книги "Основы Flutter" пройден 🥳🥳

Скорей всего на следующей неделе, после утверждения, курс на степике пополнится главой "Тестирование" 🤬
02/28/2025, 19:53
t.me/madteacher_channel/643
02/28/2025, 11:02
t.me/madteacher_channel/641
02/28/2025, 11:02
t.me/madteacher_channel/638
02/28/2025, 11:02
t.me/madteacher_channel/640
02/28/2025, 11:02
t.me/madteacher_channel/642
02/28/2025, 11:02
t.me/madteacher_channel/639
Пару дней как закончился FlutterConf, поутихли эмоции и теперь можно порефлексировать над тем, как прошла конференция и какие уроки по ее результатам были вынесены:

1️⃣ У нас появилась профильная конференция по Dart/Flutter, с чем всех и поздравляю! Последняя аналогичная конфа – DartUP проводилась Wrike в 2021 году, но с тех пор много что утекло.

2️⃣ Конференция получилась очень крутой и насыщенной! Несмотря на то, что формировалась в авральном режиме >_< В следующий раз подойдем к этому более основательно и откроем прием заявок не за 2 месяца до конференции, а намного раньше) Ждите анонсов 😉

3️⃣Получена позитивная обратная связь от сообщества, а это многого стоит!

4️⃣ 2-й и 3-й доклады получились дисбалансными по наполнению залов. Это наш косяк как ПК и в следующий раз надо более основательно подойти к формированию сетки выступлений. Обидно, что на докладах «ArtVM: встроенная виртуальная микросреда исполнения для Dart» (Максим Ясаков, Яндекс Про) и «Когда корпоративный VPN "портит" жизнь или как собирать приложение в таких условиях» (Олег Скирюк, Билайн) было мало людей, т.к. сами доклады – пушка, но люди пошли на более хайповые темы (Роутер и многомодульность)

5️⃣ Нужно что-то придумать с обедом, 1 часа при такой организации явно мало >_<

6️⃣ 1 часа на круглый стол не хватило, не успели поднять очень острые темы =(

7️⃣ Издательство Питер не рассчитало количество книг «Основы Dart» и все имеющиеся в наличии (все подписанные) были раскуплены в самом начале конференции. Чтобы ускорить выход второго издания, договорились, что в апреле приеду к ним в московский офис и подпишу нехилое количество книг, которые будут продавать на различных площадках по стандартному прайсу

8️⃣ Афтепати прошло на ура! Выбор на квизе названия команды «Задротики нулевой безопасности» задал боевой настрой и нам удалось в жестокой схватке обойти команду Яндекса на 1 балл 😎

Огромное спасибо всем за поддержку данного начинания, обратную связь по докладу и конференции! Для меня это была первая конференция, где помимо участия в программном комитете и спикерстве, пришлось быть ведущим и модерировать круглый стол! Получен бесценный опыт))

И под конец, хочу подвести некую черту, а точнее мысль, которой и закончился круглый стол –
Нам нужно не только собираться вместе и рассказывать, насколько Flutter шикарный (мы все это и так знаем), а еще и доносить эту мысль вовне (руководителям, на широкую публику и т.д.). Это и поспособствует запуску новых проектов на Flutter, открытию новых вакансий, да и вообще, экспансии данного фреймворка на российский IT-рынок.

Всех приобнял! Вы лучшие!! ^_^
02/28/2025, 11:02
t.me/madteacher_channel/637
Вчера открыл на ютубе пару видео и теперь первая глава книги "Основы Dart" доступна не только для любителей читать 😎

1️⃣ Краткая история и основные нюансы

2️⃣ Установка Dart и настройка рабочего окружения

3️⃣ Типы данных int, double, num, bool и операции над ними

4️⃣ Работа со строковым типом данных - String

5️⃣ Всё про List

6️⃣ Тип данных Map

7️⃣ Тип данных Set

8️⃣ Тип данных Record

9️⃣ Модификаторы final, const, late

1️⃣0️⃣ Разбираемся с null

1️⃣1️⃣ dynamic vs Object

Если хочется поддержать мои начинания или неохота смотреть на ютубе с различными вставками, видео можно посмотреть на Boosty, начиная с подписки "Trainee+", на которую сейчас действует скидка в 35%

#dart@madteacher_channel
02/27/2025, 06:59
t.me/madteacher_channel/636
Я тут это... на РЕН ТВ засветился🫠

После того, как не по своей воле пришлось принять участие в желтушных газетных заголовках и сняться в одном из репортажей по этой теме, начинаю под другим углом смотреть на новости, которые вываливаются на нас из различных газет, пабликов и каналов...

В ГУАП приезжали репортеры 78-го канала и взяли у меня и студентов интервью минут на 25, после чего выпустили это чудо, где ответы вырваны из контекста и 25 минут превратились в 40 секунд, а также подстроены под тот нарратив, который хотят пропихнуть телевизионщики, допущены ошибки в моей фамилии и выбран максимально ублюдский кликбейтный заголовок - "Нейросети уличены в способности делать фатальные ошибки"😭🤬🤬
02/25/2025, 11:24
t.me/madteacher_channel/635
😎 Команда Dart SDK стартовала внутренний эксперимент по фиче "Shared Memory Multithreading" и молчат как партизаны, но не на того напали 🤬

Добавлена новая встроенная библиотека - concurrent с несколькими примитивами синхронизации: Mutex и ConditionVariable 😍А также тесты для проверки их работоспособности и возможности изменения экземпляров примитивных типов данных (int, double и т.д.) и классов из разных изолятов.

Логичный шаг, т.к. такие типы данных интернируются при текущей модели памяти Dart и представлены одним экземпляром в куче изоляционной группы, т.е. a = 4 во всех изолятах одной группы ссылается на один объект в памяти.

Для того, чтобы пощупать текущее состояние фичи необходимо перейти на dev или main ветку, использовать над общим ресурсом аннотацию @pragma('vm:shared') и не забыть указать при запуске приложения экспериментальный флаг —-experimental-shared-data

Ждете?🫠

👍 - О, да, детка
👌 - ну выйдет фича и выйдет
👎 - не вижу пользы от этой фичи

#dart@madteacher_channel
02/24/2025, 07:03
t.me/madteacher_channel/631
02/24/2025, 07:03
t.me/madteacher_channel/632
02/24/2025, 07:03
t.me/madteacher_channel/634
02/24/2025, 07:03
t.me/madteacher_channel/633
С праздником, мужики! 🫡
02/23/2025, 12:08
t.me/madteacher_channel/630
В пришедшем на почту письме не хватает только пунктов о продаже души, совести, авторских прав и что должен буду кланяться в ноги директору компании за их щедрую подачку в виде 55 тысяч рублей за проделанную работу😂😂😂
02/22/2025, 14:53
t.me/madteacher_channel/629
Google отказалась от целого направления - Google Developer Expert по Kotlin.



Уже пора хоронить Kotlin и KMP или это снова другое и новость не вызовет бурления в сообществе?🫠
02/21/2025, 08:56
t.me/madteacher_channel/628
Итоги «Мемной битвы»

В тг-каналах эксперта Flutter Conf Станислава Чернышева @madteacher_channel и спикера Станислава Ильина @frezycode проводилась Мемная битва🔥

Победителями стали Никита @mikhailoffs и Булат @mezeksan. Они выиграли офлайн-билет на Flutter-конференцию.

Поздравляем и ждём вас 21 февраля среди участников!
02/21/2025, 08:46
t.me/madteacher_channel/626
02/21/2025, 08:46
t.me/madteacher_channel/627
Круглый стол «Прошлое, настоящее и будущее Flutter» | 18:10-19:10

🔥Вместе с ведущими специалистами Flutter-разработки и программными экспертами Flutter Conf обсудим актуальные вопросы, среди них:

* чем Flutter лучше других кроссплатформенных технологий;
* можно ли смело утверждать, что Flutter готов к кровавому энтерпрайзу и почему;
* какие из следующих фич Dart входят в топ-3 по ожиданию;
* что можно сказать по поводу представленной на FlutterInProduction экосистемы Flutter;
* про отношение к Flock;
* про сложности портирования Flutter-приложения на новые платформы. Например, Kaspersky или Aurora OS. Чего не хватает;
* способна ли ReactNative конкурировать с Flutter;
* чего ждать от Dart и Flutter в будущем.

Участники круглого стола:
* Станислав Чернышев, доцент СПбГУАП, автор книги «Основы Dart»
* Анна Жаркова, руководитель группы разработки, Usetech
* Павел Гершевич, Mobile Team Lead, Amiga
* Юрий Петров, руководитель отдела разработки, Friflex
* Николай Омётов, руководитель отдела Flutter-разработки, MadBrains
* Сергей Кольцов, руководитель мобильной core-команды Яндекс Про, Яндекс Go
* Иван Галкин, TeamLead & Senior Flutter Developer, Surf

📢Билеты и программа по ссылке Присоединяйся к нам 21 февраля (Москва, Radisson Blu Belorusskaya Hotel)
02/20/2025, 06:04
t.me/madteacher_channel/625
Не, ну а вдруг😂😂😂

p.s. взял у https://t.me/koshachyabacyla
02/19/2025, 18:29
t.me/madteacher_channel/624
↙️↖️↕️ У нас в гостях был Станислав [MADTeacher] Чернышев — автор книги "Основы Dart", доцент СПбГУАП, к.т.н.

Какие фичи так и не появились в Dart, почему поставили на заморозку макросы и какие изменения в языке ожидаются в ближайшем будущем?

◾️Смотрите, подписывайтесь и комментируйте☺️

YouTube
VK Video
Rutube

#madbrains_tekhno
02/19/2025, 10:36
t.me/madteacher_channel/623
Прошел на Mobius 2025 Spring😎

Это будет третий по счету доклад по изолятам ^_^

В нем расскажу про изоляционно-плагинную архитектуру в Dart-приложениях и затрону ее переносимость на Flutter 🫠
02/19/2025, 06:59
t.me/madteacher_channel/622
21-го февраля в Москве, на конференции FlutterConf, будет островок издательства "Питер", а значит и возможность разжиться книгой "Основы Dart" (или принести свою) с подписью автора. Главное - знать его в лицо и выловить на площадке😎

Либо прийти послушать доклад "Жизненный цикл фичи в Dart: от issue до релиза" в зале №1 в 10:20. Тогда у него не будет шанса отвертеться🫠

Кто знает, возможно, именно в момент подписи твоего экземпляра книги, в моей голове промелькнет мысль: "Давненько я так не работал правой рукой!!!"😂😂😂

p.s. Если так и не купил билет на конференцию, воспользуйся промокодом «MADTeacher» на скидку 30%, который можно использовать при покупке билета на сайте конференции - https://flutterconf.ru/
02/17/2025, 10:56
t.me/madteacher_channel/620
02/17/2025, 10:56
t.me/madteacher_channel/621
Кто-нибудь объяснит мне, почему после того, как JetBrains заявила об отмене разработки специализированного IDE (на основе платформы Fleet) для Kotlin Multiplatform, никто не хоронит ни Kotlin, ни KMP?

Или это другое и только Dart/Flutter достойны такой участи? 🫠
02/15/2025, 18:53
t.me/madteacher_channel/618
Открыл на ютубе видео из пакета курсов "Основы разработки на Dart: от юнлинга до падавана", посвященные работе с такими типами данных как Set и Record ;)

👉 Тип данных Set: https://youtu.be/22Q9Mqu-38I

👉 Тип данных Record: https://youtu.be/ZEfTPSYPa0o
02/14/2025, 19:48
t.me/madteacher_channel/616
Всем привет!
Для участников хакатона (особенно участвующих дистанционно) был создан тг-чат для общения и оповещений от организаторов: https://t.me/+Z4wQzmFRV2lhYjEy
02/14/2025, 18:23
t.me/madteacher_channel/615
В качестве подарка на 14 февраля (по 31 декабря 2026 года) всё it-сообщество РФ получило старт эксперимента по «добровольной» бесплатной сертификации. Задумка такая, что люди должны каждый год подтверждать свою квалификацию, получая тем самым сертификат на госуслугах.

Пока только начнут выбирать оператора проведения эксперимента, а на пробу пера по получению сертификата можно будет записаться с 31-го мая.

Вся эта задумка открывает ящик пандоры и лоббируется людьми, которые в курсе того, сколько с этой затеи можно будет нарубить сейчас и в последующем. Почему сейчас, если сертификация бесплатная? Более чем уверен, что по примеру цифровых кафедр за каждого прошедшего сертификацию будет отчислять государство, т.е. по факту – мы с вами (вспоминаем про налоги). Так же не забываем, что нужны зарплаты методистам, оплачивать оборудование и т.д.

Давайте посчитаем на примере цифровых кафедр, которые спонсирует минцифры и там студенты в «добровольно-принудительной» форме получают вторую специальность. За каждого студента, который пройдет обучение, государство платит примерно 70 – 100 тыс. (для простоты будем считать – 100). В зависимости от ВУЗа, преподавателю, который запишет курс отстегнут от 160 к до 600 к (до вычета налогов), на преподавательский и технический состав сопровождающий дисциплину уйдет порядка 1 млн. А количество студентов на 1 дисциплине, обычно больше 150 человек. Считаем: 150 * 100 000 = 15 млн., минус расходы на персонал и в среднем случае университет с одной такой дисциплины получает 13 млн. рублей в год. Немаленькая сумма, правда? А если таких дисциплин на цифровой кафедре порядка 7 – 8 на ВУЗ?

Что больше всего пугает с сертификатом – это в какие пучины мы можем погрузиться. Например, не продлил сертификат – пошел в армию, либо ипотека, взятая под 6% становится 21%. А самое дебильное, что это станет обязательной процедурой для гос. учреждений (или около государственных), либо обяжут аккредитованные компании, чтобы они не теряли налоговых льгот и прочих ништяков, содержать в штате определенный процент «сертифицированных» специалистов.

Последние годы из всех щелей IT-шников чуть ли не выделяли в отдельную касту. Довыделялись, млять…
02/14/2025, 10:26
t.me/madteacher_channel/614
🎉🎉🎉 В ходе стрима злостным победюном во второй мемной битве на канале признан @mikhailoffs, с чем и поздравляю!!!

В ближайшее время организаторы свяжутся по поводу билетика на конференцию FlutterConf ;)

p.s. если есть желание попасть на конференцию, используй промокод mem_flatter дающий 30% скидки при покупке билетов ^_^
02/13/2025, 17:27
t.me/madteacher_channel/613
Search results are limited to 100 messages.
Some features are available to premium users only.
You need to buy subscription to use them.
Filter
Message type
Similar message chronology:
Newest first
Similar messages not found
Messages
Find similar avatars
Channels 0
High
Title
Subscribers
No results match your search criteria