Программирование : Dart & Flutter по-русски
Oleksandr Pidlisnyi
в гридах надо childAspectRatio указывать по дефолту 1
CrazyAlarmClock
Всем привет , а может кто знает либы для сжатия изображений под firestore ? в base64 фотографии до 1мб лезут в firestore,, а если больше 1 мб, то он ругается )
Ruslan Kim
ааа, большое спасибо, куда я смотрел...
Evgeny Cherkasov
[
"Я использовал вот тут ",
{
"type": "link",
"text": "https://pub.dev/packages/spannable_grid"
},
". В целом да, ничего особо сложного."
]
Павел Середа
1 мб это мало для современных изображений, сделайте разбивку одного файла на несколько фрагментов размером до 1 мб и храните на здоровье
Dmitriy Orteney
может в Firebase Storage сохранять, а в firestore ссылку?)
CrazyAlarmClock
Спасибо за интересные советы )
Oleksandr Pidlisnyi
ну а зачем в базе base64 держать то?
CrazyAlarmClock
Да нам для хакатона, вот и думаю как побыстрее запихнуть
Oleksandr Pidlisnyi
нужно аплоад из клиента? или просто ассеты закинуть и все? для второго варианта 100% проще будет закинуть в сторадж и в базу урлы
Олжас Сулеймен
а зачем если есть то и то, дарт и так нормальный, вот можно было бы эксперименты доп модулями подключать для сладкоежек а не месить все в одну кучу
CrazyAlarmClock
Ну так и сделаю , в документ урлы закину
Nikita Domnitskii
не нормальный
Evgenii Elchev
Вообще тут два стула. Хочу я сделать пет и не хочу ни флаттер с Дартом, ни писать под одну платформу. И хз что выбрать)
Олжас Сулеймен
хз пишу на нем как в масле
Nikita Domnitskii
ну можно же писать ещё лучше
Evgenii Elchev
Ну смотри. Тут рекламируют в чате приложение для десктопа, я ставлю оно лагает (
Evgenii Elchev
Не приятно
Nikita Domnitskii
чо вы ретрограды такие поголовно
Evgenii Elchev
Скрол рывками
Evgenii Elchev
И все не не очень
Evgenii Elchev
А по поводу языка
Evgenii Elchev
Ну когда то мне было норм писать и на пхп 4 ом, но все познается в сравнении
Evgenii Elchev
Ясно что на дарте можно вполне писать
Evgenii Elchev
Но я прямо страдаю, без фишек к которым я привык в других языках)
Олжас Сулеймен
это проблемы флаттера а не дарта
Evgenii Elchev
Ну я и то и то имел в виду
Timur Karimov
смысл дарт отдельно от флаттера рассматривать
Evgenii Elchev
И вот короче боль все это. Ну почему нельзя писать сразу под все платформы и что бы красиво и язык со всеми современными штуками был)
Олжас Сулеймен
дарт это не токо флаттер
Timur Karimov
и что это дает?
Олжас Сулеймен
ну проблемы с перфомансом во флаттер
ilx13
Добрый день всем. кто нибудь работал с webrts. хочу пробовать свой реализовать с сервером. не подскажете куда копать?
Олжас Сулеймен
меня тоже не радует скролл, и анимации, но причем тут дарт
Evgenii Elchev
Ну я уточнил что я ситуацию в целом имел ввиду)
Evgenii Elchev
Дарт то тоже шаманят
Evgenii Elchev
В ргад мапе есть все что я хочу)
ilx13
для вебртс сервер же нужен или нет?
Nikita Domnitskii
а нам и так норм
Nikita Domnitskii
будем обмазываться нуллрефами и бойлерплейтом
Ruslan Kolbasa
stun/turn нужен и сигнальный
ilx13
и плагин пробовать или статьи годные на флаттер не знаете?
Олжас Сулеймен
лично мне нравится дарт простотой, в самом сде хватает работы до того как загонять фичи
Ayni Gold
там же есть разные сервера по назначению, turn и что-бы контактами обмениваться для webrtc сессии
Evgenii Elchev
А какой язык сложный ?
CrazyAlarmClock
уже сделал, спасибо)
Ayni Gold
А какие проблемы с анимацией(я только начал изучать flutter)?
CrazyAlarmClock
спасибо за совет
Олжас Сулеймен
если усложнять бывают лаги, но тут можно решить если подумать по дольше
Anton Anokhin
[
"Собрали почти всё про зоны в Dart. На следующей неделе будет вторая часть ",
{
"type": "link",
"text": "https://habr.com/ru/company/wrike/blog/510270/"
},
""
]
Олжас Сулеймен
простой == меньше языковых конструкции, один вариант определения и тд, вообщем это мой личный придирки, писал на си и питоне, где всего этого не было, и дело привычки, nndb постепенно заходит, пробовал писать на котлине и свифте бек, не пошло как то
Денис
[
{
"type": "pre",
"text": "BlocProvider (\n create: (_) => MyBloc(),\n child: Scaffold(\n child: Form(\n child: ListView(\n children: [\n Button(child:Text('123'),onPressed:(){\n BlocProvider.of(context).add(MyEvent());\n }),\n ],\n ),\n ),\n ),\n ),\n );",
"language": ""
},
"\nПровайдер над scaffold и вылетает \nBlocProvider.of() called with a context that does not contain a Bloc of type MyBloc"
]
Павел Середа
вы новичёк в программировании? обычно не бывает простых и сложных языков, сплошь и рядом ленивые задницы и всё )
Денис
что не передает контекст
Олжас Сулеймен
я давно и пробовал писать на всяком, остановился на питоне
Олжас Сулеймен
с дартом уже 3 год, пробовал еще раньше
Ayni Gold
да особенно если почитать чат haskell и то что они обсуждают
Nikita Domnitskii
haskell не сложный, категория теорий, которая за ним стоит, сложная
Timur Karimov
а зачем писать на свифте и котлине бек, если они для этого не предназначены изначально?
Andreu
здравствуйте, а на джаве не пишут бэк?
Timur Karimov
здравствуйте, по-моему пишут
Nikita Domnitskii
языки общего назначения чо хочу то и пишу
Andrew Ka
[
{
"type": "link",
"text": "https://youtu.be/IofJukPhl_8"
}
]
Nikita Domnitskii
законом не запрещено
NewBalanceM5
подхватил) спасибо
Andreu
а к чему тогда утверждение о том, что на котлине не пишут бэк? да я на любом языке из jvm-семейства могу писать, кому как удобнее
Timur Karimov
ну можно конечно, только потом удивляться не надо что не заходит
Anton Anokhin
давайте без флуда про разнообразие ЯП
Nikita Domnitskii
ну так а чо котлин не предназначен-то для бэка, если он делался как better java
Nikita Domnitskii
мы горюем по отсутствию фичей в дарте
Anton Anokhin
пишите разработчикам языка
Nikita Domnitskii
они в курсе
Timur Karimov
не знаю может быть
Nikita Domnitskii
просто флуд про разнообразие яп как минимум интереснее 1000 вопросов про провайдеры
Nikita Domnitskii
но нет так нет
Денис
подскажите что не так?
Nikita Domnitskii
в этом контексте нет провайдера
Nikita Domnitskii
можно вынести в билдер или в отдельный виджет
Денис
тогда как лучше вывести provider в main.dart в routes над этим экраном?
Денис
так я сделал с остальными блоками, этот чисто локальный каждый раз при создании данного экрана
Денис
создаю через pushNamed
Олжас Сулеймен
я его в основном и пишу
Олжас Сулеймен
они уже другие придумывают
Anton Anokhin
У данного чата есть правила. Он демократичный, но не безгранично.
Andreu
Мб флудилку по дарту создать?
Nikita Domnitskii
и песочницу для новичков заодно
Michael Bazilique
вот это зря
Evgenii Elchev
Тогда о чем тут говорить?)
Evgenii Elchev
Это и так пксочнича для новичков
Nikita Domnitskii
ну просто задаешь более менее серьёзный вопрос и он тонет в вопросах про иде, провайдеры и прочее
Nikita Domnitskii
ну в других кто-то отвечает же
Sergiy Vergun
Как сделать так, чтобы navigator.pop() никогда не переходил к определенным экранам?
Oleg
willpopscope по идее
Nikita Domnitskii
почти у каждого чятика по яп есть дочерний чятик для начинающих
NewBalanceM5
но тут нет столько вопросов)
NewBalanceM5
это же не чатик js
Nikita Domnitskii
ага, их 5 и они задаются по 100 раз за день
NewBalanceM5
создавать чатик для новичков нет никакого смысла)
Sergiy Vergun
Надо чтобы вместо предыдущего переходило на другой экран, и он не всегда один и тот же
Andreu
а к чему тогда pop, если надо пушить?
NewBalanceM5
потому что численность не такая большая, во вторых тут не спамят вопросами каждые 5 минут.
Sergiy Vergun
route 1, route 2, route 3 Как сделать чтобы при pop(), переходило на route 1 и route 2 всегда игнорился. Можна сделать через willpopScope и push нужный маршрут, но тогда не та анимация проигрывается
Ivan
пушреплейсмент на 2 скрине надо
NewBalanceM5
+ кто будет курировать его ?
Nikita Domnitskii
в расточате людей на тысячу меньше, тем не менее есть раст_беггинерс
Nikita Domnitskii
про хаскель вообще молчу
NewBalanceM5
тебя напрягают вопросы?
Nikita Domnitskii
ну просто задаешь более менее серьёзный вопрос и он тонет в вопросах про иде, провайдеры и прочее
Nikita Domnitskii
люди которые могут ответить на такие вопросы их не видят просто (:
NewBalanceM5
может они просто работают, а заходят вечера где и так все вверху)
Nikita Domnitskii
чота никого не напрягает архитектурный чат, хотя там вообще 130 человек
NewBalanceM5
так сделай чатик для новеньких)
Nikita Domnitskii
мы в нём сидим
NewBalanceM5
и посмотри что будет
Oleg Pchelkin
тогда сделай чатик для продвинутых)
NewBalanceM5
тогда вопрос снят
Nikita Domnitskii
да блять
Nikita Domnitskii
в том то и дело что их несколько сотен и никто их читать не будет
Anton Anokhin
предупреждение. дальше бан
Evgenii Elchev
как по мне дарт не похож на такой язык, другое дело го) но я больше люблю когда есть из чего выбрать) и да, я больше не буду флудить)
Павел Середа
вы хотите что-то как vapor для свифта или что? Делайте бекенды на go, он для этого хорошо заточен
Daniil Kolyasnikov
Aqueduct Фреймворк неплох
Павел Середа
swift тоже не может из коробки выдать эффективный бекенд, какие-то странные люди(нет шоб тупо подождать) для этого берут и пишут vapor/kitura и делают бекенды
Nikita Domnitskii
[
{
"type": "link",
"text": "https://api.dart.dev/stable/2.8.4/dart-io/HttpServer-class.html"
}
]
Dmitriy Orteney
а я то думал, что фреймворки нужны чтобы упрощать разработку благодаря переиспользованию одинаковых кусков кода х(
Павел Середа
что значит Linux-native? Дарт по определению нигде не native
Nikita Domnitskii
[
{
"type": "link",
"text": "https://dart.dev/tools/dart2native"
}
]
Nikita Domnitskii
компилируемый язык? нигде не нэйтив?
Павел Середа
он же в байт-код собирается, или я что-то не понимаю?
Bola
странно мыслите ios \ android должны быть RESTful приложениями, а бэк можно построить на чем угодно
neikist
Нет. Есть несколько режимов. Как jit, так и aot компиляция в нативный бинарь для платформы
Nikita Domnitskii
The output of dart2native is either a standalone executable (the default) or an AOT snapshot that you can run with the dartaotruntime command. A standalone executable is native machine code that’s compiled from the specified Dart file and its dependencies, plus a small Dart runtime that handles type checking and garbage collection.
neikist
Даже VM в этом варианте нет. Так, огрызки рантайма работают.
Павел
Реализую firebase auth в связке со своим backend. Несколько непонятен механизм токенов. Получил я значит ID token от firebase и каждый раз отправляю на свой бэк (при каждом запросе), там его проверяю на легитимность и все нормально. Но как мое флаттер приложение будет "прозрачно" обновлять ID токен после часа и его устаревания, если я уже не касаюсь отправок запросов из флаттера на firebase, чтобы использовать refresh token?
neikist
В каком смысле как? Да как и везде. gc бегает мусор собирает, какой то кусок изолятами рулит, какой то еще чем то. Все это естественно тоже в натив вкомпилено.
App Le
какой mp3 player для mp3 файлов из assets посоветуете? audioplayers глючит при отлове onCompletePlaying. Задача проигрывать файлы из динамического массива по очереди
Олжас Сулеймен
как по мне го и дарт в этом плане похожи, ну мы же про дарт сейчас
Dmitry Bubnenkov
[
"Ребят, почему вот если оставить то ничего не выводится.\n\n",
{
"type": "link",
"text": "https://gist.github.com/bubnenkoff/eabb9c0fc8c8eb01ffd10827f1a78bbc#file-app-dart-L37"
},
"\n\nскопипастите сюда ",
{
"type": "link",
"text": "https://dartpad.dev/"
},
""
]
Nikita Domnitskii
ну вот вам и удобство
Nikita Domnitskii
лучше бы не компилилось
Dmitriy Orteney
[
"Можно ID гиста в ссылку ставить и оно само работает)\n",
{
"type": "link",
"text": "https://dartpad.dartlang.org/eabb9c0fc8c8eb01ffd10827f1a78bbc"
},
""
]
Dmitry Bubnenkov
А в чем проблема? Я же вроде к String привожу
Олжас Сулеймен
значения, но не типаж листа
Dmitry Bubnenkov
А как поправить?
Олжас Сулеймен
т к это жсон то на выходе будет список динамиков
Олжас Сулеймен
cast ().toList()
Dmitriy Orteney
[
"если сделать ",
{
"type": "code",
"text": ".map (...)"
},
", то норм будет"
]
Олжас Сулеймен
или так, главное тип указать
Dmitriy Orteney
скорее всего ему когда динамик приходит, он не хочет париться и выводит тип как динамик)
Andrew Ka
[
{
"type": "link",
"text": "https://youtu.be/c-y6omSwZQU"
}
]
Dmitry Bubnenkov
А как сделать popFront из списка?
NewBalanceM5
[
{
"type": "bold",
"text": "Model-Widget-WidgetModel, или какой архитектурой пользуется Flutter-команда в Surf:"
},
" Статья посвящена недавно вышедшему пакету MWWM - архитектура на которой построены проекты ",
{
"type": "bold",
"text": "Surf"
},
".\n",
{
"type": "link",
"text": "https://habr.com/ru/company/surfstudio/blog/510308/"
},
""
]
DVS (Read The F.ng Manual) Studio (NoHello)
тот же mvvm от stacked только в профиль с наворотами в стиле блока? но зачем...
Nikita Domnitskii
Да так про любую архитектуру можно сказать
Nikita Domnitskii
Мвц с наворотами
DVS (Read The F.ng Manual) Studio (NoHello)
ну яндекс вон редакс юзает, хотя нормальные разрабы плюются от него
DVS (Read The F.ng Manual) Studio (NoHello)
тут та же фигня
Дмитрий Костин
А что юзают нормальные разрабы?
Alexander Makarov
Нормальные разрабы это кто?
Karen
это DVS и его одноклассники
DVS (Read The F.ng Manual) Studio (NoHello)
Одноклассники?
DVS (Read The F.ng Manual) Studio (NoHello)
Ммм.. звучит как начало очередного холивара
vasilich
Как говорил один товарищ «вы рендерите жуйсон, зачем вам архитектура?»
Edgar
Ребят, как с десктопными приложениями уже? Вышли из альфы?
Evgenii Elchev
но в целом вот такое сделать можно)
Evgenii Elchev
[
{
"type": "link",
"text": "https://snapcraft.io/blog/canonical-enables-linux-desktop-app-support-with-flutter"
}
]
vasilich
Для линукса и винды появился релиз и профайл моды. Но если в кратце - пока нет)
Evgenii Elchev
но грустно, все равно грустно работает(
Edgar
Боль, есть предположения о дате возможного выхода?
Evgenii Elchev
то есть если тебе надо сделать какую то штуку которая должна решать проблему, и лучше она ее хоть как решает, но решает то ок. А если хочется что бы красиво было, то не стоит
vasilich
Чего?) Беты или релиза?)
vasilich
Готовьтесь к длительному ожиданию) Даже релиз рекомендед для мобильных платформ хромает на все ноги. Много чинится, но много мелочей. 7800 ишьюс как бы намекают... Для минорных багов часто видится картина - юзер создал баг - юзер создал ПР фиксящий баг
vasilich
Но во флаттерке в целом весело. Другие ощущения. Можно наблюдать и становиться участником становления экосистемы
Evgenii Elchev
Это если ты вклад какой то вносишь)
Evgenii Elchev
А так просто сможешь и не знаешь, взлетит не взлетит
vasilich
Я чуть-чуть вношу) Потому мне интересно.
NewBalanceM5
[
"вот пример ",
{
"type": "link",
"text": "https://t.me/FlutterDevRu/342"
},
""
]
Andrew Ka
[
{
"type": "link",
"text": "https://youtu.be/FUDZKDCuEWg"
}
]
S
Так, у меня есть в AppBar-е 2 таба , надо перед ним поставить кнопку назад
vasilich
У аппбара лидинг
S
но он ругается из за PreferedSize
vasilich
У преферред сайз нету лидинга)
vasilich
Если делаешь преферред сайз - сам сверстай и заюзай BackButton
S
я здесь внутри container поставил row , но он тоже ругается
vasilich
Что оно ругается?
Andrey Tsvetkov
а в консоли?
vasilich
Может в консоли есть лог?)
vasilich
Вот, прочитать и понять можешь?
S
нет) поэтому сюда написал)
vasilich
Ты понимаешь как вёрстка во флаттере работает?
|