Программирование : Dart & Flutter по-русски
Roman Vasiliev
а это выглядит нормально, но страшно смотреть в консоль
Тимур
а если не убирать Expanded, а менять только параметр flex?
Roman Vasiliev
такой вариант я тоже пробовал, передавал значение анимации как коэффициент, очевидно, что на крайних значениях ведет себя неадекватно
Roman Vasiliev
ну так и было
Тимур
я с анимациями не работал, но там же есть куча виджетов Animated*, разве там надо юзать expanded? Мне кажется они сами должны свои параметры менять
Roman Vasiliev
а как без костылей ограничивать коэффициент - хз
Roman Vasiliev
у меня просто есть контроллер который меняет некоторые параметры вью для левого дочернего элемента, но пока он в Expanded это не имеет эффекта, как нужно начать анимацию, я зануляю флекс и получаю горстку ошибок infinite width
Roman Vasiliev
но на вид все адекватно абсолютно
Aleksander Barsukov
Подскажите плиз, скролл себя неадекватно ведёт, там должны быть отдельные контейнеры разного цвета, а если его подвигать вверх-вниз, то они склеиваются по несколько контейнеров одного цвета
Тимур
Сложно сказать. Может имеет смысл плясать не от Expanded а от SizedBox и играть с параметрами высоты и ширины?
Roman Vasiliev
SizedBox тоже пробовался, вылетало по сути то же самое
Roman Vasiliev
был бы виджет который учитывал оригинальные размеры и позволял распределять пропорционально между дочерними виджетами пространство, наверное это бы решило мою проблему
Roman Vasiliev
это наверное нужно хотя бы графически посмотреть, не очень понятно что именно происходит
Aleksander Barsukov
Ок, через минут 20 отправлю скрины
Roman Vasiliev
лучше видео наверное
Tim
Ребят, а как на андроиде в дебаг режиме подписки можно тестить? Подписки создал, сборку в альфа версию выпустил, а при попытке вытянуть продукты по id, говорит, что не найдены
Тимур
есть такой, не помню как называется. Берет размеры родительского виджета, видяшка про него есть на youtube. Либо поиграть со Spacer()
IB Akhrorov
Добрый Вечер Бизнесмен - Программисты Можно ли заработать если есть мощный сервер
Roman Vasiliev
ну вот кстати может спейсер сгодится, хотя я как-то скептичен к нему. Но выбора уже все равно нет, нужно поиграться
Roman Vasiliev
могу арендовать за коробку консерв
Ленар Махмутов
На нем можно майнить
DK
надеюсь не дома в подвале?
First Last
за 64 оперы и 12 ядер с nvm норм предложение
First Last
или о какой мощности речь?)
IB Akhrorov
точно не помню
Константин Буланов
[
"Коллеги нужна методологическая помощь.\nимею вот такой код\n",
{
"type": "pre",
"text": " _loadKpmiUid(String uuid) async{\n var _client = BasicAuthClient('user', 'pass');\n final response = await _client.get('https://xxx.ru/api/api/v1/object-of-control/one/$uuid');\n}",
"language": ""
},
"\nвсе работает но через некоторое время появляется ошибка что соединение отвалилось по таймауту. Как грамотно закрывать соединения в асинхронной функции? Я просто думал что оно само закрывается по получению ответа."
]
IB Akhrorov
сколько можно заработать за месяц
First Last
5 долларов в месяц такой сервер в аренду
Ленар Махмутов
С такими характеристиками хз
Ленар Махмутов
Я так думаю и проц там никакой
IB Akhrorov
а сколько нужно
Ленар Махмутов
Я не знаю, просто когда написали что мощный сервер я подумал что что-то серьезное :) у меня на домашней машине 32гб
Dan
[
"проверь ",
{
"type": "pre",
"text": "_client.close()",
"language": ""
},
" есть ли метод"
]
Ленар Махмутов
Коллеги подскажите альтернативу нотификациям файербеза, я не осилил их :(
IB Akhrorov
озу не так много нужно для mining?
Константин Буланов
Спасибо. Мне бы просто логику понять. Нужно в ручную закрывать или нет. И это просто не корректно работающий код.
Хайём
Не получается подключиться к вэбсокету. WebSocketException: Connection to '' was not upgraded to websocket. У кого-нибудь была такая ошибка?
Karen
всем привет. кто поднимать аудио стриминг сервер на дарте, пинганите плиз
Suo Mikoto
Кто-то подключал deep link на flutter?
Suo Mikoto
И как успехи? Я два дня уже ушатал на это, и топчусь на месте, можешь подсказать по докам или мануалам?
Alexey Perelygin
все отлично, там, вроде бы, ничего сложного. Подключил довольно быстро. Правда AppLink в андроид. диплинки только в иос
Alexey Perelygin
если какие-то вопросы конкретные есть, пиши если смогу, подскажу
Suo Mikoto
В личку можно отписать?
Гарисон
Граждане, есть у кого книга "Dart в действии" на русском? скиньте пожалуйста
Suo Mikoto
Можешь скинуть ссылки на доки по которым делал? Что я тебя не запаривал вопросами
Suo Mikoto
У меня есть но я хз как скинуть его с гугл книг. Он вродебы стоит не дорого что-то в раене 5 баксов
Гарисон
500р все-таки дороговато для меня сейчас. У кого нибудь pdf завалялся?
Aleksey
а на русском уже есть?
Suo Mikoto
Да покупал несколько мясацев назад. А так она уже очень давно есть
Roman Vasiliev
Dart прекрасно без книжек учится
Roman Cinis
Скорее так — к моменту выхода бумажной книги она теряет свою актуальность, язык сейчас динамично развивается
Jeka Goroshkin
[
"непривычно такую запись делать в первый раз:\n\n",
{
"type": "pre",
"text": "void Function(bool) createSomeFunc() {\n ...\n}\n",
"language": ""
},
"(функция возвращает другую функцию)\nзато строгая типизация! :)\n(просто поделился)"
]
Renad ??.
Добрый вечер Можно ли связать приложение Flutter с термопринтером или обычным принтером для печати, например, счетов клиентов, могу ли я работать с этим оператором?
Aleksander Barsukov
Должно быть как в начале, несколько контейнеров разного цвета, а после скролл они сливаются вместе почему-то, и оранжевый цвет пропадает
Александр Саньков
Как прописать неразрывной пробел?
Sergey Salnikov
[
{
"type": "pre",
"text": "\\u00a0",
"language": ""
}
]
Александр Саньков
спасибо
Aleksander Barsukov
Спрошу ещё раз, пока что никто не ответил. Есть ListView, который странно себя ведёт. Сейчас пришлю гифку и код. Должно быть так, что в ListView отдельные контейнеры разного цвета, а после скролла они сливаются вместе. Выскажите, пожалуйста, даже самые странные и банальные догадки - так как я первый раз делаю приложение в своей жизни, то возможности для ошибок безграничны :)
Aleksander Barsukov
Наверху в коде элемент из которых состоит ListView, внизу сам ListView, а точнее SingleChildScrollView
Aleksander Barsukov
ListView работал точно так же
Вячеслав Кулинич
может кто подскажет, что это такое? debug собирается, release - нет
Вячеслав Кулинич
дублируются классы какие-то, как это пофиксить?
Артём Ефименко
А чего ты не сделаешь через листВью.билдер?
Aleksander Barsukov
Потому что не умею :) но могу научиться. думаешь, поможет?
Артём Ефименко
Значительно, напиши в личку
Константин Буланов
[
"Коллеги, а как вот это правильно записать без лишней переменной 'kuid'\n",
{
"type": "pre",
"text": "kuid = kpmiListElement.uuid;\nbody: Text('UUID = $kuid')",
"language": ""
},
"\nпримерно это хочу\n",
{
"type": "pre",
"text": "body: Text('UUID = $kpmiListElement.uuid')",
"language": ""
},
"\nточка там все портит.\nКакой правильный синтаксис? И можно так как нить записывать?"
]
Van Pav
[
{
"type": "code",
"text": "Text('UUID = $"
},
"{",
{
"type": "code",
"text": "kpmiListElement.uuid"
},
"}",
{
"type": "code",
"text": "’)"
},
""
]
Константин Буланов
Спасибо добрый Человек! Избавили от головной боли.
Andrey P
[
"если кто использует openapi и ",
{
"type": "link",
"text": "https://pub.dev/packages/retrofit"
},
" - и не хочет использовать генератор стандартный openapi - вот небольшая поделка ",
{
"type": "link",
"text": "https://pub.dev/packages/oretgen"
},
". Генерирует модели и файл для дальнейшей генерации ретрофита. Пока много что не делает, но вдруг кому поможет"
]
Rinat Kurmashev
А чем плох стандартный генератор?
Andrey P
да ни чем -просто в ретрофит не генерирует
Andrey P
а нам было с ним удобнее
Rinat Kurmashev
Вот это? flutter pub run build_runner build
Andrey P
не - тут суть в другом - ты берешь yaml файл open api и генеришь из него модели и файл ретрофита - дальше уже стандартным flutter pub run build_runner build - генеришь уже вызовы и все
Aleksey
Это же офигенно, когда код сам себя пишет
Константин Буланов
[
"Коллеги как сравнить ",
{
"type": "code",
"text": "abc"
},
" с NULL?\n",
{
"type": "pre",
"text": "if(abc is NULL) {\n ...\n} else {\n ...\n}",
"language": ""
},
"\nФорма с ?? понятна. Но не понятно как это в операторе if применить."
]
Roman Vasiliev
[
{
"type": "link",
"text": "https://www.dartlang.org/guides/language/language-tour"
},
"\nДва раза прочитал и поглядываю изредка, если что понадобится уточнить"
]
Константин Буланов
Пардон за глупый вопрос. Писал NULL а это походу другое. Спасибо большое.
Pavel Vasilenko
Подскажите, пожалуйста, каким образом можно отображать текст со вставками небольших изображений внутри? К примеру, смайлики внутри текста.
Roman Vasiliev
Сильно не вникал и не знаю исправит ли это проблему, но вроде как на каждом билде вызывается функция добавляющая в массив кнопки и массив не сбрасывается. Причем сделано это все некрасиво, из-за чего вероятно и возникают проблемы
john conor ?
поскажите в какую папку удобнее установить флаттер? какие практики?
john conor ?
чот в инструкции - распаковать в доунлоадс - чот ваще не красиво
Roman Vasiliev
Разбивать на подтексты и мешать с изображениями например, почему бы и нет
Roman Vasiliev
У меня в корне одного из разделов валяется, чувствует себя прекрасно
Aleksander Barsukov
Ок, спасибо. Насчёт "сделано некрасиво" - можно чуть подробнее? Как лучше сделать?
Roman Vasiliev
Массив лучше оставлять в пределах build, тем более он хранит элементы UI
Pavel Vasilenko
Что-то в голову не приходит, как виджеты организовать друг за другом... Wrap?
Roman Vasiliev
Скорее всего да
Pavel Vasilenko
Не, вряд-ли. Если текст в несколько строк и между строками изображение, тогда не получится обтекание. Может вручную собирать webview? Кто сталкивался с подобной задачей?
Aleksander Barsukov
Ок, буду думать, как исправить. Спасибо большое.
Sergey Salnikov
Ретрофит это описание/спека api плюс генерация вызовов и дто, зачем одну спеку конвертировать в другую хз. Какой у вас был кейс, что пришлось писать велосипед?
Andrey P
потому что так удобно - попробуй из 10 оpen api сделай ретрофит
Andrey P
а нам было с ним удобно работать
Sergey Salnikov
Непонял сообщение Зачем из 10 спек генерить другие 10 спек
Andrey P
10 не генерятся- генерится одна
Sergey Salnikov
В чём удобство, я любопытствую
Andrey P
удобство ретрофита - просто еще с андроида пошло - декларативность + генерация
Sergey Salnikov
Openapi это тоже декларативность и генерация Вот я и спрашиваю в чем смысл И grpc и graphql
Andrey P
в том, во что генерирует open api
Sergey Salnikov
В клиентов с async вызовами, как и ретрофит
Andrey P
да и в кучу файлов моделей и часто с ошибками
Andrey P
не понимаю что ты хочешь доказать? что это какой то неудобство? так пользуйся стандартным, если кому то не нравится, делает как нужно
Andrey P
я не оспариваю что можно взять стандартный генератор и быть счастливым
Sergey Salnikov
Отлично, вы же не держите сгенерированвй код в проекте и билдите отдельную либу и тянет как зависимость, правда?
Sergey Salnikov
А вот это интересно, какие ошибки? Я только сталкивался с зарезервированными словами в enum
Вячеслав Кулинич
как правильно добавить картинку лого на IOS сторону?
Вячеслав Кулинич
иконку приложения
Andrey P
нет - там было и без enum - не готов ответить точно, но были поля неверные и что то еще
Sergey Salnikov
Я так и не смог заставить работать reserved words mapping, попался на enum NEW - генерит NEW_ Пришлось править скриптом
Roman Cinis
[
{
"type": "link",
"text": "https://medium.com/@tsinis/flutter-launcher-icons-ru-b1fb2576b1a1"
}
]
ilx13
Добрый вечер ребята. не устанавливает приложения на айфон и эмулятор айфона. А на андроид эмулятор устанавливается. из за чего может быть не сталкивались? может ли помочь переустановка флаттера?
john conor ?
сейчас устанавливаю флаттер через asdf
john conor ?
а до этого устанавливало?
ilx13
да без проблем около 10-15 дней назад и на айфон и на симулятор айфона
ilx13
сталкивались или знаете в чем может быть проблема?
john conor ?
чо началось то?
ilx13
Xcode build done. 41,5s path: satisfied (Path is satisfied), interface: ppp0 Configuring the default Firebase app... *** First throw call stack: ( 0 CoreFoundation 0x00007fff23c7127e __exceptionPreprocess + 350 1 libobjc.A.dylib 2 CoreFoundation 0x00007fff23c710bc +[NSException raise:format:] + 188 3 Runner 0x000000010b4e9a2a +[FIRApp configure] + 138 4 Runner 0x000000010b5f64bc -[FLTFirebaseMessagingPlugin initWithChannel:] + 268 5 Runner 0x000000010b5f62a4 +[FLTFirebaseMessagingPlugin registerWithRegistrar:] + 196 6 Runner 0x000000010b4e5340 +[GeneratedPluginRegistrant registerWithRegistry:] + 112 7 Runner <…>
Константин Буланов
Спасибо.
ilx13
[
"нет. ",
{
"type": "code",
"text": "Flutter 1.12.13+hotfix.8 • channel stable •"
},
""
]
ilx13
думаете из за этого?
ilx13
у меня дев-учетка бесплатная. но ведь работало же 10-15 дней назад. что перестало теперь?
ilx13
сейчас. обновлюсь и отпишусь. Благодарю Юрий.
ilx13
flutter update до 13.4 обновляет сам?
ilx13
аааа. у меня последняя
ilx13
я думал вы про флаттер
ilx13
ааа не простите. есть обнова.
Вячеслав Кулинич
в релизной сборке не работает firebaase cloud firestore, в дебаг работает. В чем дело может быть?
Kherel
[
"Сделал такую штуку в качестве ответа на вопрос… на стаковерфлоу может быть кому-то будет интересно… ",
{
"type": "link",
"text": "https://stackoverflow.com/questions/60897816/how-to-add-animation-for-theme-switching-in-flutter/61000458#61000458"
},
""
]
Kherel
Сам очень доволен, ничего не сложного наверно для продвинутых, но может новичкам будет интересно...
Yerassyl Maikhanov
На нативе придется драйвера искать
Pavel Shorokhov
Да можно и на дарте написать, работа с сокетами доступна же
Yerassyl Maikhanov
Я говорю про готовые драйвера
Pavel Shorokhov
Один из булшитов дарта - нотация записи типов функций.
Di
У меня вызывается pushReplacement из таймера на сплешскрине, и так выходит, что у меня появляется второй инстанс экрана (вызов идет 100% 1 раз). Кто-нибудь может показать бест практисес по роутам (особенно со сплешскрином)? Я чувствую, я где-то хорошо так что-то упустил. Заранее благодарю
Pavel Shorokhov
А сплешскрин нативный?
Pavel Shorokhov
Это твой initialRoute?
Pavel Shorokhov
А что значит "второй инстанс экрана"? Когда нажимаешь назад, переходишь к сплешскрину что ли?
Di
нет, получается такое дерево после пушреплейсмента Home - Home
Di
нажимаю назад и остается Home
Di
Я использую провайдер, если это на что-то может влиять
Pavel Shorokhov
А сплешскрина еще можешь показать?
Pavel Shorokhov
Пока вроде все ок
Di
там, правда, костыль еще есть, но он должен фиксить дубли билда
Pavel Shorokhov
Визуально не вижу проблемы. Вообще с твоих слов все должно работать. У меня так и работает, initialRoute ведет на сплешскрин. В нем чето делаешь, инициализируешь, и в конце pushReplacement на нужный роут, и все норм, дублей нет.
Pavel Shorokhov
Попробуй поубирать хелперы, сделать чистую логику, оно работает. Ты видимо чет где-то усложнил.
Di
У меня основная проблема всплывает со скроллконтроллером, у него 2 элемента в positions, первый при том nullовый
Artur
Думаю, тебе нужен pushAndRemoveUntil
ilx13
Обнова не помогло. Тот же результат
Константин Буланов
Жалко комментов нету в коде поясняющие что там делается.
Kherel
согласен, сегодня как раз буду коменты писать, вчера не успел
Константин Буланов
Спасибо. А то такому нубу как я не очевидны многие моменты.
Kherel
я постораюсь все описать, думаю через 3-4 часа будет готово, но потом если будут доп вопросы то тоже постараюсь ответить. можешь в личку писать
Alexander PhatoM
всем привет. Может кто знает почему rootBundle.load не может открыть db. Код просто не выполняется дальше, никаких ошибок не выкидывает
Kherel
[
{
"type": "link",
"text": "https://github.com/kherel/animated_theme_switcher_example/tree/master/lib"
},
"\nразбил по файлам, добавил коменты"
]
Олжас Сулеймен
typedef? typedef BoolFn = void Function(bool);
atyourservice
Сейчас много языков так умеет
Jeka Goroshkin
ага, так читабельнее получается
Никита Моисеев
Никто не продает готовые гугл плей аккаунты?
Kherel
А зачем такое может понадобиться?
Никита Моисеев
Забанили аккаунт, но нужно выложить приложение
Никита Моисеев
там 2 бана приложение = бан акка
Kherel
понял, я заметел такую штуку что в appstore, можно открыть аккаунт из другой страны, оплатив лицензию с paypal, а к пейпелу уже привзять карточку любой другой страны. при обычной покупке лицензии, нельзя привязать к appleid, карточку из другой страны. т.е. возможно ты сам можешь создать гугл аккаунт на чужое имя…
Никита Моисеев
там ещё удостоверение личности просят
IB Akhrorov
Добрый день какую архектитуру лушче использовать для flutter ?
Rinat Kurmashev
какая больше нравится
IB Akhrorov
bloc and provider
Rinat Kurmashev
если приложение простое то provider
Rinat Kurmashev
если есть большая вложенность рекомендую блок
Rinat Kurmashev
сам через это прошел
IB Akhrorov
DDP архектира тоже есть оказывается что скажете про эту архектетуру
IB Akhrorov
data domain presentaion
Rinat Kurmashev
не использовал
roman G ??
[
"Ребят, кто какую архитектуру использует помимо блок-а, либо мб знаете как удобно к этому подойти? \nНе понравился блок тем, что нужно иметь много разных состояний, а если экран большой, то менеджить их очень не удобно, например для загрузки данных(начал загрузку, завершил загрузку) есть уже два стейта, а если запросов на экране условно 5-6, то уже 10 стейтов как минимум получается\n\nНа загрузку данных сейчас у меня каждый стейт делает ",
{
"type": "bold",
"text": "yield"
},
" \n",
{
"type": "pre",
"text": "yield LoadDataState();\nawait api.loadData();\nyield FinishLoadDataState();",
"language": ""
},
"\nВозможно можно сделать это на стримах или как-то еще, я пока тему глубоко не ресерчил, возможно вы что-то подскажите по вашему опыту идеальной архитектуры и работы с ней"
]
Maxim
Что то все напутано у вас. Не понимаю почему стейт делает yield LoadDataEvent? Стейт ничего не делает. Он хранит состояние просто.
Maxim
Вообще не нужно городить 10 Load стейтов. Можно сделать один и добавить в него доп аргументы, например, что именно грузится, например, через enum.
Maxim
Тоже самое с эвентом загрузки
ilx13
ребята у меня мак ось 10.15. обновится не могу больше макбук старый. Но xcode требует новый macos 10.15.2. есть возможность установить xcode обходя эти ограничения?
Sergey Lavinov
Можно на Apple Developer Portal найти раздел, где есть все версии XCode доступные для скачивания
Sergey Lavinov
Ищется он муторно, правда, каждый раз - приключение
Bogdan Lukin
[
"Тут проблема в том, что пути с «/» начинаются, и home у тебя «/».\nКогда путь с этого начинается пушатся по очереди все подпути. Это в доке описано.\nДля сплэша это «/» и «",
{
"type": "bot_command",
"text": "/splashscreen"
},
"», то есть у тебя в самом начале уже вот такой стэк:\n- /\n- ",
{
"type": "bot_command",
"text": "/splashscreen"
},
"\n\nА потом ты делаешь pushReplacement на HomePage и получается\n\n- / (HomePage)\n- HomePage (не именованный путь)"
]
Sergey Kuznetsov
Всем привет, из-за кризиса попал под сокращение, последние полгода делал приложения на flutter. Очень понравился и фреймворк и язык. На hh практически нет вакансий, может вы знаете ресурсы, где есть вакансии именно по flutter?
Andrey P
где территориально находишься?
Sergey Lavinov
[
{
"type": "link",
"text": "https://t.me/dartlang_jobs"
}
]
Sergey Kuznetsov
Я живу в маленьком городе, могу работать только удаленно
Andrey P
пришли в личку резюме
Di
[
"Спасибо. Т.е. если бы хоум был ",
{
"type": "bot_command",
"text": "/home"
},
", то такой проблемы не было бы? Сейчас начал использовать pushAndRemoveUntil, он как раз пофиксил это."
]
|