Программирование : Dart & Flutter по-русски
Анатолий
Я показал реальный пример
Анатолий
который работает последовательно
Анатолий
Может я ошибся в коде?
Анатолий
По сути если я в дарте напишу аналогичный код с асинками, он будет работать так же
Анатолий
Это частная ситуация, но все же
Анатолий
Кстати, по ссылке бредятина описана, там так много слов "многопоточность", что начинает казаться что так и есть, но нет
Nerten
Трудности перевода
Nerten
Что и описано в книге, и описано как это исправить, и в доке написано почему так
Vadim Shchepotev
Асинхронность не значит многопоточность, но асинхронные функции могут работать в разных потоках. Кол во ядер ни как не влияет на многопоточность, ты можешь создать сколько угодно тредов даже с одноядерным пк.
Анатолий
То что написано не исправление, он просто обрывает текущее выполнение кода
Анатолий
Многопоточность будет выводить сообщения вразброс
Анатолий
потому что работает одновременно
Анатолий
в дарте изолянты так работают
Vadim Shchepotev
Это как повезёт
Vadim Shchepotev
Ну формально они могут пойти друг за другом
Nerten
Не всегда, в данном примере нет, если поставить слип, то будет вразброс
Анатолий
дык слип это по сути прекращение работы в текущей функции
Анатолий
это не то что я хочу при многопоточности
Анатолий
го не многопоточный, он "паралельный"
Анатолий
это немного другое
Nerten
Он таки именно многопоточный
Nerten
Как раз эмулирует тяжёлые операции
Анатолий
ну хотя может технически там и терминологически многопоточный, но работает он синхронно
Анатолий
[
{
"type": "link",
"text": "https://habr.com/ru/post/195574/"
},
" кстати перкрасная статья про многопоточность и паралельность"
]
Анатолий
на тему асинг вс многопоточность
Nerten
Она старая и каменты ценнее самой статьи )
Анатолий
ну го не так сильно изменился
Анатолий
каменты ща гляну
Анатолий
Вообще это в тему выше к многопоточности
Анатолий
не всегда она хороша
Derek Z
[
"Добрый вечер.\nАнимировать картинку бекграунда возможно ?\nесли она установлина как:\n\n",
{
"type": "pre",
"text": " new Container(\n decoration: new BoxDecoration(\n image: new DecorationImage(\n image: new AssetImage('assets/images/login-background.jpg'),\n fit: BoxFit.cover,\n ),\n ),",
"language": ""
},
""
]
Maria
[
"Можно как-нибудь так ",
{
"type": "link",
"text": "https://gist.github.com/MariaMelnik/fa9bbfac55137f7525c88ecc7537ebd5"
},
""
]
Nerten
[
"Возможно боян, но полезная штука ?? ",
{
"type": "link",
"text": "https://flutterstudio.app/"
},
""
]
Анатолий
да, хорошая, для старта, ибо те компоненты неплохо подглючивают
Nerten
ну работает более-менее только в хроме
Анатолий
попробуй сделать что-то с Row или Column
Анатолий
Они первые с чем я столкнулся
Анатолий
ну постепенно улучшают, когда-то будет крутая штука
Анатолий
я делаю стартовое приложение с его помошью, накидываю бутстрап
admin
всплывающее "CUT COPY PASTE" можно редактировать?
Анатолий
Это системная всплывашка
DVS (Read The F.ng Manual) Studio (NoHello)
Если системная, то свою писать разве что
DVS (Read The F.ng Manual) Studio (NoHello)
Или как то пинать Натив, но это уже для отдельной статьи идея мне кажется
admin
хотябы "override" перевода на рус. нельзя как нибудь сделать?)
Derek Z
[
"Ребята.\nподскажите, как сделать ScaleTransition для бекграунда ?\n\nесли бекграунд как\n",
{
"type": "pre",
"text": " decoration: new BoxDecoration(\n image: new DecorationImage(\n image: new AssetImage('assets/images/login-background.jpg'),\n fit: BoxFit.cover,\n ),\n ),",
"language": ""
},
""
]
Derek Z
или может быть надо бекграунд делать по другому ?
Vyacheslav Egorov
[
{
"type": "mention",
"text": "@f3ath"
},
" `(totalElements + size - 1) ~/ size`"
]
Maria
почему нельзя (totalElements/size).ceil()?
Анатолий
Вот я тоже сижу туплю
Анатолий
Стеснялся мож не понял что им надо
Анатолий
А оно всеравно будет таким в твоей операции на начальной стадии
Анатолий
Бояться их надо тока если производишь несколько операций над ними подряд не округляя в итоге
Roman Chugunov
Всем привет) Подскажите в чем проблема. Делаю запрос, точнее пытаюсь, не проходит. Т.к. dart беред порт не из моего uri, а какой-то с потолка рандомный. Как пофиксить?
Roman Chugunov
new Uri.http(...) пробовал, не помогает
Nerten
Перезапустить эмулятор, такое у меня очень часто, бесит
Nerten
[
{
"type": "mention",
"text": "@misteraleph"
},
" а это у кого баг?"
]
DVS (Read The F.ng Manual) Studio (NoHello)
проксирование через эмуль на локал?
Roman Chugunov
Если бы он автом. пробрасывал, то наверное ошибки не было
Nerten
Ты пробовал перезапустить эмульсия? Мне помогает
Roman Chugunov
[
"Решил. Надо было просто заменить localhost на ",
{
"type": "link",
"text": "10.0.2.2"
},
""
]
DVS (Read The F.ng Manual) Studio (NoHello)
а если забить на NAT и прописать IP ноута?
Roman Chugunov
Хз как но это дюрьмо работает
DVS (Read The F.ng Manual) Studio (NoHello)
а. ну да.
DVS (Read The F.ng Manual) Studio (NoHello)
он не ищет localhost а обращается через сеть на нижнем уровне
Nerten
Хах, тогда понятно
Roman Chugunov
А, ясно. Теперь понятно)
Vyacheslav Egorov
Localhost в эмуляторе относится к самому девайсу эмулятора, а не к вашему лаптопу
Maria
а остальные варианты?
Roman Chugunov
Да да, весьма очевидно)
Maria
Ваш изначальный работает как надо?
Александр Котков
Народ, дебажка айос от андроид сильно отличается? Я в проекте использую рса шифрование и на андроиде в дебаге скорость шифровки расшифровки быстрая, на айосе же занимает дикое время, релизку пока сбилдить не могу для проверки.
Maria
да, поняла ?? . Правда опасненько в случае "один код подо все платформы" получается.
Александр Котков
Найдется такой юзер) сожрет весь мозг
Vladimir Luzhin
Просто узнать унаследован ли объект от другого? Или от какого-то конкретно?
Vladimir Luzhin
Это хз, могу подсказать только как узнать тип в рантайме
Vladimir Luzhin
По идее, если isSubtype принимает объект, а не тип
Vladimir Luzhin
Найду в коде эту строчку)
Vladimir Luzhin
А ковариатным
Vladimir Luzhin
Я просто как раз runtimeType хотел предложить
Mike Lubinets
Посоветуйте где посмотреть грамотную реализацию экрана настроек? Накостылил на TextFormField’ах, но как-то оно очень кустарно. Мб есть хорошая либа, реализующая нативные виджеты настроек, как, например Preference виджеты в андроиде
Nightwelf
тоже это интересно
Nightwelf
[
{
"type": "link",
"text": "https://pub.dartlang.org/packages/preferences"
}
]
Nightwelf
больше пока ничего не нашел
Mike Lubinets
Это я видел, текст инпутов там нет :С
Mike Lubinets
[
{
"type": "link",
"text": "https://pub.dartlang.org/documentation/preferences/latest/preference_dialog/PreferenceDialog-class.html"
}
]
Mike Lubinets
Не совсем то, но если внутрь диалога положить TextFormField может быть получше
Nightwelf
как зашифровать строку rsa? ни один плагин не работает :(
Anton Vlasov
[
{
"type": "link",
"text": "https://github.com/leocavalcante/encrypt"
},
"\n?"
]
Nightwelf
не работает блин :(
Anton Vlasov
Может не так делаешь что-то?
Anton Vlasov
Открой issue с описанием проблемы, тебе автор объяснит что не так
First Last
Глянь как работает whereType
Александр Котков
[
{
"type": "link",
"text": "https://pub.dartlang.org/packages/pointycastle"
}
]
Nightwelf
спасибо, уже разобрался
Nightwelf
вот только то что зашифровано надо отправить на сервер, а не идет!!!
Nightwelf
не работает await
Александр Котков
Шифрование не будущее
Александр Котков
Я вынес в изолянт
Александр Котков
Плюс тем самым еще разгрузил ui поток
Александр Котков
[
{
"type": "link",
"text": "https://api.dartlang.org/stable/2.1.0/dart-isolate/Isolate-class.html"
}
]
Nightwelf
спасибо, посмотрю
Александр Котков
Попробуй сгенерить ключи, увидешь что ui поток встал
Александр Котков
4096 длиной
Александр Котков
Погоди стой) у тебя ширование возвращает будущее или нет?
Nightwelf
использую encrypt, вроде не асинх
Александр Котков
Эту либу не трогал, если не асинк то, после шифрования тебе придет результат и после следущей строкой отправляй на сервер
Nightwelf
только новая проблема))) сервер на ноде и не могу даже инициализировать модуль :(
Nightwelf
типа ключ слишком длинный
Александр Котков
Тут не подскажу??
Nightwelf
а как-то можно в Future > data достать до context ?
Nightwelf
это уже новый вопрос)
Nightwelf
у меня есть запрос к серверу
Nightwelf
виджет отображается и запрос улетает
Nightwelf
но в запросе должны быть данные из стора
Nightwelf
как их достать, если не иметь context
Nightwelf
но я не знаю как его прокинуть
Nightwelf
в build запрос не положишь ибо не нужно постоянно драть данные, один раз загрузил и усе
Олжас Сулеймен
запили асинк сервис для стора
Nightwelf
похоже я немножечко баран... я использую ScopedModel
Олжас Сулеймен
есть же FutureBuilder и StreamBuilder или это не то
Nightwelf
как ему отдать контекст???
Олжас Сулеймен
может кусочек покажете
Nightwelf
что-то пошло вроде
Олжас Сулеймен
там в FutureBuilder на вход подается функция которая принимает контекст и снапшот, это?
Nightwelf
пойду поем, а то обед закончится скоро уже
Anton I
Бойцы разработки, всем привет! Тут есть ребята мидлы-сеньёры, которые из нативной разработки перешли на Flutter? Как вообще у вас, ребята, кто занимается программированием на Flutter, участвуете в разработке продукта или на аутсорс?
Александр Котков
[
"Кто что использует для выгрузки файлов с нативки в дарт? я вот нашёл ",
{
"type": "link",
"text": "https://github.com/miguelpruivo/plugins_flutter_file_picker"
},
" , но там мало звезд поэтому есть сомнения, или свою реализацию делаете?"
]
DVS (Read The F.ng Manual) Studio (NoHello)
вроде норм реализация. а то что звезд мало - он просто новый... относительно да и ишью открывают...
Александр Котков
Я нашёл ещё документ пикер и так далее, что-то их много вроде делать должны одно и тоже, а в описании разное)
Александр Котков
заюзать либу или саммоу написать) вот в чем вопрос
Александр Котков
знак свыше)
Александр Котков
Кто использует image_picker у вас все ок? работает на iOS?
Александр Котков
у меня вышибает при возврате в приложение
Nightwelf
раз мы сегодня с тобой говорим и ты спросил про иос - у меня к тебе вопрос. как-то можно сделать сборку под иос релизную и ставить ее из файла без публикации в аппсторе?
Александр Котков
ad hoc сделать
Nightwelf
можно подробнее
Александр Котков
[
{
"type": "link",
"text": "https://www.youtube.com/watch?v=SriC_AUjo0Q"
}
]
Александр Котков
вот тут показано как сделать
Nightwelf
а без аккаунта разарботчика?
Александр Котков
без аккаунта разраба у апплов только бебажка
Nightwelf
а кордова как работает?
Александр Котков
так работате нативка
Александр Котков
так что думаю да
Nightwelf
значит у меня начальник дебил
Constantine
не дебил, а просто не в курсе
Nightwelf
ну какбэ он говорит, что это я не знаю, но я ему говорил... ну да ладно, это не по теме
Nightwelf
как лучше организовать собственную авторизацию?
Nightwelf
приложение на флаттере и сервер на ноде
Nightwelf
еще вопрос - как автоматически обновлять приложение на иос (пусть даже с пользовательским подтверждением)
Daniil Kolyasnikov
Написать. Есть какие-то готовые модули наверняка.
Daniil Kolyasnikov
Через appstoreconnect
Daniil Kolyasnikov
Там нужно новую сборку залить и ждать когда пользователи обновят. Ты не можешь быть инициатором обновления
Nightwelf
я не сказал, что приложения НЕ будут опубликованы ни в аппстор ни в плеймаркет
Nightwelf
ибо заказчик твердолобый
Nightwelf
не могу переубедить
Daniil Kolyasnikov
Ну. Если не будет публикации - не будет обновлений. + Нельзя установить это приложение на iphone
Daniil Kolyasnikov
Только если купить лицензию за 1000$ в год
Daniil Kolyasnikov
Будет лицензия для предприятия.
Daniil Kolyasnikov
Но это гемор
Nightwelf
ну вот как раз для предприятия и надо
Nightwelf
ну блин ну что за бред
Daniil Kolyasnikov
Знакомься, это Тим Кук.
Daniil Kolyasnikov
Этот добрый человек превращает разработку для ios в пики точёные
Кирилл Матросов
webview))) ??
Nightwelf
дак тогда легче сайтом запилитьб
Daniil Kolyasnikov
Cordova
Nightwelf
проблема в том, что я не хочу ее
Daniil Kolyasnikov
Как у ios там дела ?
Daniil Kolyasnikov
К камере то доступ уже есть ?
Анатолий
А для кордовы не нужно обновлять приложение? там же вся статика зашита в приложение. Если вынести все наружу, получится банальный сайтик
Кирилл Матросов
У тебя несколько вариантов 1 Использовать webview 2 Написать некий алгоритм, который позволит формировать интерфейс на основе некого декларативного описания с бэка 3 Ждать, пока пользователи сами обновят, ты их можешь пушить уведомлениями
Кирилл Матросов
можно SSR использовать
Анатолий
ну по сути тот же сайт получится
Nightwelf
можно попробовать просто тупо закрыть доступ для старой версии и требовать установку новой)))))
Кирилл Матросов
по идее еще с конца марта 2018
Nightwelf
типа как веб разработчики делают "мы не поддерживаем ИЕ 6 - заходите через хром последний"
Кирилл Матросов
у них причина в устаревании браузера, а у тебя какая? добавил новую кнопку?
|