Юрий Петров | Flutter | Go
1.78K subscribers
421 photos
37 videos
16 files
640 links
Приветствую друзья, здесь вы найдете все, что касается мобильной разработки, мы хорошо знаем Flutter
#flutter #dart

Чат для обсуждения : https://t.me/dev_hut
Download Telegram
Forwarded from Oh, my Flutter (Mikhail Zotyev)
Dart работает при помощи своей виртуальной машины. Наверное, понимание как она работает - это не тот навык, который нужен каждый день для работы, но в любом случае это будет полезно для поднятия общего уровня владения инструментом.

📌 Введение в Dart VM от Вячеслава Егорова доступно по ссылке.

#dart #документация
👍8
https://youtu.be/NJfaBqbBWd0?feature=shared

Друзья, всех с наступающим праздниками. Сделал небольшое превью курса "Dart 3 в действии".
Этот курс знакомит с языком программирования Dart, который является основой для разработки мобильных и веб-приложений, в том числе с использованием популярного фреймворка Flutter. Курс охватывает все аспекты, начиная от базовых концепций и заканчивая продвинутыми техниками программирования, что позволяет студентам постепенно наращивать свои навыки и уверенность в написании эффективного кода.
Что вы получаете?
✔️ Знания языка Dart
✔️ Именной сертификат о прохождении курса
✔️ Практический опыт
✔️ Материалы для самостоятельного обучения: Вы получите постоянный доступ к урокам, и сможете использовать материалы как шпаргалку.
🤝 Получить доступ к урокам:
Для Российских подписчиков - https://stepik.org/a/120892
Для Зарубежных подписчиков - https://boosty.to/mr.developer
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
Всем привет, друзья. 👋
Наверно все знают Станислава Чернышева, автора книги “Основы Dart”. Мы вместе с ним и другими ребятами начинаем писать книгу!

💪 Теперь у нас целая команда:

1️⃣ Станислав Чернышев - автор канала MADTeacher на YouTube, тг-канала MADTeacher и учебника "Основы Dart".

2️⃣ Павел Гершевич - Flutter Team Lead в Amiga и соавтор Flutter.Много. Спикер различных конференций и автор канала Flutter Tech-Lead Notes.

3️⃣ Я Юрий Петров - Flutter Tech Lead в компании Friflex, автор YouTube и одноименного тг-канала «Мобильный разработчик», а также курсов на платформе Stepik

4️⃣ Станислав Ильин - Flutter Team Lead в Поток'е. Автор YouTube и одноименного тг-канала "Стас Ильин"

ВАЖНО❗️
За прошедший месяц мы утвердили структуру книги и распределили главы. Так как информации очень много, и всё, что мы хотим рассказать сообществу, просто физически не умещается в одну книгу

🔥 планируем выпустить две части:

✔️ Основы Flutter. В этой части будет всё, что нужно знать Flutter разработчику.

✔️ Продвинутый Flutter. В данной книге, будет более углубленное изучение фреймворка, архитектура, подходы, пакеты и так далее.

Все самые свежие материалы книги, прошедшие редактуру, будут выкладываться в курс на Stepik - Основы Flutter (в разработке). Это позволит нам собирать быструю обратную связь по добавленному материалу и вносить правки. Также пока продумываем возможность различных активностей для обсуждения книги (стримы, коллаборации и т.д.).

Хочешь принять участие? Предлагай тему сквозного проекта для книги, и если авторскому коллективу она понравится - мы добавим отдельное упоминание в графе с благодарностями.

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

В связи с этим событием, по 7-е июля можно приобрести следующие курсы со скидкой:

🔥Основы Flutter (20%)

🔥Dart 3 в действии (20%)

🔥Go (Goland) + Gin = быстрый бекенд для заметок (20%)

🔥Dart+Flutter - быстрый gRPC бек и клиент для чата на Protobuf (20%)

🔥Создаем RESTful бекенд на Dart и клиент на Flutter (20%)

Если хотите, чтобы книга получилась максимально полезной, ждем лайки и максимальную поддержку сообщества! 😊

#flutter #dart
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25👍21
Media is too big
VIEW IN TELEGRAM
Мега крутое выступление Вячеслава Егорова про то как работает среда выполнения Dart.
Из выступления вы узнаете:
✔️ Как работает компилятор в Dart
✔️ Что такое IRHydra 2
✔️ Как вызывать Dart код из Swift
✔️ Как в Swift реализовать горячую перезагрузку c помощью Dart кода
✔️ Как в Jetpack compose реализовать горячую перезагрузку ч помощью Dart кода
✔️ Некоторые умопомрачительные новые функции которые знает только команда Dart

📌 Смотреть на VK:
https://vk.com/flutter_na_ruskom
📌 Оригинал:
https://www.youtube.com/watch?v=jV2Zx3hjHPc

#dart #mraleph
Please open Telegram to view this post
VIEW IN TELEGRAM
Итак... #FlutterInProduction можно разбить на 3 части:

👉 Разговор про эры развития Flutter:

👨‍🚀эра экспериментов (2014 - 2018)
🌲эра роста ( 2018 - 2022)
👷‍♂️Эра кровавого энтерпрайза (начиная с середины 2022 года)

Разработчики наконец-то определились со зрелостью фреймворка и на протяжении этой части (да и всего мероприятия) нам показывали, что Flutter применяется в разных областях и довольно крупными компаниями ^_^

👉 Экосистема

Тут было про поддержку различных IDE, что на pub доступны более 50к пакетов. Заострили внимание на том, что вокруг Flutter выстраивается экосистема (FlutterFlow, Shorebird, Serverpod, Codemagic), в то время как он сам по гланды интегрирован в экосистему Google☝️

Отдельно следует отметить упоминание о Flutter Consultants, что говорит о реальной зрелости фреймворка😎

👉 Если обобщить все услышанное с секцией Roadmap, получится следующая выжимка над чем будет работать команда Flutter в 2025 году:

👀 Точность воспроизведения платформ. Такое обновление виджетов, чтобы у людей не складывалось ощущение, что это Flutter

🫡🔥 Impeller (Flutter GPU) не только на мобилках, но и на десктопе (web пока под большим вопросом)

🔥🎉🥳 Средства предварительного просмотра виджетов с поддержкой редактирования

🔥🎉🥳 Прямое взаимодействие с native platform

🔥🔥🔥 Ускорение написания и упрощение чтение кода (p.s. это подгорает мой пердак от увиденных декораторов 😂, первичный конструктор - норм тема😎)

Не все показанное может быть реализовано на 100% От некоторых фич могут отказаться или перенести на потом.

А что вы думаете о прошедшем мероприятии?

#flutter@madteacher_channel #dart_lang@madteacher_channel
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍2
‼️В спецификацию 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 x, int Function(X) func) : this(func(x));
}

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


2️⃣ Условный

С помощью этого типа Generic-конструктора можно будет объявлять конструкторы, которые корректно работают только при определенных типовых аргументах.
Сейчас приходится писать такой код
class D<X> {
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<X>`.
if (<X>[] is! List<Comparable<X>>) {
throw ArgumentError("The type argument failed"
" to satisfy `X extends Comparable<X>`.");
}
}
}

использование универсального конструктора сделает его более лаконичным:
class D<X> {
final X x;
final int Function(X, X) _compare;
D(this.x, this._compare);
D<X>.ofComparable<X extends Comparable<X>>(X x)
: this(x, (x1, x2) => x1.compareTo(x2));
}

void main() {
D.ofComparable(1); // OK, num удовлетворяет Comparable.
D.ofComparable<num>(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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9👎7