Search
Write a publication
Pull to refresh
10
0

Моя литера Т стремится к равнозначности линий

Send message

Анонс Dart 3.4

Reading time4 min
Views2.2K

Dart 3.4 вышел сегодня! Этот релиз демонстрирует совместные усилия Dart и Flutter в посте Flutter 3.22 / Dart 3.4 / IO24, так что обязательно ознакомьтесь с полной информацией там. В этом посте мы расскажем о поддержке WebAssembly, а затем подробно остановимся на одном из основных пунктов дорожной карты для языка Dart на этот год: макросы.

Автор: Michael Thomsen

Ура, анонс!

Dart 3.1 и ретроспектива программирования в функциональном стиле в Dart 3

Level of difficultyMedium
Reading time14 min
Views3K

Сопоставление шаблонов (pattern matching) и исчерпывающие переключатели (exhaustive switches) объединяются для создания функциональных моделей данных, которые легко сочетаются с объектно-ориентированным ядром Dart. ?

Читать далее

Cardoteka — техническая начинка и аналитика решений типобезопасной SP [кто любит вдаваться]

Level of difficultyHard
Reading time28 min
Views520

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

Узнать далее

Приложение викторины: внедрение Cardoteka и основные паттерны проектирования с Riverpod

Level of difficultyHard
Reading time32 min
Views863

Как здорово, что все мы здесь сегодня собрались.

Если очень хочется создать викторину, то почему бы и да! Но на пути будет много увлекательных происшествий. Эта статья на гране сумбурного изыскания лучших паттернов проектирования. Вот что рассмотрено:

о слоях и взаимосвязях в архитектуре

формула: 2x реактивность = Riverpod + Cardoteka

особенности проектирования бизнес-логики

лучшие паттерны для работы с Cardoteka

определение репозиториев и про Trivia Api

настройка github actions для деплоя web и релиза подписанных apk ?

И всё это под лязг пластмассовых катан. Прошу, вы устанете, но будет весело!

Повеселиться и устать

Я сделал Cardoteka и вот как её использовать [кто любит черпать]

Level of difficultyEasy
Reading time11 min
Views2.2K

Привет! Самое время в предновогоднее настоящее поделиться с вами опенсУрс проектом :) Встречайте -> Cardoteka <- строгая типизированная обёртка над Shared Preferences (SP) в мире Flutter. Этот материал будет коротким, с рекламными нотками (а точнее, приглашающий к дискуссии в issues и в комментарии) и readme-подтекстом. Так или иначе, это заслуженная метка "Обзор".

https://github.com/PackRuble/cardoteka

https://pub.dev/packages/cardoteka

Читать далее

Анонс Dart 3.2

Reading time6 min
Views5K

Улучшены языковые возможности и опыт разработчиков, а также обновлена информация о веб-приложениях и Wasm

Авторы: Kevin Moore & Michael Thomsen

Сегодня мы анонсируем Dart 3.2, в котором появилась новая языковая функция для non-null продвижения приватных конечных полей, улучшен опыт разработчиков за счет новых возможностей взаимодействия, поддержка расширений в DevTools, а также обновлен дорожный план веб-разработки, включающий поддержку Wasm (aka WebAssembly).

Что новенького!

Puro — эффективный способ управления Flutter-версиями

Level of difficultyEasy
Reading time3 min
Views1.3K

Из уст переводчика: инструмент puro совсем новый по меркам продуктовой разработки (первый релиз – октябрь 2022), но, по моему личному мнению, api его уже достаточно стабилизирован, а сам инструмент выражает искреннюю радость подходами. Большинство его текущих преимуществ (и выгодных отличий от fvm) я разбирал ранее в этом исчерпывающем материале – "Полное руководство по использованию FVM (Flutter Version Management) – жонглируйте версиями Flutter sdk в своих проектаx" – где вполне наглядно показано торжество puro...

Читать далее

Полное руководство по использованию FVM (Flutter Version Management) – жонглируйте версиями Flutter sdk в своих проектах

Level of difficultyHard
Reading time17 min
Views8.6K

В жизни разработчика рано или поздно наступает момент, когда проектов становится так много, что одной единственной (обычно это stable) версией flutter sdk уже не обойтись. В данной статье мы рассмотрим консольный инструмент fvm для управления версиями flutter sdk, ВСЕ имеющиеся в нём команды и пройдём путь от установки до использования в проекте.

В качестве бонусных аспектов я также уделил время на изучение Sidekick (графическая оболочка для fvm) и на разбор имеющихся аналогов (Puro – сильно уверен, что вы не слышали о таком инструменте).

Прошу к изучению ?

fvm use stable

Использование Provider, Riverpod, Bloc(Cubit), Redux, MobX на одном простом примере

Level of difficultyEasy
Reading time12 min
Views15K

Управление состоянием – это фундаментальная концепция всех фреймворков для разработки приложений, и Flutter не является исключением. Существует несколько техник и инструментов, которые можно использовать, и выбор наиболее подходящего из них часто зависит от сложности и требований приложения, которое вы создаете. В этой статье рассмотрено несколько отличных способов управления состоянием – (с помощью) Provider, Riverpod, Bloc(Cubit), Redux, Mobx.

Узнать

Метод setState() во Flutter может работать не так, как вы это представляете

Level of difficultyEasy
Reading time3 min
Views4.8K

Вот несколько неловкое предположение, которое я сделал относительно setState, когда начал изучать Flutter почти 4 года назад.

Все мы знаем setState из примера со счетчиком. Каждый раз, когда мы хотим обновить _counter, мы также должны обернуть его в анонимную функцию, которую нужно передать в setState. В противном случае фреймворк не будет знать, что было обновлено.

Через четыре месяца моего путешествия по Flutter я обнаружил, что это предположение не соответствует действительности.

Что не так?

Анонс Dart 3

Level of difficultyEasy
Reading time10 min
Views9.2K

100% sound null safety. Records, patterns, and class modifiers. And a peek into the future.

Привет с Google I/O 2023. Сегодня в прямом эфире из Mountain View мы анонсируем Dart 3 — крупнейший релиз Dart на сегодняшний день! Dart 3 содержит три мажорных улучшения. Во-первых, мы завершили путь к 100-процентной null-безопасности. Во-вторых, мы добавили новые языковые возможности: записи (records), паттерны (patterns) и модификаторы классов (class modifiers). В-третьих, мы даем предварительный прогноз на будущее, в котором расширим поддержку наших платформ, добавив нативный код для web с помощью Wasm-компиляции. Давайте углубимся в детали.

Читать далее

Проектируем flutter-приложение «чистым» способом используя bloc

Level of difficultyMedium
Reading time10 min
Views30K

Спроектировать и построить приложение не так-то просто. Как правило, всё упирается в продуманную архитектуру, которая должна быть масштабируемой и легко поддерживаемой. Данный материал предлагает вполне элегантный способ, в некотором роде основанный на чистой архитектуре (Clean Architecture).

Рассмотрены:

взаимодействия слоёв

структура папок

основные характеристики каждого уровня

Предлагаю определить сильные и слабые стороны данного предложения.

?

Управляйте своим Flutter приложением на лету с помощью Firebase Remote Config

Level of difficultyMedium
Reading time14 min
Views8.5K

Обновления в реальном времени, feature flagging и A/B тестирование – что, если я скажу вам, что вы можете включить эти мощные функции в своё приложение Flutter с минимальными усилиями по разработке и без каких-либо затрат? В этой статье я расскажу о нескольких реальных случаях использования, когда Firebase Remote Config может помочь вам при создании приложений Flutter.

Если вы предпочитаете видеоконтент, посмотрите видеоверсию этой статьи на YouTube (EN).

Узнать больше...

Эй, разработчики Flutter, я слышал, что вам нравятся модификаторы классов

Level of difficultyEasy
Reading time4 min
Views2.8K

В Dart 3.0.0 появилось много новых вещей. Об одной из таких – модификаторы классов – мы сегодня и поговорим.

Спойлер: 5 новых модификаторов + их комбинации: Base, Interface, Final, Sealed и Mixin.

Узнать

SharedPreferences отличное хранилище для вашего flutter-приложения. Но есть нюансы…

Level of difficultyEasy
Reading time11 min
Views8.9K

Вы задаёте себе вопрос, какое хранилище данных выбрать для flutter-приложения? Отлично, тогда продемонстрирую, каким образом можно воспользоваться key-value решением, используя два метода set() и get() для всех типов данных*, и не разбрасываться ключами по всему коду.

Данный способ уже используется в приложении Weather Today.

Что там под звёздочкой

Как быстро и легко локализовать приложение на flutter. Riverpod + slang

Reading time12 min
Views5.6K

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

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

Узнать больше

Почему анимированная погода – это код из конфигуратора или История одного грустного пакета

Level of difficultyMedium
Reading time18 min
Views1.7K

«Чёрт, где искать эти ваши бесплатные и безвозмездные ресурсы для коммерческого и личного пользования в своих богоподобных разработках?» — именно так, неудачно и нетерпеливо воспользовавшись поиском, я решил создать анимацию с помощью кода, дабы украсить личный проект — приложение погоды Weather Today.

Как был создан пакет по анимации погодных условий и зачем понадобился конфигуратор ⤦

Читайте далее

Как создать консольное приложение на языке dart, используя пакет weather_pack?

Reading time12 min
Views4K

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

Допустим...

Information

Rating
11,649-th
Registered
Activity