Программирование : Dart & Flutter по-русски
Чел...
тоесть если я в майаппе сделаю прикеш, то в любой части приложении картинка будет появляться моментально?
Maxim Gora
ну если она уже загрузится, то да
Чел...
ну можно попробовать
Денис
хотя бы куда копать, нигде ключ navigator не использую, и Hero тоже. Есть observer но я его убирал и все равно та же ошибка
Maxim Gora
А во время чего вы вызваете popUntil?
Maxim Gora
[
{
"type": "mention",
"text": "@kidok313"
}
]
Денис
При нажатии на IconButton в AppBar
Денис
IconButton обернут в BlocBuilder
Чел...
всё равно долго. Я плюс картинку обрезал, чтобы не такой большой размер был. Где-то на секунду быстрее, но всё равно очень долго
Чел...
тут разве, что сплеш скрин поможет
Денис
на github есть решение что нужен delay перед popUntil, но у меня даже после секундной задержки все равно таже ошибка
Vadim Lukichev
[
"ключ и хероконтроллер это в самом коде навигатора. Ассерт кидается по вот этому\n",
{
"type": "pre",
"text": "bool _debugLocked = false; // used to prevent re-entrant calls to push, pop, and friends",
"language": ""
},
"\nтут говориться, что в момент уже выполняюещгося роутинга скорее всего вызывается повторный роутинг\nсоответственно похоже на проблемы с вызовом не оттуда откуда надо несколько раз)"
]
Денис
это я прочитал, но у меня ничего не вызывает роутинг в данный момент кроме кнопки
Maxim Gora
А кнопка своя?
Vadim Lukichev
возможно дерево перестраивается?
admin
[
"Hi,\n\nFlutter 1.20.0-7.3.pre is now available on the beta channel. This is our 2nd beta release from the 1.20 release branch. This release contains Dart 2.9.0-21.10.beta.\n\n1.20.0-7.3.pre \nNotable cherrypicks:\n ",
{
"type": "link",
"text": "https://github.com/flutter/flutter/issues/62100"
},
"\n ",
{
"type": "link",
"text": "https://github.com/flutter/flutter/commit/5abe2d336409435dcfa9efa16aeec90f9ce37b04"
},
"\n\n Engine\n ",
{
"type": "link",
"text": "https://github.com/flutter/flutter/issues/62079"
},
"\n ",
{
"type": "link",
"text": "https://github.com/flutter/engine/commit/88ebc371068b4e8afd0e7e533ea1cd152362f45f"
},
"\n\n Dart 2.9.0-21.10.beta\n ",
{
"type": "link",
"text": "https://dart.googlesource.com/sdk/+/e2ea2e82e8785e18df30b7a06ef7cbc73fd9a81a"
},
"\n\nThanks!\npatrick, on behalf of the Flutter & Dart teams.\n\n",
{
"type": "hashtag",
"text": "#Updates"
},
"\nJoin ???? ",
{
"type": "mention",
"text": "@Flutter_Updates"
},
""
]
Денис
Возможно перестраивается один из виджетов на предидущих страницах, но это же не должно влиять на другой скаффолд?
Денис
хотя убрал add евента в блок и все равно та же ошибка
Vadim Lukichev
а выделить работающий кусок с этой проблемой в гист можешь?
Денис
конкретный кусок выделить не смогу, потому что уверен что проблема где-то на предидущих скаффолдах(( но не могу найти что может так блочить навигатор
Денис
все вызовы навигатора
Денис
о боже, я кажется понял ??
Maxim Gora
А у вас все роуты именованые?)
Денис
у меня вызывается pushReplacementNamed похоже когда я уже в другом скаффолде
Денис
за кучу страниц до ошибки
Денис
я думал этот скаффолд уже давно мертв, так как он был закрыт pushReplacement-ом
Вячеслав Кулинич
Кажется тут кто-то кидал ссылку на бесплатный курс по flutter
Alexander Т.
Для тех, кто с нуля в мобилках или с какой-то платформы?
Денис
если кинут пингани пожалуйста) буду ребятам кидать) постоянно спрашивают)
Alexander Т.
[
"Есть такое:\n",
{
"type": "link",
"text": "https://www.udacity.com/course/build-native-mobile-apps-with-flutter--ud905"
},
""
]
toTheMoon??
А есть адвансед курс?
Alexander Т.
[
"Имел ввиду тех, кто уже разрабатывал под мобильные платформы и просто осваивает новое направление.\nКурс такой:\n",
{
"type": "link",
"text": "https://www.appbrewery.co/p/intro-to-flutter"
},
""
]
toTheMoon??
Ну эт я прошел, думал может есть че углублённое
Alexander Т.
Из бесплатного - только документация и статьи, наверное)) Может что есть из платного на Udemy, но я не искал.
NewBalanceM5
[
{
"type": "link",
"text": "https://t.me/FlutterDevRu/369"
}
]
Вячеслав Кулинич
Кажется искал это, посмотрю на сколько хорош. Спасибо
Вячеслав Кулинич
Пингую =)
Alexander Т.
Это тот же интро курс, что и я кинул выше.
??†e???
[
"Альфа-версия Flutter для Linux и разработка настольных приложений\n",
{
"type": "link",
"text": "https://habr.com/ru/company/ruvds/blog/512860/"
},
""
]
??†e???
Какой-то перевод корявый, так и не понял речь идёт о возможности во флаттере релизить приложения для линуха или заниматься разработкой на флаттере под линухом?
Aleksandr
flutter config --enable-linux-desktop
Andrey Novatovski
Чото они не туда растут
Andrey Novatovski
Какой линух
Денис
всегда можно было же под линухом разрабатывать) а вот под него нельзя было)
Aleksandr
кодить под линухом и до этого можно было, а вот в линукс приложухи - видимо новинка
??†e???
Ну я тоже так подумал, вскод то под линух есть
Aleksandr
проще сказать под чего vscode нету
Andrey Novatovski
Да норм, но я бы больше сделал для мобильных
Andrey Novatovski
Наверно
Павел Середа
а там труда не должно составить добавление в линух десктоп, основная задача ведь вывести визуальщину через opengl
??†e???
Да имхо норм наоборот. Вангую резкий рост популярности флаттера
Павел Середа
они и так уже популярен :)
Денис
это насколько мне известно разные отделы)
Урусай
[
"Народ, а кто нибудь сталкивался с ошибкой \"",
{
"type": "link",
"text": "PageController.page"
},
" cannot be accessed before a PageView is built with it.\" при вызове метода PageController.nextPage? Как фиксить?"
]
Урусай
Ага. Я контроллер к pageview не привязал. Гений
Slava Slavajun
Как сделать так чтоб виджет появлялся на весь экран по нажатию на кнопку?
Андрей Козак
открой его в попапе
Pavel Vasilenko
Если я правильно помню, то для кеширования изображений в main, можно подставить null
Andrey Novatovski
кто знает варианты куда можно закинуть json файл, чтобы при переходе он сразу скачивался?
Slava Slavajun
Чтоб по нажатию на кнопку можно сказать переходил на новую страницу но чтоб сохранялся bottom navigation bar, show dialog как я понял нельзя растянуть на всё окно
Slava Slavajun
При переходе куда?
Andrey Novatovski
по ссылке. + файл чтоб можно было редактировать
toTheMoon??
А как то писала сюда команда "дружелюбных" разрабов хотели видео запилить и вроде все голосовали за пуши, они скидывали что?
Slava Slavajun
По определённой ссылке или по ссылке который напишет пользователь?
Andrey Novatovski
ну закидываешь файл куда-то и тебе ссылку на скачивание дают статичную, то есть редачить файл можно будет
Slava Slavajun
[
"Редачить да, читаешь JSON в ",
{
"type": "link",
"text": "pub.dev"
},
" есть пакет по JSON, и вставляешь в text field и с помощью path_provider обновляешь файл"
]
Andrey Novatovski
ты щас про что?
Andrey Novatovski
мне нужно хранить json где-то в инете, чтобы скачивать его оттуда
Slava Slavajun
[
"Можно редактировать файл JSON, про скачивание в ",
{
"type": "link",
"text": "pub.dev"
},
" есть плагины"
]
Арсений Калиниченко
Всем привет. Подскажите, как сделать переходы между экранами регистрации не линейными? Сейчас экран ввода логина при нажатии на кнопку вызывает экран ввода пароля, тот в свою очередь вызывает экран ввода имени и так далее. Кажется, что можно в каждом экране выкидывать событие, чтобы его что-то извне обработало и перешло на новое, или написать итератор по этим экранам. Но пока не понимаю как это можно сделать.
Andrey Novatovski
хах, это не android kotlin/java это флатер
Арсений Калиниченко
Но приложение на флаттере) Думаю, идею с котлина/джавы можно переместить на флаттер
Andrey Novatovski
я если честно не понял вопроса, что значит линейный переход
Арсений Калиниченко
В данном случае - в каждом экране при нажатии на кнопку заложен переход на определенный следующий. Как мне кажется, это немного неправильно со стороны архитектуры
Арсений Калиниченко
Или это приемлемо?
Max
Это называется "роутинг")
Max
И только тебе как разработчику виднее, в какик случаях его можно хардкодить, а в каких стоит делегировать специальному сервису. Но в большинстве приложений хардкодить - нормально.
Андрей Козак
Таб навигатор можно сделать через nested navigators. И попап дёргать внутренним навигатором
Андрей Козак
Ну либо просто маргина снизу попапу добавить чтобы не перекрывал
Андрей Козак
Ток во втором случае, клики по таб навигатору проходить не будут скорее всего
Арсений Калиниченко
Спасибо)
Vyacheslav
всем привет, подскажите с такой ошибкой: в дебаге ошибок нет, все работает. При сборке релизного apk перестает работать авторизация Google SignIn и плагин cahed_network_image не загружает картинки. При этом приложение загружает файлы из firebase storage и из firestore Закинул релизную апку в эмулятор и посмотрел логи, вот что пишут при старте приложения... Как найти проблему, почему нет имплементации плагинов? flutter run —release на реальном устройстве все работает...
Andrew Ka
[
"Подскажите, есть ли что-то подобное для форматирования текста на Dart?\n\n",
{
"type": "link",
"text": "https://github.com/typograf/typograf"
},
""
]
Alisher
Вы изучаете флаттер через андроид студию?
Alisher
Я знаю флаттер Есть ли работа?
Max
Частая история - люди могут знать Dart и Flutter лучше, чем русский
Урусай
В firebase нельзя выбрать тип аккаунта "Личный" если в графе "Страна" выбираешь "Российская федерация"? Што?
Alisher
да я не русский но я хорошо знаю программирование
Kirill Aparin
[
"У меня есть \n",
{
"type": "pre",
"text": "BoxDecoration(\n image: DecorationImage(\n \n image: AssetImage('assets/sound_button.png',),\n fit: BoxFit.contain))),",
"language": ""
},
"\nХочу, чтобы она была темнее. Какой BlendMode в ",
{
"type": "pre",
"text": "colorFilter: ColorFilter.mode(Colors.black, BlendMode.),",
"language": ""
},
" выбрать?"
]
Alisher
zip файл, распаковка, хорошая игра
Даниил Чашков
Ребят, кто пользовался hive, можете подсказать, почему Consumer не перестраивает виджет?
Dima
если я правильно понял, ты копировал данные из hive
mark
[
"встречал кто что-то подобное но для горизонтальных прокруток?\n",
{
"type": "link",
"text": "https://pub.dev/packages/draggable_scrollbar_sliver"
},
""
]
Artem
Подскажите пожалуйста, что-то не понимаю как так происходит. Почему массив output вроде как не стал новым, а привязался к array1 main() { List array1 = ["John", "Bob", "Fred", "June", "Tom"]; List array2 = ["House", "Flat", "Bungalow"]; var output = array1; var array2_new = array2; output.addAll(array2_new); print(output); print("WTF"); array1.addAll(array2); print(array1); print(array2); print(output); }
В первом выводе output отличается от того, что в последнем
Юджин Баладжахе
А причем тут wasm, вы хотели сказать, с канваса перейдут на DOM? А есть пруф? Это было бы странно, ведь флаттер как раз задумывался как способ слезть с браузерного движка, как слишком сложного и прожорливого. Если рендерить в DOM, то круг замкнется, и все пропало )))
Andrew Ka
[
{
"type": "link",
"text": "https://youtu.be/QJ2YCM7OpvU"
}
]
northelks
макрасовтовский блэйзер с васмом уже работает на ура
Andrey Derkach
3 часа 10 минут исследовал анимацию для HotButton. Фигасе у тебя терпение
Андрей Козак
c канваса на WASM
Юджин Баладжахе
Так васм к рендеру отношения не имеет, он оперирует dom как и js. Речь идет о замене канвас-рендера на честный html-css-рендер, чтобы текст выделялся, странички сохранялись и т.д. Непонятный гемор.
Андрей Козак
инфа много раз проходила, но чот пруфов нормальных не нашел
Юджин Баладжахе
wasm не умеет рендерить )))
northelks
да, канвас-рендер во флаттере вебе это какая-то боль
Андрей Козак
тут речь про аналог блазора
Андрей Козак
полный рендер на wasm
northelks
попытка уйти от DOM это пересоздание флэша какое-то)
Андрей Козак
[
{
"type": "link",
"text": "https://github.com/flutter/flutter/issues/41062"
}
]
northelks
why flutter web doesn't use WASM instead of dart2js ?
Андрей Козак
ну фиг знает, со стороны весь http + браузерный дом+ js выглядит как гигантский набор костылей, который никто не может выкинуть
northelks
правильно задавать вопрос не о флаттере, а о дарте)
Андрей Козак
хотели кнопки анимировать, а сделали монстра
Андрей Козак
чобы не попробывать сделать сайтики в виде исполняемых программ, пох что в браузере
Андрей Козак
как концепт вроде норм
northelks
норм всё, в движке v8 уложено уже куча человеко-часов опытных спецов и это всё не один и не два года с магией завёрнуто
Андрей Козак
даже не сайтики, а веб приложения
Юджин Баладжахе
Понятно, блазор рендерит в html, чудес не бывает. Кого не спрашиваю - массово переходят на react-mobx-material-ui и отказываются от мобильных приложений совсем. Браузер как платформа по прежнему рулит, и похоже с отрывом.
Vadim Lukichev
а разве в вебе не на SKIA планируют рендеринг первести, тем более в хроме скиа и так под капотом
northelks
по итогу v8 стал крутым
northelks
[
{
"type": "link",
"text": "https://github.com/dart-lang/sdk/issues/32894"
}
]
Юджин Баладжахе
Один умный скроллинг чего стоит, а на флаттере все заново, и ручками...
Юджин Баладжахе
Ничо не изменит, разве что нейросетки какие гонять будет быстрее, или картинки обрабатывать. Рендеринг будет как на реакте, с тормозами.
northelks
да, css сам по себе вполне норм и быстрее используется, для стилистики
northelks
ну и SEO, куда уж без SEO
Андрей Козак
хер знает, когда ссаный реакт бандл весит по паре мегабайт, качать исполняемый сайт ни так уж и дико выглядит имхо
Юджин Баладжахе
Программеры матюкаются только, style scoped так вообще отказались делать, сказали пипец как сложно
northelks
тут суть больше в том, что дарту сложно в васм компилиться
Юджин Баладжахе
Любой системе с GC сложно в wasm компилиться, поэтому Rust рулит и C
northelks
реакт по себе очень и очень мало весит, это просто чудо веб программеры такие ушлёпки
northelks
go умеет в васм)
northelks
у него тоже есть что-то вроде GC
Юджин Баладжахе
Пустое приложение бандл 500K
Юджин Баладжахе
магия бл...
northelks
баднл вес - это джс боль
northelks
там 80% хрени какой-нибудь собирается как зависимость
northelks
но которая не используется
Андрей Козак
я больше ору с работой с датами в js
Андрей Козак
это вообще сюрреализм, 2020 йопта
Юджин Баладжахе
Меня на гошку программером зовут, чтобы сделать тестовое задание пришлось за 2 дня изучить язык. К концу второго дня все доки кончились, во примитивный язык )))
northelks
лучше уходить от темы непостредственного обсуждения джс как языка) там хватает всякого
Sergey
Здрасти! Можно ли получить часть стринги, которая не влезла?
northelks
какие все доки?)
northelks
вам мало док по го?)
northelks
в любом случае, лучше вернуться к флаттеру и дарту...)
Юджин Баладжахе
Да вся спецификация понятна, нечего там больше читать. Разве что либы
northelks
могу набросить конечно на вентилятор тем, что сегодня как реакт натив неплохо начинает "популяризоваться снова"
Андрей Козак
я глянул, в блазоре реально обычный html. Просто выкинули js
northelks
хз почему, не слежу за ним, но слышу вокруг больше про него, нежели про флаттер
Андрей Козак
я что-то думал, они выкинули вообще все и работают по типу флеша, ну или движков типа unity
northelks
да, там си шарп в васм компилится и через васм DOM дёргается
northelks
зачем html/css то выкидывать)
northelks
юнити это игры, там DOM невалиден
Андрей Козак
а зачем? Я что-то думал флаттер возьмет SKIA, WASM, и все магически заново отрисует)
northelks
то есть переизобретёт флэш?)
Андрей Козак
ну проблема флеша и silverlight, что надо плагин ставить)
northelks
опять же, как выше писал, дарт не может в васм
northelks
поэтому тема с васмом отпадает
Андрей Козак
эх, ну канвас тоже не выход
Андрей Козак
как это сеошить, вообще не понятно
Андрей Козак
админки ток делать
northelks
это была идея, они попробовали, пробуют ещё
northelks
правда пока непонятно в какое русло всё выливается
admin
Когда там новый flutter выйдет?
Андрей Козак
я надеялся на WASM и единый рендер. Вот было бы круто
northelks
что-то интересное будет в новой версии?
Андрей Козак
был движ с переделкой навигатора, речь наверное про это
admin
Или там только на словах?
Юджин Баладжахе
Короче почитал эти ишью, насколько понимаю, они остаются на канвасе, просто замена JS на WASM позволит быстрее вычислять координаты всяких кнопочек, буквочек, теней и прочей анимации. Тоже годно, значит будет быстрее реакта и быстрее нынешнего флаттера, но ничего сайто-подобного пока не ждать. Да и нафига, если в DOM кто только не рендерит, уже и RN умеет )
Андрей Козак
не понятно. В куче тикетов упоминается Navigator 2.0. Но документации пока нет) Ну или я не нашел
Max
Нафига?) Пока Flutter не работает с DOM, это имеет примерно столько же отношения в вебу, как, допустим, Flash. И ценности в нём не больше.
Юджин Баладжахе
Так флаттер позиционируется как среда для разработки приложений. В виндовой проге тоже текст не особо выделишь, и поисковиками она не индексируется. А флаттер веб - это мега-ценная фишка, так как меняет бизнес-модель распостранения приложения. Не надо платить за магазины, выложил ссылку на сайт и все. Если бы еще плагины в веб работали, цены бы не было.
DVS (Read The F.ng Manual) Studio (NoHello)
что "." ?
DVS (Read The F.ng Manual) Studio (NoHello)
const убрать и всё
DVS (Read The F.ng Manual) Studio (NoHello)
или Strings.warehouses сделать константой
Max
Делать приложения для мобильных телефонов во Flutter for web? Свежая идея)
Ulugbek Usmanov
Спасибо помогло
Ulugbek Usmanov
Почему надо поставить const
L
Есть ли какой-то плагин, который позволяет сохранять и картинки и видео как в дефолтный альбом системы, так и в конкретный указанный юзером?
L
те, которые я нашел, позволяют или только картинки сохранять, или не дают возможность указать дефолтный альбом
Kirill Aparin
Есть ли смысл добавлять картинки разного разрешения для разных устройств типа ldpi, hdpi и т.д.? Или тупо максимального размера кидать? И если нужно так делать, как это делать во Flutter?
Flow
[
"Да, есть. ",
{
"type": "link",
"text": "https://api.flutter.dev/flutter/widgets/Image/Image.asset.html"
},
""
]
Roman Vasiliev
Действительно
Андрей Козак
имхо, проще (если дизайнер норм), генерить иконочный шрифт на основе свг
Андрей Козак
[
{
"type": "link",
"text": "https://github.com/rbcprolabs/icon_font_generator"
}
]
Andrew Ka
[
{
"type": "link",
"text": "https://youtu.be/muk0wcWpXf8"
}
]
Семён undefined
странно, лично у меня изменение размера текста через Transform.scale как раз таки работало идеально
|