Программирование : Dart & Flutter по-русски
Анатолий
шутишь? а вообще оно так и работает
???????
Я знаю, что оно так и работает. Просто в идеальном мире такого быть не должно)
Анатолий
Это дешевле, ибо на нас срать )
Анатолий
подумаешь что ты написал приложение в котором фокус глючит
Анатолий
мы это поправим, в следующем релизе
???????
Я когда пришел во флатер, увидел насколько избалованы разработчики за пределами 1с)
???????
Моглиб свою клавиатуру 100 раз написать, в стиле вашего приложения)
Анатолий
не совсем избалованы
???????
Или еще куча чего придумать)
Анатолий
может 1с просто говнит?
???????
У нас в 1с ничего просто нет.
Анатолий
это нормальная тема, когда в тебя кидают сырым продуктом
???????
Нет возможности прицепить библиотеку написаную какимто кетайцем
???????
А у вас тут все из коробочки.
???????
Еще и чегот ненравится
???????
Я и говорю: жёппы не нюхали.
???????
Так здорово живется и уже сейчас можно так много, а еще и недовольны.
Анатолий
я понимаю что все познается в сравнении, но давай сравнивать с качественным а не некачественным?:)
???????
Ну над превозмогать.
???????
Вот в вебе нет локализации и календарь, выходит, только американский.
Анатолий
они пытаются вытянуть разрабов с мест где каждый релиз выходит вылизаным
???????
Вот мне ныть сейчас или пойти и написать свою локализацию для веба?0
Анатолий
ну локализацию ты можешь написать, это уже хорошо
Анатолий
а когда не можешь, и ишью висит, и поправить не можешь?
???????
Ныть придется с полгода, ну или когда они там будут объеденять flutter с flutter_web
???????
А на локализацию, мб полдня-день
???????
Убрали рефлексию. Что теперь ныть или придумать костыли?
Анатолий
чего убрали? есть же
???????
Из флатера убрали пару месяцев назад
???????
Нет отладки в вебе. Тестов тоже пока нет (по идее скоро будут)
???????
Эт не деструктор.
Анатолий
работает по аналогии, костыль но есть
???????
[
{
"type": "pre",
"text": "class A { \n A() {\n print('+');\n } \n dispose() {\n print('-');\n } \n}\n\nvoid main() {\n A a = A();\n a = null;\n}",
"language": ""
}
]
???????
Только если самому вызывать. Назвав так функцию.
Анатолий
ты ж с флаттер работаешь а не с вм
Анатолий
флаттер за тебя вызывает
???????
Я понимаю почему это так и все такое.
???????
Яж не буду ныть, буду обходится без этого
???????
И ждать пока сделают поддержку плюсов.
???????
Будет чего нехватать по интерфейсу - попробую придумать костыль или освоить основы свифта-котлина
Анатолий
ты работаешь с флаттером, во флаттере есть механизм для вызова кода когда виджет выгружается, именно то что тебе надо, зачем ныть?
???????
Ныть незачем, это бессмысленно, энивэй
Анатолий
ты вкурсе что деструктор не вызывается сразу при удалении класса, а диспоз вызывается, он даже выгодней получается
???????
Проблемы над решать
Анатолий
деструктор вызывается гк
Анатолий
при очищении памяти, и твой обьект может быть удален не скоро
???????
Яж не про интерфейсы говорю
Анатолий
про деструкторы класса
???????
Да и почти весь интерфейс у меня из Stateless виджетов
Анатолий
я к тому что диспоз работает предсказуемей чем деструктор
???????
Мне хочется нормальный деструктор. Зачем? Просто хочется. Память на современных устройствах и так не забить.
Анатолий
Ну раз просто хочется можешь поныть, я тебя могу выслушать
???????
Не стоит, для этого специальные люди есть) Психологи и hr'ы.
Vadim Lukichev
Может по этому нет «классических» деструкторов в dartе))
???????
Я один раз случайно в корне приложения подключил бесконечный setState Так что приложение постоянно перерисовывало прям аж весь MaterialApp
???????
Обнаружил ошибку только спустя неделю
???????
Всмысле я даже не знал, не видел проблемы)
???????
Прост удивляло, чему в вебе (его тогда только-только выпустили), постоянно закрывалась консоль отладки (она прост переполнялась сообщениями).
NewBalanceM5
О, у меня такая же тема была
Vadim Lukichev
Я про то, что гугл «хвалится», как они пишут миллионы строк на dartе для своих сервисов. Там, по-моему, кто-то Явой плотно занимался, из тех кто влияет сейчас на dart. Живут же без деструкторов. Поэтому, если без «соплей», хотелось бы понимать реальную необходимость той или иной фичи. Не знаю, обычные пользователи влияют на это или dart сам по себе в гугле варится.
???????
Яж про то и говорю: "это субъективная хотелка"
???????
Без нее более чем можно жить
???????
и даже очень неплохо
Vadim Lukichev
Понял, это при разговоре, ты как пример для «нытья» привел))
???????
Угу, смысл вайнить. И жаловаться на то, что еще чото не готово или чегото нет.
???????
Сделай чтоб было, смирись и жди или иди туда, где есть. Аж тра варианта)
???????
У меня вот, в москве машин много, вместо моря - москва река под окнами. Еще и круглосуточно на другом берегу диснейленд строят.
Vadim Lukichev
Так ещё был вариант - если таких «ноющих» пару тысяч наберется, можно это действительно нужно)
NewBalanceM5
самый ужасный хакатон
Anton Anokhin
Ребята, че-то оффтопик пошел
Александр Васильев
хорошо что на тачпаде удобно быстро скролить )
Slava Marchenko
Могу сказать пару слов в защиту флаттера, так как раньше работал в Delphi и там процесс разработки кроссплатформы просто уебищный, кроме того что лагает и выглядит все хуево, так ещё нельзя отлаживать, среда разработки постоянно вылетает и вообще полный аут.
Slava Marchenko
Так вот когда начал на флаттере ощутил ментальный оргазм.
Farid
нашли с чем сравнивать: дарт и дельфи
NewBalanceM5
хоть не паскаль
Slava Marchenko
Я не сравниваю
Slava Marchenko
Тут несравнимо вообще
Sergey Bubnov
Всем привет. Кто может поделиться своей структурой папок и файлов в проекте? Пытаюсь понять как бы лучше расположить виджеты, bloc файлы, модели и тд.
???????
вообщет дельфи это и есть паскаль)
Anton ?? ? ??
Как вообще можно оптимизировать флаттер и Дарт код?
???????
Не считая - не писать неадекватные вещи?)
Anton ?? ? ??
^ в теории как можно убрать лаги
Anton ?? ? ??
Я просто ещё ни разу не реквестил в большие фреймворки, а флаттер выглядит лёгким
???????
Я тоже задавался этим вопросом, но как я приводил пример выше - даже написав абсолютную срань в бесконечном цикле пересоздающую MaterialApp ты не сразу замечаешь, что тут что то неоптимально)
???????
В общем пока отошел от этой темы, просто наученный горьким опытом тыкаю повсеместно принты сигнализирующие о разных событиях, конструкторах и состояниях (плюс в вебе пока нет отладки).
???????
А так, по идее, профайлером смотреть, тесты делать. Но основной вопрос "нафига", если пользователей устраивает и есть еще куча дел, которые надо освоить)
Анатолий
у некоторых список лагает, у некоторые перерисовка всего приложения летает
???????
В вебе лагает анимация)
???????
И большое количество канваса
Анатолий
ну в вебе то понятно, он еще сырой
???????
Более чем терпимо работает, если с плиточками не мельчить.
admin
у меня список на a1 дёргается когда скролю не отрывая пальза, но это не из-за флатера, а сенсора, на нативных списках такого нет, потому что какое то сглаживание тачскрина встроенно. Получается наоборот flutter слишком быстро работает и видно недостатки моего тачскрина))
???????
Попробуй свойство physic ему указать
???????
[
"Я так всем указываю:\n",
{
"type": "code",
"text": "physics: const AlwaysScrollableScrollPhysics(),"
},
""
]
???????
хз, может поможет)
admin
гляну, но думаю тут какой то фильтр от микродёргания нужен) и как его накладывать хз)
???????
ну вот с физикой поиграйся, мб поможет
admin
на других смартах тестил такой проблемы нет, это точно будет на не сильно качественных сенсорах, где это сглаживание пофиксили не на более низком уровне.
Тигран Киракосов
Кто-нибудь, подскажите по js'y. Возможно я хочу невозможного или затратного, но как сделать формат аутпута в консоли таким?
???????
[
{
"type": "link",
"text": "https://developers.google.com/web/tools/chrome-devtools/console/console-write#styling_console_output_with_css"
}
]
???????
Discord хороший пример возможностей консоли)
???????
Это они придумали 10 из 10)
Анатолий
не совсем, но близко
Тигран Киракосов
Есть функция с параметрами: gameWon(player, a, b, c, color). Я хочу подставлять значения value в неё, чтоб всё вставало на место. Таким вот образом: gameWon(value) => gameWon("O", 0, 1, 2, "blue"). Если задать вопрос корректно, чего я не смог в начале
???????
Яж тебе дал ссылку как красить с помощью css
???????
чего тебе еще надо?)
Тигран Киракосов
Так css красит же только, но не форматирует, или всё же форматирует?
???????
css много чего может
???????
[
{
"type": "code",
"text": "console.log(\"%cExtra Large Yellow Text with Red Background\", \"background: red; color: yellow; font-size: x-large\");"
}
]
Тигран Киракосов
то есть видимость не только лишь в консоли будет формата?
???????
[
{
"type": "mention",
"text": "@bunopus"
}
]
Anton ?? ? ??
Кажется нужно больше админов в этом чате
???????
да бота над сделать
Anton ?? ? ??
Нет, потому что спам можно легко пропустить при беседе, а вот бот будет спрашивать у КАЖДОГО, а не спамер ли ты
???????
Не умеешь готовить - не берись судить.
???????
Сколько у павла орлова - текстовых сообщений?)
Anton ?? ? ??
Ты хочешь ему запретить кидать линки?
Anton ?? ? ??
Это ещё больше бесит
???????
Можно не спрашивая просто тереть все что не текстовое у тех кто не набил N сообщений
???????
А голосовые и стикерсы - у всех вообще тереть
???????
А заявление в духе "выросли объемы, надо больше человеков-операционистов" в чате программистов я считаю просто комичным и ультра глупым (без обид)
Evgeny Kot
Не волнуйтесь, завтра уже будет лайтовый бот
???????
Ага, попробуй по моему алгоритму, через количество текстовых сообщений)
Aleksey
[
{
"type": "link",
"text": "https://www.youtube.com/watch?v=87cz-ihAJ-8"
}
]
Олжас Сулеймен
потом они пихнуть флаттер веб виев в флуттер веб чтоб ...
Daniil S
Смотрел на ио паттерн провайдер?
Daniil S
Мне кажется это может помочь
Анатолий
Ты вот шутишь, а айфрейм как показать в флаттер веб?
DVS (Read The F.ng Manual) Studio (NoHello)
а если еще и ссылку на самого себя в iframe в webview в flutter web запихнуть?)
Andrei G.
Navigator.push - после перехода на новую страницу, у всех виджетов приложения вызывается .build(), независимо от того, отображатся они или нет?
Andrei G.
у меня на главной странице проигрывается звук, при переходе на другую он опять пригрывается (
Sergey Lavinov
Тоже было такое подозрение, что навигатор все ребилдит, но пока не проверял. А воспроизведение звука (и вообще все, что не касается верстки) лучше вынести из билда
Sergey Lavinov
Есть же люди из нативного мира? Есть какая-то эвристика по соотношению времени разработки на флаттер и на нативную платформу? То бишь в среднем, на сколько разнится время написания одного и того же приложения на одну платформу?
Andrei G.
Я бы вынес, но не понимаю как
Sergey Lavinov
Это типа флаттер = четверть времени от натива, или на 25% дольше?
Sergey Lavinov
Если звук нужен только на самое первое открытие страницы, то initState() у StatefulWidget, если на каждое появление этого экрана, то тебе нужна хитрая штука, ща скину как гуглится
Sergey Lavinov
[
"Или даже так ",
{
"type": "link",
"text": "https://medium.com/@najeira/how-to-handle-screen-transitions-in-flutter-b39dcb2675f"
},
""
]
Anton ?? ? ??
А на флаттер_веб вообще можно сделать по типу блога?
Anton ?? ? ??
Типо реюзать страницы
Anton ?? ? ??
А то он мне так понравился;)
.
в режиме просмотра думаю более чем. но к примеру TextFormField в режиме multiline работает очень рагульно... банально перемещать курсор по тексту на веб-странице просто нереально... Т.е. посты в таком блоге будет сложно
Anton ?? ? ??
Меня больше интересует как реализовать такое: поставлять для каждой статьи .md файл и генерировать страницу для поста
Anton ?? ? ??
Просто никогда таким не занимался
Fearless Cry
Если виджет в дереве то может ребилдиться когда угодно
Fearless Cry
если вы не хотите проигрывать музыку, можете явно проверять в виджете где он находится (положение в стеке) или запускать музыку не в build методе
Fearless Cry
или ловить колбэки от навигатора (уже посоветовали)
Andrei G.
А как проверить положение в стеке?
Fearless Cry
[
{
"type": "pre",
"text": "ModalRoute.of(context).isCurrent",
"language": ""
}
]
Fearless Cry
Но лучше конечно не делать подобные штуки в билде)
Edgar
Ребят, кто ни будь пробовал дергать бек используя grpc, а не стандартный rest?
Edgar
Есть ли прирост в производительности?
Andrey Gaysin
Всем привет! Подскажите, пожалуйста, можно ли на Flutter написать приложение, которое будет с определенной периодичностью проверять текущее местоположение пользователя, даже тогда, когда приложение выключено? На дроиде я такое делал через сервисы, а как с этим дела на Flutter?
Andrey Gaysin
А если не в бэкграунде, то можно?
Edgar
Это не проблема, бек легко реализовать, но вот интересно, что будет с клиентом
Edgar
Бэк нужно разпеисать по грпц. Производительность хз, на гникс и апач с чем-то как вроде как модуль на уровне под цги
Slava Marchenko
Нет проблем. Пиши сервис
Семён undefined
как сделать так, чтобы вне зависимости от DPI размер текста оставался нормальным и не заезжал за рамки?
admin
AutoSizeText package не смотрел?
DVS (Read The F.ng Manual) Studio (NoHello)
..... божественная штука
dmitry isachenkov
Но какой в этом толк, все равно вме сдохнем! К слову приложение прикольное)
Семён undefined
тыщу раз сменилось
Семён undefined
я даже в гугл плей успел опубликовал
Семён undefined
ну, пока что по закрытому тестированию
dmitry isachenkov
Понятно)
Семён undefined
если хочешь, можешь кинуть гмэйл, приглашу
Anton Zheltov
Могу на iOS в тестфлайт потестить
Aleksey
всем привет. ктото уже создавал свои анотации к методам? работает?)
Олжас Сулеймен
А что интересует?
Aleksey
хочу для rest запроса проверять есть ли права у пользователя чтобы трогать запрашиваемый обьект. там получается для кучи методово rest котроллера надо вызывать одинаковый код. в спринге я делал свою анотацию, которую вешал на методы контроллера, и код этой анотации вызывался до вызова метода.
Aleksey
как такое сделать в дарте?
Олжас Сулеймен
[
"гляньте у них ",
{
"type": "link",
"text": "https://github.com/stablekernel/aqueduct/blob/f252500e456dbb9c6fe24bbdfcfb2a3f5a6d422d/aqueduct/lib/src/http/resource_controller.dart"
},
""
]
Олжас Сулеймен
есть два варианта сделать через генераторы или мирроры обернуть
Aleksey
я как раз aqueduct и использую
Aleksey
кодогенерацию я уже нашел, но чтото мне кажется это не то. надо изучить как в aqueduct сделаны Operation аннотации, чтото сам не догадался)
Олжас Сулеймен
как я понял тут не получится обернуть функция в другую, чтобы та запускалась перед ней
Aleksey
есть aop библиотека от алибабы но там как то очень сложно привязывается обработчик к методу
Aleksey
[
{
"type": "link",
"text": "https://github.com/alibaba-flutter/aspectd"
}
]
Олжас Сулеймен
те еще извращенцы
Олжас Сулеймен
спс за либу
Aleksey
мне не нравится эта либа, код который я не хочу клпипастить в каждый метод занимать меньше строк, чем код привязки обработчика на метод
Aleksey
что посоветуешь для моего случая?
Олжас Сулеймен
можно обернуть объект в класс в котором переопределить noSuchMethod а в в нем уже запускать функцию из анотаций и вызывать сам метод контроллера
Олжас Сулеймен
[
{
"type": "link",
"text": "https://gist.github.com/ykmnkmi/77502799a7e36ecabfee84a594b63e90"
}
]
|