Программирование : Dart & Flutter по-русски
Пашка
flutter run —release да пробовал
Урусай
Попробуй в режиме профилирования глянуть что может тормозить
Angry TaigaFox
Я же вам сверху ответил что можно сделать)
IB Akhrorov
Как в Column поменять местами их children?
Павел Середа
для начала они видимо должны визуально отличаться
IB Akhrorov
Если отличается визуально как можно поменять
Павел Середа
если отличается визуально значит отличаются и данные, для разницы в данных перед выводом в Column выполни сортировку и всё будет хорошо
Flow
В качестве children задавай List переменную
IB Akhrorov
Данные приходят с api
Flow
Ну тогда данные заноси в future builder и в нем строй column
Павел Середа
данные из API приходят в момент инициализации этой страницы приложения, там то их и можно отсортировать
Vadim Lukichev
[
"Случаем не это?\n",
{
"type": "link",
"text": "https://api.flutter.dev/flutter/material/ReorderableListView-class.html"
},
""
]
IB Akhrorov
Это же виджеты)
Павел Середа
никакие это не виджеты, всё - данные прежде всего
Пашка
конечно код, что же еще, магия?
Пашка
я пока во флаттер магии не встречал
IB Akhrorov
Нет я хочу с помощью кнопок поменять местами виджеты , например в Column [ Text1, Button, Text2] с помощю Button хочу поменять Text1 на Text2 местами и обратно
4??uzhoy .
Ну у тебя лист строится на основании списка же, знаешь что такое вьюмодел? Меняешь их и вызываешь ребилд
IB Akhrorov
Вопрос в этом как менять местами , ребилд не проблема)
IB Akhrorov
Есть ли где нибудь example
4??uzhoy .
Екземпл как менять переменные местами ?
IB Akhrorov
Да ,Это не простые переменые)
IB Akhrorov
Мне через key менять?
IB Akhrorov
Я не знаю как иметь доступ к children
Yerassyl Maikhanov
во вьюмодел в переменную новое значение а потом notifyListeners
Kirill Aparin
Как сделать такой Divider ?
tdesc
и глаз, видимо он как инструмент для замера используется
Алексей Анисов
странно отрицать лаги даже на этом видео
Yerassyl Maikhanov
скорее всего custom painter нужен не видел чтобы такое было в имеющихся компонентах
Алексей Анисов
флаттер лагает на старте и это у всех, на мощных девайсах меньше, на слабых больше. На андроиде ситуация в целом лучше. Эти лаги связаны с подготовкой шейдеров на старте
tdesc
все что видно касательно перехода это с 10 по 12 секунду, я там ничего не вижу извините
Алексей Анисов
после прогрева лагать не будет
Алексей Анисов
первый переход внимательно посмотри
Yerassyl Maikhanov
на каких девайсах тестить? я тестировал на redmi 4x и samsung a80 лагов не наблюдал
Алексей Анисов
я же говорю - на андроиде ситуация лучше, даже китайский хлам может не лагать
Павел Середа
точняк, лагает, а как делать этот самый прогрев?
Алексей Анисов
Iphone 11 pro - лагает любая анимация если играется первый раз
Алексей Анисов
на андроид пока только делают pre warm
Алексей Анисов
в последнем релизе были нотсы про это
Алексей Анисов
не видел результатов пока
tdesc
обсуждаем реакцию нервной системы отдельных разработчиков
tdesc
давайте уж код и цифирки замерим
Vladimir Ivanov
[
{
"type": "mention",
"text": "@bunopus"
}
]
Павел Середа
[
"хм слушай ",
{
"type": "link",
"text": "https://stackoverflow.com/questions/53774745/flutter-animation-is-not-smooth-at-first-time-render"
},
""
]
Павел Середа
If you run from IDE you'll get a --debug build by default, which is unsuitable to measure any performance metrics or animations or build output size.
Павел Середа
тут это утверждается, типа если —release то всё будет тип-топ
Алексей Анисов
второй ответ прочитай)
Yerassyl Maikhanov
о настоящий мошенник
Yerassyl Maikhanov
можно вопрос кто ведется на это?
tdesc
нашли какой то дохлый стековерфлоу?
tdesc
1 year, 8 months ago
Алексей Анисов
если для тебя это ок - то пользуйся. Но, извините, как потом пользователям объяснить что это у них глаза не такие?
tdesc
я не понимаю что у вас за проблема извините
tdesc
и у пользователей наших таких замечаний не было, о первом “прогреве” ниразу
Алексей Анисов
я вроде четко сказал, первый транзишн на видео, между первым экраном и вторым
Алексей Анисов
видно как запинается
IB Akhrorov
[
{
"type": "link",
"text": "https://stackoverflow.com/questions/63411830/how-to-change-place-of-children-widgets-in-column"
}
]
Павел Середа
[
"печально что и PR(идей) по этому issue нет, хорошо хоть сам issue заведен, подкиньте ему лайков, чтоли ",
{
"type": "link",
"text": "github.com/flutter/flutter/issues/61450"
},
"\n\nadded this to the 1.26 - December 2020"
]
Artem Shkryab
Привет ld: framework not found Pods_Runner если удалить поды с икскода то нормально собираеться, но этот фреймвор появляеться каждый раз при pod install. Что ломает битрайз. Кто-то сталкивался?
tdesc
flutter doctor можно увидеть?
Artem Shkryab
тоесть он говорит что их нет, когда они есть, а когда их действительно нет, то все ок
Алексей Анисов
потому что компилировать шейдеры надо в любом случае, а прекомпилить их все - слишком сильно увеличит вес приложения, потому что вариативность оч большая
Алексей Анисов
[
{
"type": "link",
"text": "https://github.com/flutter/flutter/projects/140"
},
"\nвот все тикеты по этой проблеме"
]
tdesc
у issue стоит метка found in release: 1.20
tdesc
я бы попробовал на более раннем релизе
Пашка
я щас на бете ветке
tdesc
вижу ) мы на мастере уже в 1.21 pre
Пашка
может там пофиксили)
tdesc
Depending on the workload, your app may prefer trading Metal's other improvements for OpenGL's vastly faster shader warm-up performance
tdesc
проблема с заезжающим металом
Пашка
оно как бы не критично, потому что отрабатывает только при первом запуске но все же впечатление портить не хочется
Пашка
попробую прогрев шейдеров
Алексей Анисов
есть один хак, на переходах между экранами помогает. Ща попробую найти
tdesc
как бы может просто сплеш показать при старте уже во флаттер за секундочку?
tdesc
есть нативный сплеш?
Алексей Анисов
[
{
"type": "pre",
"text": "Future.microtask(() => _appAssembly.createMultiCaseExamPage(multiCaseInfo))\n .then((value) =>\n _navigator.pushReplacement(NativeRoute((_) => value).route()));",
"language": ""
},
"\nРазнести создание и навигацию на разные проходы ранлупа"
]
tdesc
это просто о качестве года говорит
Алексей Анисов
и что же говорит?
tdesc
обычно все инициализируется ВНЕ страницы
tdesc
не надо в самом виджете ничего делать
Алексей Анисов
да ладно? проверь на пустом экране
Алексей Анисов
способ выше
tdesc
[
{
"type": "code",
"text": "_appAssembly.createMultiCaseExamPage"
},
" это что такое?"
]
Алексей Анисов
это пример из моего кода, тут виджет просто создай свой
tdesc
“как проверить неведомую хрень” книга есть?
tdesc
что создай виджет, Center( Text( ‘hello’) ) не подойдет?
Алексей Анисов
да хоть такой
Алексей Анисов
переход между страницами сделай на таком виджете
Алексей Анисов
тот же пример выше в видео скидывали
Алексей Анисов
если переделать на Future.microtask
Алексей Анисов
то лагать не будет
tdesc
в примере выше лагает не навигация )
tdesc
и issue уже обсудили, как поможет микротаск?
tdesc
причем там у вас просто ваш виджет делается )
Алексей Анисов
я написал как, попробуй
Artem Tkachenko
у меня iphone 11, в релизе не лагает ничего; flutter 1.19
tdesc
[
"мои роуты выглядят несколько иначе\n Routes.navigatorKey.currentState.pushReplacementNamed(action.payload.first,arguments: action.payload.second);\nи вот так \n static Route onGenerateRouteDelegate(RouteSettings settings) {\n….\nCupertinoPageRoute(\n fullscreenDialog: true,\n settings: RouteSettings(name: ",
{
"type": "link",
"text": "settings.name"
},
"),\n builder: (context) => Material(child: LoginPage(login: settings?.arguments ?? \"7777\")),\n );"
]
tdesc
куда вставлять Future.microtask?
Artem Tkachenko
правда я materialpageroute использую
Пашка
можешь записать видос
Алексей Анисов
на iphone 11 pro или iphone 11 pro max будет лагать. А почему? а потому что плотность пикселей на них выше и соответственно флаттер не успевать отрендерить
tdesc
все инженерам можно расходиться
Artem Tkachenko
окей эгри 11pro под рукой нет((
Алексей Анисов
с onGenerateRoute такое не прокатит, работает только когда ты страницу в навигатор запихиваешь без namedRoute
Алексей Анисов
тебе надо создать страницу в микротаске, а пушнуть в навигатор после этого асинхронно
Алексей Анисов
в одном из ишью это описывали
tdesc
зачем мне это делать?
Алексей Анисов
я тебя не заставляю
tdesc
отлично работает named route и я не видел проблем )
tdesc
собственно мне и не надо
Алексей Анисов
я пишу для тех кто видит проблему
tdesc
под капотом разницы нет
Алексей Анисов
я уже объяснил в чем разница. Проблема не в использовании onGenerateRoute, а в том что там такой трюк с Future не проделать
Алексей Анисов
если ты не видишь лагов то используй это дальше
Artem Shkryab
никто не сталкивался?
tdesc
ваш “трюк” в том, что вы что то в своем виджете “делаете” вот и все и проталкиваете дальше уже созданный виджет
Алексей Анисов
я в своем виджете ничего такого не делаю. Этот пример сработает даже с пустым UI виджетом. Без прогрева будет лагать, а с этим трюком лагать будет значительно меньше, а где-то и вовсе не будет
tdesc
это ваше утверждение ничем не подкрепленное, только мешает
tdesc
“даже с пустым” виждетом нет разницы
Алексей Анисов
я еще раз говорю, совет не для вас, а для тех кому эта проблема актуальна. У вас вроде все плавно? Зачем вы мне доказываете обратное, я это проверил, это работает, не идеально, но работает.
tdesc
есть computer science и есть оккультизм
tdesc
давайте везде теперь future.microtask запихивать и гадать на кофейной гуще
Алексей Анисов
Запихивайте
Дмитрий
Друзья! Есть внешний скрол и внем внутренний, как сделать так, что бы при достижении конца внутреннего скрола, скролился внешний, использую SingleChildScrollView
Almas Tanayev
[
{
"type": "link",
"text": "https://youtu.be/CsmFbIiy-N8"
},
"\nПохожая логика"
]
les forest
JSники есть в чате? Почему у меня webstorm игнорирует брейпойнты в дебаге?
DVS (Read The F.ng Manual) Studio (NoHello)
а дебаг точно подключен именно к этому процессу?
Андрей Козак
Ты ж про node is?
Андрей Козак
кароч ts сначала нужно транспайлить с генерацией source map, только потом будет дебаггер работать
Арчи
Привет. Есть column с виджетами. Хочу вынести часть виджетов в отдельный метод для лучшей читаемости, но если я так делаю, то флаттер ругается что пытаюсь засунуть список в список column. Чтобы этого избежать я создаю в методе еще один column и туда помещаю виджеты и его возвращаю. Можно ли это как-то вынести виджеты в метод без создания еще одного column в нем?
German Yanovich
Блин парни если флаттер так набирает популярность уже пару лет, даже недавно обогнал RN. Почему так мало вакансий на нем? Просто очень нравится флаттер сам по себе, но тревожит тот факт что возможно потратишь на его изучение много времени и никому не будешь нужен.
George Wiseman
Все устаканиться, пока можно в EPAM/Surf, ну и тут есть еще какой-то канал с вакансиями
Roman Vasiliev
Парадокс жабоскрипта
German Yanovich
Единственное радует что на фрилансе уйма заказов на flutter, это уже что да значит
Mitai
их становится все больше, не стоит переживать
Mitai
а вот на голом дарте вакансий ваще хрен, придется видимо колупаться с флаттером((
George Wiseman
Ну тут как бы сам язык еще должен подрасти + должна начать тема "ну у нас приложение на dart, может и бэк на нем" - как с JS. Это еще пару лет наверное
George Wiseman
Еще был Angular/Dart, но я не знаю жив ли он
German Yanovich
[
{
"type": "mention_name",
"text": "Pa_blooo",
"user_id": 368710075
},
" upwork, fl"
]
Mitai
да не давно обнова была в гите
Stepan
Ребят, как сделать такую кнопку, исчезающую при скроллинге?
Пашка
Floating Action Button
Шахзод Джураев
Повесить контроллер на скролл и слушать
Stepan
Не совсем понимаю, как это сделать
Шахзод Джураев
[
{
"type": "link",
"text": "https://medium.com/@wnsfernando95/hide-or-show-floating-button-on-scroll-in-flutter-636d660ff9fb"
}
]
Andrew Ka
[
{
"type": "link",
"text": "https://youtu.be/tocF0IiLVJ4"
}
]
Savva Morozov
а firebase будет работать без сервисов google? (huawei и тд)
Пашка
на айфоне же работает
IB Akhrorov
Здравствуйте какой state management быстрее пишется, посмотрел блок , там много писанины, для каждого изменящего виджет нужно создать 3 класса ,bloc,state event
Никита
Добрый день, Как сделать в cupertino picker полосы белые и текст по центру?
Egorka Gajvor
[
{
"type": "link",
"text": "https://nometa.xyz/"
}
]
Шахзод Джураев
Там вроде в ios через apns работает
Пашка
так есть расширения, за вас создадут
IB Akhrorov
Да видел но все равно много классов
Andreu
[
"Всем добрый, юзаю ",
{
"type": "link",
"text": "https://github.com/lee-jun-fan/modal_bottom_sheet"
},
" для красивой анимации модалки и возникла следующая проблема. В диалоге нужно сделать навигацию внутри диалога. Проблема в том, что не могу сделать закрытие диалога, ибо pop() как по ключу родительского navigation, так и по контексту делают следующее:"
]
les forest
если есть понятный материал скинь пожалуйста
??[T?CH]?? ??
[
"ку. \nчекните плиз, страница живая? \n\n\n",
{
"type": "link",
"text": "https://pub.dev/packages/http_auth"
},
""
]
??[T?CH]?? ??
вообще не открывается
Андрей Козак
[
{
"type": "link",
"text": "https://www.jetbrains.com/help/webstorm/running-and-debugging-typescript.html#ws_ts_run_debug_server_side"
}
]
Андрей Козак
зависит от того на чем пишешь, по сути тебе нужно сделать npm run build, и на него дебаггер натравить
??[T?CH]?? ??
да куча, прост сервак не хочется в туннель пихать, странно, половина сайтов и сервисов работает.... .эээх
Aleksandr Aleksandrov
[
{
"type": "bot_command",
"text": "/stat@combot"
}
]
Combot
Total messages: 237107
DVS (Read The F.ng Manual) Studio (NoHello)
вроде живая
??[T?CH]?? ??
Thanx, а можешь глянуть чутка ниже, есть ли там поддержка digest auth прост на азуре в депле раскатаю, а туннели тормозят ещё хуже
DVS (Read The F.ng Manual) Studio (NoHello)
[
{
"type": "pre",
"text": " import 'package:http_auth/http_auth.dart';\n\n main() async {\n var client = http_auth.DigestAuthClient('user', 'passwd');\n var response = client.get('http://httpbin.org/digest-auth/auth/user/passwd');\n }",
"language": ""
}
]
??[T?CH]?? ??
great thanx
Никита
Добрый день, Как сделать в cupertino picker полосы белые и текст по центру?
??[T?CH]?? ??
да точно, гит работает. я прост сам физически не в РБ, но сервак там крутится, под rdp работаю, терь ясно, чё половина не работает
|