Программирование : Dart & Flutter по-русски
Дмитрий Щербаков
4 - правильно, 5 - нет
Alexandr Borisovich
а потом попадется контет с кавчкой двойной и приехли))
Дмитрий Щербаков
скорее всего она будет экранирована
Дмитрий Щербаков
ну или поменять бэкендера ??
DVS (Read The F.ng Manual) Studio (NoHello)
не, похоже это копипаста из переменной дарт файла, где наоборот всё менялось на одинарные чтоб линтер не орал 250к раз)
Илья Максименко
подскажите можно ли трансфорить ивенты в блоке так чтобы некоторая группа ивентов обрабатывалась последовательно то-есть через asyncExpand а остальные через switchMap?
Илья Максименко
и как это реализовать
Илья Максименко
например есть экран с гридом картинок, по нажатию отправляется ивент на аплоад на сервер
Никита Комаров
Всем привет! Подскажите, есть ли способ следить за открытием/закрытием drawer во flutter. А то верх экрана красный, а drawer белый. Из-за этого при открытии drawer appbar c часами сливается. Цель сделать при открытии drawer часы черными,а при закрытии снова белыми.
Илья Максименко
эти ивенты должны обрабатываться последовательно, но при этом другие ивенты должны обновлять стейт
Sergey Smirnov
Всем привет и хорошего дня! Подскажите пожалуйста какой-нибудь плагин для VScode, чтобы показывался макет иконки рядом с её названием(как в Android Studio). И для colors ??
Денис
Ребят давно не следил за новыми версиями всяких Image либ, подскажите сейчас нормально работает CachedNetworkImage или лучше что-то другое посмотреть?
Денис
Раньше были проблемы у них с контроллем памяти
Денис
слабые устройства крашились с большим количеством фоток
Dima Kotlyarov
да ! нормально работает мы ее на энтрпарйз проект взляи - с ней прооблем ни разу не было
Dima Kotlyarov
веб - тупой и сырой! в мире нет ни одного энтерпрайз проекта на флаттер веб))
Денис
ну понятно что энтерпрайз нет) ладно веб сам потыкаю)
Денис
ну кстати canvaskit весьма неплох) если под него подстроить плагины)
Dima Kotlyarov
ну в общем - я могу говорить только за мобайл) но там точно все впорядке
Kudaibergen Dauken
Народ, никто с таким не сталкивался?
Daniil Kostin
обычными чистками не лечится?
Kudaibergen Dauken
чистками в плане удалить flutter и заново ставить?
Станислав Ксенофонтов
flutter clean
Kudaibergen Dauken
да, пробовал
Kudaibergen Dauken
в первую очередь
Daniil Kostin
flutter clean && flutter pub get
Daniil Kostin
попробуй андройд проект открыть в студии может она сама поправит а так гугли, думаю это не единичный слуай
Mikhail Smetannikov
Попробуй еще кэш удалить, пусть заново скачает
Vitaliy Snitko
Не понимаю, что здесь не нравится IDE? Перезагрузил её с очисткой кеша и всё равно подчёркивает...
Mikhail Smetannikov
имя переменной = _env
Vitaliy Snitko
Упс.. ))) Точно. Пасиб )
Daniil Kostin
Наведи - там написано!
Vitaliy Snitko
Написано, но не то, что нужно ))) Уже исправил. )
Станислав Ксенофонтов
имя переменной пропустил?
Nurassyl Nuridin
Кто знаком с flutter_local_notifications? Может сказать, будет ли работать этот код для local push уведомлений? for (int i = 0; i < notifications.length; i++) { final time = tz.TZDateTime.from(notifications[i], tz.local); fnPlugin.zonedSchedule( i, todo.title, todo.description, time, generalNotoficationDetails, uiLocalNotificationDateInterpretation: UILocalNotificationDateInterpretation.absoluteTime, androidAllowWhileIdle: true, ); }.
Kirill Aparin
[
"Ребят, как можно лаконичнее\nЗадача избежать ''(пустая трока), text может быть null, если пустая строка _username = null \n",
{
"type": "code",
"text": "_username = (text?.isNotEmpty??false) ? text : null;"
},
""
]
Nurassyl Nuridin
text.length <= 0
Валерий
и при text == null получить exeption "length was called on null" хорошее решение ??)
Mikhail Smetannikov
_ username = text?.isNotEmpty == true ? text : null
Makhmud Ushamiev
Просто говнокодер детектед??
Nurassyl Nuridin
после того как он проверит на null
Валерий
[
{
"type": "code",
"text": "(text?.isNotEmpty??false)"
},
" вот здесь он проверил и на null и на пустоту. зачем отдельно еще проверять?"
]
Nurassyl Nuridin
Значит я не понял его задачу. Я то пытался ему ответить
Nurassyl Nuridin
Лучше на мой вопрос сможешь ответить. Если знаешь?
Валерий
Не работал, вечером могу глянуть если нужно
Timur Karimov
if (text?.isEmpty ?? true) null : text
Andreu
что-то вы все намутили, и тернатрный и стандартный
Timur Karimov
Тебе лишь бы докопаться?
Timur Karimov
просто ошибся
Gorohov Valeriy
[
"Не совсем по делу, но лучше бы еще ",
{
"type": "code",
"text": "trim"
},
" добавить^\n",
{
"type": "pre",
"text": "text = text?.trim();\n_username = (text?.isNotEmpty ?? false) ? text : null;",
"language": ""
},
"\nЕсли цель прям сократить кол-во символов (чего бы я не рекомендовал):\n",
{
"type": "code",
"text": "_username = (text ?? '').isNotEmpty ? text : null;"
},
""
]
Alexey
[
"Кто-нибудь сканировал платежные карты? Попробовал на андроиде ",
{
"type": "link",
"text": "https://pub.dev/packages/card_scanner"
},
" а она совсем не работает. Даже их тестовое приложоение из маркета"
]
Kirill Aparin
Правильно подметили, trim используется до этого
Никита Масев
кто-нибудь знает как-то можно чекнуть, что сборка в codemagic завершилась с ошибкой? например в post-build script'е?
Vadim Popov
А там же прилетают логи
Никита Масев
ну понятно, что прилетают. Но как чекнуть, что если есть ошибка, то сделать одно, если нет, то другое
Никита Масев
там есть Environment variables, но ни по одной нельзя чекнуть
Vadim Popov
А что можно сделать? Не понятно))) вроде лучше сделать сразу чтобы без ошибок было
Никита Масев
все, уже неважно. Мне кажется я нашел, не туда смотрел
Daniil Kostin
проще extension написать getNotEmpty() -> и возвращать от люой строки null при пустой строке
Gorohov Valeriy
Да, если это требуется многократно.
Cmndwn
Здравствуйте. Navigator2.0 вообще полезен хоть чуть чуть если проект не для веба? Почитал и так и не понял какой профит кроме парса данных из роута, что можно и так делать на небольшом костыле
Daniil Kostin
если 2 экрана, то разницы нет. Если сложное ветвление с вложенными последовательностями, ктороые могут перекрывать друг друга, то очень даже.
Мария Булич
Простите, не увидела в правилах чата запретов, поэтому публикую: Вакансия Flutter flutter developer (remote) Голландская компания по разработке программного обеспечения, специализирующаяся на инновационных решениях в области логистики и smart мобильности. Наш головной офис находится в Нидерландах, здесь мы управляем проектами и консультируем наших голландских клиентов. Девелопмент базируется в Украине, Беларуси и России. Какие профессиональные навыки нам важны? Experience in Android and/or iOS development 2+ years Good understanding of OOP, OOD, MVP, DI Strong knowledge of Dart Experience working with Flutter (Bloc, Firebase) Will be a plus: Experience with Firebase Experience with testing frameworks Serverless: AWS Amplify / AWS Lambda / Google Cloud Engine What we offer: Interesting projects Paid vacation and sick days Flexible schedule Working in international team, business trips are possible Possibility to work remotely What we have: Team of professionals with rich experience of work Customers from Europe and the US Great team, helpful and friendly atmosphere Scrum methodology, stable process, responsibility Нужен ли английский, и на каком уровне? - разговорный intermediate Вилка зп до 3.5 к$
A Kuper
[
{
"type": "link",
"text": "https://t.me/dartlang_jobs"
}
]
Serge Kozlov
Привет. Прошу помощи. Подскажите, пожалуйста, нормальный видео гайд по listview/expansionTile/listTile. Хочу приложение с выдвигающимися списками с возвожностью клика и перехода по ним на другие страницы. В инете много конечно видео, но все делают по разному( в основном индусы), я не могу понять как в итоге правильно это делать. Спасибо
Daniil Kostin
найдите готовое приложение и повторите, чем свежее тем будт правильнее
Daniil Kostin
[
"Вам надо №2 если я понял ваше описание\n",
{
"type": "link",
"text": "https://pub.dev/packages/animations"
},
""
]
Serge Kozlov
Вот что вроде этого хочу.
Daniil Kostin
[
{
"type": "link",
"text": "https://pub.dev/packages/expandable_group"
},
"\n",
{
"type": "link",
"text": "https://pub.dev/packages/flutter_collapse"
},
"\n",
{
"type": "link",
"text": "https://pub.dev/packages/sticky_and_expandable_list"
}
]
Serge Kozlov
Большое спасибо! Сейчас буду изучать
Dmitry
господа, использую firebase cloud messaging для от отправки события с сервера можно ли как-то отключить отображение пуша, если приложение свернуто? мне нужно только данные из message получать либо посоветуйте другой способ доставки данных с сервера на устройства
Daniil Kostin
там есть два типа пуша дата и нотификатион
Dmitry
на серверной части?
Dmitry
круто, ща гляну спасибо большое
Danila Manila
Привет. Народ, а что вы для валидации использует? Чтобы можно с кубитом заюзать. Есть идея создать миксин с методами валидации и в нужном кубите его использовать
Daniil Kostin
Скинь потом ссылку на пакет в pub
Danila Manila
интересная идея. Попробую реализовать, первый раз такой опыт будет) Т.е. идея не плохая?
Kylych
через что надо делать, что бы эти табы работали как ViewPager c TabLayout из андроида, надо что бы в обоих платформах одинаково работал, это по свайпу и по клику на табов
Denis
Подскажите пожалуйста, из-за чего может возникать такая ошибка? 'package:flutter/src/widgets/scrollable.dart': Failed assertion: line 580 pos 12: '_drag == null': is not true.
SoFo
Что то равно null, но не должно быть null
Denis
Ого, спасибо, а я то думал
Dima Kotlyarov
Так там же написано
Denis
я не могу понять почему так происходит при скроле, что какая-то ошибка это я то понял
Denis
интересно почему она вознмкает
Maks Kravchenko
[
{
"type": "link",
"text": "https://github.com/flutter/flutter/issues/65020"
}
]
Daniil Kostin
Можно через PageView и сделать. Сразу не скажу - думать надо. Там контроллер есть он выдает промежуточные значения 0.4352 для страниц
Kylych
а он табы поддерживает, т.е. по клику на табы смену экранов?
Daniil Kostin
надо их через контроллер колхозить Для табов есть TabView, но ни фиксированы в линию
Урусай
Всем привет. Кто нибудь сталкивался с медленным интернетом во флаттер приложении (андроид). У меня ноут и мобила на одном вайфае. Ноут через браузер дёргает файл за ~200мс, Приложение через http не меньше 3х секунд (бывает 6-8с). Дарт скрипт с компьютера тоже не особо шустрый - 800-1000мс, но хотя бы не 3с+
John
Если я правильно понял, то создаешь отдельно виджет TabBar привязываешь ему контроллер и так же создаешь виджет TabBarView с этим же контроллером. Ставишь TabBar на экране через Positioned, TabBarView как фон.
Daniil Kostin
сталкивался но только при особых условиях. При конкуренции с фоновым сервисом загрузки.
Даниил Левицкий
Пробовал в релизной сборке ?
Урусай
Привет. Да, пробовал. Всё равно долго грузит
Даниил Левицкий
А через хром с телефона ?
Олжас Сулеймен
о реализ 2.12 намечается, 2.13-dev уже светится в репе сдк
Урусай
Хм, с радостью бы проверил. А как в хроме на мобиле замерить скорость, не в курсе?
Дмитрий Щербаков
проблема именно в скорости интернета или в скорости доступа к сервису который развернут на ноуте?
Даниил Левицкий
Там разве время загрузки не пишет в инфо ?
Даниил Левицкий
О файле, после скачивания
Урусай
Проблема в скорости http запроса
IB Akhrorov
[
"Здравствуйте У кого была проблема с image picker?\nКогда запускаю камеру в делаю снимок фото Приложение запускается занова ",
{
"type": "link",
"text": "https://github.com/flutter/flutter/issues/48016"
},
""
]
Урусай
Проверил через хром с телефона - быстро, 170-220мс, как с компа.
Дмитрий Щербаков
к внешнему сервису или к твоему который развернут у тебя локально?
Дмитрий Щербаков
dio или обычный http?
Урусай
Обычный http, да и с dio вроде была похожая проблема (в другом проекте), но сейчас не проверял
Урусай
Из dart скрипта на локальной машине быстрее запрос проходит, так что думаю тут дело не в либе или дарте, а в мобиле\флаттере
Дмитрий Щербаков
а серверак где? amazon/digital ocean/что то-еще облачное
Урусай
Да не суть я думаю, с компа то нормально и из хрома тоже
Дмитрий Щербаков
просто есть мысль что маршрутизация с телефона другая нежели с компа
Дмитрий Щербаков
потому и тормоза
Дмитрий Щербаков
сделать tracert с компа и телефона я думаю разные будут маршруты
Урусай
Не должна быть по идее, роутер то один и тот же
Урусай
Причём я локацию поменял недавно (квартиру), на старой хате было тоже самое
Урусай
Есть приложуха, в которой можно файл скачать и заменить время под рукой?
Дмитрий Щербаков
а если попробовать не через вайфай
Дмитрий Щербаков
обычный инет
Урусай
Обычного инета нет
Урусай
Я из дома не выхожу, поэтому обычный интернет не нужон
Дмитрий Щербаков
а файл большой загружается? просто насколько я помню размер буфера то всего 8кб. соотв если увеличить буфер то и скорость закачки вырастет
Урусай
Файл 18мб. Занимает 7.5 секунд времени. Вайфай 5ггц, линия 100мб. Что за буффер? Как увеличить?
Дмитрий Щербаков
буфер это порции которыми ты получаешь файл
Дмитрий Щербаков
посмотри в консоли
Дмитрий Щербаков
когда качаешь
Дмитрий Щербаков
я хз вот только можно ли в дарте его менять
Дмитрий Щербаков
у клиента телеги под андроид например размер буфера 32кб
Дмитрий Щербаков
вот это я имею ввиду
Иван
Привет, интересует вопрос, как лучше вести документацию у проекта? Какими инструментами лучше пользоватся конкретно для flutter?
Daniil Kostin
У меня есть нативный бекграунд сервис который выполняет запросы в фоне и при переходе из фона в приложения начинаю подвисать запросы самого приложения. Я не копал - возможно баг какой, происходит не часто.
Дмитрий Щербаков
я бы попробовал на нативе накидать загрузчик файла и через него попробовать ( с увеличенным буфером)
Maksim Zdanchuk
всем привет, хотел посоветоваться. В приложении уже на телефоне (в режими релиза) редко вот такой баг - серый экран. В дебаге я таких никогда не ловил. Кто-нибудь знает причину такого бага. Раньше такого не было, но недавно переделывали дизайн и все вьюшки. Может ли это быть из-за каких-то проблем с layout или чем-то таким?
Robert Smith
мб в разметке чето
Maksim Zdanchuk
т.е. серый экран свидетельствует о проблеме в ui ?
Daniil Kostin
если не изменяет память,то это исключение так выскакивает в дебаге у тебя бы красный экран с желтым текстом был
Maksim Zdanchuk
странно, что в дебаге не было.
Maksim Zdanchuk
это может зависить от размера экрана?
Daniil Kostin
от чего угодно, подключай отлов исключений и смотри на чем падает
Maksim Zdanchuk
хорошо, спасибо
Ivan
Если отображаешь какие-то данные с бэка в юи на этом экране, проверь их, было такое когда когда ошибся с типом данных, в дебаге было ок, в релизе был аналогичный серый экран
Maksim Zdanchuk
проверить в каком смысле?
Ivan
Чтобы соответствовали получаемый тип данных и то что например сериализуешь
Maksim Zdanchuk
просто, как я уже писал, функционал не меняли. Меняли только дизайн. Соответственно, скорее всего, тип остался преждним
Maksim Zdanchuk
но спасибо, проверю
Ivan
Просто было такое когда с сервера приходил список, внутри которого переменная, которая когда пустая приходила в виде массива, а если что-то содержала, то была map. Это что-то с php, я не особо в нем разбираюсь как там устроено. Вот в этом моменте у меня был аналогичный серый экран
qq
здравствуйте, подскажите как лучше освоит Flutter, курсы или книги или youtube? я не разу не программировал
Урусай
Сначала dart и основы программирования. Это не долго и не сложно. А потом уже флаттер, как - без разницы
Дмитрий Щербаков
на udemy есть курс от шварцмюллера. Многие говорят что там много воды, но как по мне для начинающих самое то так как базовые вещи норм разжевывает. А дальше доки и пилить какой нибудь пет проект, например чатик на фаербейс, или взять любое понравившееся приложение и создать аналог пройдя все грабли )
Ivan
Возможно через RenderBox получиться
Урусай
Почитай про основы вёрстки во флаттере
Ivan
[
{
"type": "link",
"text": "https://m.habr.com/ru/company/surfstudio/blog/513070/"
}
]
Ivan
Вот статейка от surf, если нужно именно размеры
Sergey Hottabych
Никак. Ты можешь измерить виджет только после того, как он отрисовался.
Vladimir Stepanov
[
{
"type": "link",
"text": "https://api.flutter.dev/javadoc/io/flutter/embedding/android/FlutterView.html"
}
]
Vladimir Stepanov
getMeasuredWidth/Height
Pavel @iosdeveloper
Ребят, как можно отключить нажатие на слайдере, так чтобы активный индикатор не перемещался по полосе при нажатии пальцем на полосу?
Pavel @iosdeveloper
как пример
Урусай
IgnorePointer попробуй
Borovsky
Друзья, подскажите пожалуйста, я только начал изучать програмирование, перечитал и пересмотрел информации о всех языках, на каком языке лучше писать веб, приложения , игры и понял то, что больше всего по душе разрабатывать приложения под андроид и ios, подобрал язык как по мне самый подходящий и прогрессивный 'Dart', вот хочу с вами посоветоваться, кто с чего советует начинать в обучения этого языка, буду очень рад и благодарен если поможете стать на путь фронтенд разработчика на языке Дарт))
Алексей Александрович
Начните с документации по языку. Попишите, изучите синтаксис, как работает, попробуйте написать несколько простеньких скриптов. Во Flutter пока не ходите, будет очень сложно
Borovsky
Понял, спасибо вам большое, подскажите, можно ли каким либо образом пописать простенький код на языке Дарт использую какой либо фреймворк на андроид?))
Borovsky
Возможно не корректно выражаюсь, вот последние 2 недели учил синтаксис Питона, на Андроиде мог тестировать свой код через приложение Pydroid 3, возможно существую похожие приложения для Дарт?
Алексей Александрович
Тогда сразу Flutter ставьте
Borovsky
В любом случаи же нужно тренироваться писать код, а возможности везде с собой возить ноутбук нету, а хочеться как можно больше времени уделить этому )
Borovsky
Понял вас, спасибо, буду разбираться )
Алексей Александрович
Песочница для Dart работает в браузере, в нём и тестируйте
Borovsky
Ух ты, сейчас попробую, спасибо ))
Азат Аллабердин
Добрый ночи, такой вопрос если я сделаю дизайн приложения Купертино то проблемы с Google play не будет?
Dima Kotlyarov
Dart нормально описан на сайте metanit
Borovsky
Если вам не сложно можете ссылку дать на эту песочницу ?)
Borovsky
Спасибо, уже нашел этот сайт )) Как раз с него планирую начать ))
Borovsky
[
"Уже нашел, не нужно))\n",
{
"type": "link",
"text": "https://dartpad.dev/"
},
""
]
Азат Аллабердин
Хорошо, спасибо
Borovsky
Ребята, а подскажите пожалуйста, какой минимальный багаж знаний нужно иметь, что б устроиться на работу? Я понимаю, что не только Дарт и Флатер, кому не сложно напишите по шагам, что советуете учить если в программировании человек абсолютный новичек))
Varga
Простой гайд. Работает для любого языка. Выдумываешь себе прилодение. Небольшое, не сильно сложное. Реализовываешь его. В процессе сталкиваешься с проблемами, что-то узнаешь. 3 таких сделаешь - знаний хватит.
Varga
Примеры приложений: Простой интернет магазин Блокнот Калькулятор Система учета для магазина ...
Varga
На соьеседовании расскажешь что и как делал, какие проблемы встретил, как решил
Roman Cinis
GIT, Github, OOP и принципы, без них в команду не возьмут
Dmitry
главное чтоб желаение и стремление было ибо поначалу будет трудно и непонятно, а учить нужно много всего
Даниил Левицкий
Ну еще стоит понимать базу алгоритмов и структур данных, паттерны (Синглтон, фабрика, фасад...) и современные шаблоны проектирования (MVC, MVVM, MVP, MVI), ООП
Dmitry
ребят, почему firebase иногда минут 20 отправляет пуш? это норма? или что-то не так?
Ivan
у меня не часто, но бывает такое
Dmitry
есть какое-то другое решение для пушей? мне сами пуши как таковые не нужны, только данные пулять с сервера но данные надо чтоб сразу приходили (с минимальной задержкой) мб websocket?
Dmitry
можно ли на флаттере к вебсокету подсосаться?
Pavel Moiseev
[
"в стандартной библиотеке - ",
{
"type": "link",
"text": "https://flutter.dev/docs/cookbook/networking/web-sockets"
},
""
]
Roman Cinis
и инглиш b1-b2
Миша
[
{
"type": "link",
"text": "https://www.google.com/amp/s/avidreaders.ru/amp/book/bystryy-start-flutter-razrabotchika.html"
},
"\n\nХорошая книжка по Flutter для новичков"
]
Миша
*не реклама, ее тупо можно скачатт
Даниил Левицкий
Фаербейз по документации до 24 часов
Dmitry
уфф, точно не вариант перепишу лучше на вебсокеты
Даниил Левицкий
Держать десятки тысяч сокетов это не очень простая девопс задача)
|