Программирование : Dart & Flutter по-русски
Dart & Flutter по-русски
Программирование : Dart & Flutter по-русски
Harley
пишет что это не функция
Harley
на туториале все норм
toTheMoon??
а покажи сам прогрессДиалог
Harley
блин я уже задолбался писать на дарте
Harley
но проект закончить надо
Александр
Попробуй asm, тебе понравится.
Вадим
А что ide пишет? Возможно нет импорта с классом этим
Amantur Berkinbayev
А в воид можно возвращать виджет?)
????
Ребят. Как ререндерить UI при нажатии кнопки в button
Harley
вот прогресс диалог
M_SM
а что надо изменять ?
????
у меня два блока. один для столов. а один инфо стола. при нажатии на стол button, хочу ререндерить инфо
Amantur Berkinbayev
Новый заказы=>Новые заказы. Только с этим помогу)
????
this is not a bug bro. i can hire a russian linguist for that. ????
Alex Abakumov
Помогите понять смысл as в dart
Alex Abakumov
как-то скупо в официальной документации раскрыто
Amantur Berkinbayev
??????
Maxim Goncharov
Так наследование же
M_SM
откуда берёш инфо об столе
Alex Abakumov
Если employee итак экземпляр Person, так зачем as
Cat-Wizard Ashere
Всмысле
M_SM
да я знаю что с бека ??
Mitai
А говорил не будешь пилить основы))
Cat-Wizard Ashere
Employee employee - экземпляр класса Employee employee - экземпляр какого класса?
M_SM
метод есть чтоб извлеч данние об столе
Alex Abakumov
Ну там написано, что использовать as только в том случаа если уверен что левая и правая чать одного типа
Evgenii Elchev
передумал)
????
[
{
"type": "link",
"text": "https://paste.ofcode.org/rU9J8xn8PKFYtSpLwrfAQt"
}
]
Evgenii Elchev
ну как можно не быть тут, когда чат в телефоне?)
Dima Kotlyarov
хорошо! подай мне пожалуйста идею - я себе все мозги сломал! )
Evgenii Elchev
покупай яблоки по центу, мой и продавай по два
Cat-Wizard Ashere
[
{
"type": "link",
"text": "https://stackoverflow.com/questions/55789048/what-does-the-as-keyword-do-in-dart-language"
}
]
Evgenii Elchev
что за вопрос то?
Dima Kotlyarov
секунду - я же должен заскринить и описать)
Dima Kotlyarov
я не умею в маке зарисовывать данные но тут ничего кроме моего номер нет) это пассажирский блок! внищу (последняя строчка) это юзер профайл - который приходит к нам из депенденси! подскажи пожалуйста - как эти данные ПРАВИЛЬНО пробросить во все места на пассажирской пейдже ПРИ УСЛОВИИ!!! что у меня там штук 10-20 стейтов
Cat-Wizard Ashere
Господи, это какие-то Тарантиновские диалоги
Alex Abakumov
Да теперь более понятно. Спсб. 1) Как префикс при импорте, анало питоновского import foo as bar 2) Как особое внимание линтеру
Cat-Wizard Ashere
Учимся вместе с чатиком
Alex Abakumov
Да. И не плохо заходит. особено после 10 лет питона.
Alex Wow
как мне в регулярках сказать, что мне нужно чтобы к моему тексту применился шаблон состоящий из возврата каретки и перевода строки?
Dima Kotlyarov
[
{
"type": "mention",
"text": "@Jonfir"
},
" добавить в каждом состоянии это поле и дальше уже дальще пробрасывать пропсы - глубже и глубе и глубже"
]
Dima Kotlyarov
попахивает хуетой
Evgenii Elchev
жостко выглядит
Evgenii Elchev
ну кода многа ничего не понятно
Evgenii Elchev
в блоке есть стейт
Evgenii Elchev
это единственное что важно
Evgenii Elchev
и у тебя 20 разных стейтов?
Evgenii Elchev
и в каждый из них содержит данные о пассажире
Dima Kotlyarov
и каждый из них не содержит данных о пассажире - так как они не нужны там)
Dima Kotlyarov
а теперь должны содержать
Evgenii Elchev
ну во первых, да, раз уж стейт содержит данные, надо их в него добавить, пусть и в каждый из 20
Evgenii Elchev
это валидно
Evgenii Elchev
к тому же наследование тебя спасёт, или мисксины)
Evgenii Elchev
вопрос в другом, почему у тебя 20 стейтов на экране?)
Evgenii Elchev
обычно их там около трех 1) загрузка 2) данные 3) ошибка
Dima Kotlyarov
ну не 20 конечно но штук 10 точно! 1) много логики! состояние - человек в стостянии выбора местоположения - или например он сейчас ИЩЕТ машину или изменилась стоимость
Dima Kotlyarov
есть на это логические причины в общем! хорошо - я описываю все в стейтах
Dima Kotlyarov
вопрос в другом тогда! мне приходят данные в мультиблок провайдер на этапе инциализации! 1) мне нужно реально только текущий город! 2) ВОЗМОЖНО мне стоит засовывать его каждый раз в преференсах при инициализации && изменении и в нужном виджете его брать?
Evgenii Elchev
тут не понятно, что за города почему нужен только он, причем тут мульти провайдер
Evgenii Elchev
но в любом случае кажется шарить данные через преференсы плохая идея
Kirill Aparin
Как в flutter 2 сюда null присвоить?;
Kirill Aparin
Или уже не нужно так делать, что произойдёт, если не будет совпадений в _listAvailablePc
Эмиль
Ребята, такой вопрос У меня есть 2 файла, В одном homepage виджет, в другом класс с функциями. У хомпейджа тоже есть 1 метод, который перерисовывает текст Могу ли я в отдельном классе с функциями дернуть метод хомпейджа, чтобы при выполнении функции этого класса сработал метод хомпейджа и данные перерисовались? Если да, то как? Если нет, то как это решается иначе?
Evgenii Elchev
никак) там есть пакет collections, в нем есть метод firstWhereOrNull)
Karlen Mkrtchyan
почему выводится такая ошибка Some input files use unchecked or unsafe operations. Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details.
Kirill Aparin
Афигеть... Раньше было лучше))
Evgenii Elchev
небыло, был странный хак, в моем мире firstWhere сразу должен возвращать nil если ничего не нашёл)
Evgenii Elchev
без всяких там else)
Daniil Kolyasnikov
else сахар для дефолтных значений
Daniil Kolyasnikov
К слову, к нему быстро привыкаешь, если начать пользоваться, стабильно минус один if и три строчки кода
Dagba
а что это за подсказки серым? расширение?
d
Их можно не выносить, а ограничить их пермишшены
d
Через Google Cloud Console
d
Ну и дать валидные урлы с которых можно ими пользоваться
Roman Soviak
Ого, спасибо, можно подробнее
Kirill Bubochkin
[
"С тз nullsafety, сейчас лучше ?? Если немного извратиться, то все еще можно:\n\n",
{
"type": "code",
"text": "[1,2,3].map ((s) => s).firstWhere((x) => x == 5, orElse: () => null);"
},
"\n\nно на практике, да, лучше использовать ",
{
"type": "code",
"text": "collections"
},
"."
]
d
Зайти в google cloud console вашего проекта, там вроде дальше вкладка credentials
d
И там вы можете ограничить сервисы доступные с ключа и с каких урлов этот ключ используется
d
А в остальном эти креды public
d
[
"Вот пример для реакта\n\n",
{
"type": "link",
"text": "https://medium.com/@devesu/how-to-secure-your-firebase-project-even-when-your-api-key-is-publicly-available-a462a2a58843"
},
""
]
Roman Soviak
[
{
"type": "mention",
"text": "@yevtyushkin"
},
" Спасибо огромное!"
]
Madi
Подскажите как можно сделать несколько картинок на нативном splash screen ? flutter_native_splash 1.1.7+1 только одну картинку размещает
Evgenii Elchev
он заменяется на ??
Maksus
Так он же по факту как редакс, я видел схему его работы
Kirill Bubochkin
что значит несколько картинок? карусель / анимация?
Madi
Мне нужно чтобы на splash скрине сверху экрана и снизу располагались две разные картинки
Maksus
Данные обновляются через посредника)
Maksus
Вроде понятно достаточно
Kirill Bubochkin
думаю, только сделать из 2 картинок одну. Насколько я помню, что iOS, что Android позволяют использовать только одну статичную картинку для сплеша. А этот плагин просто генерирует нативные сплэши
С К
Здравствуйте! Помогите плз советом: Я сейчас учусь в универе и через полтора года выпущусь. После этого хочу работать прогером, сейчас достаточно долго изучаю флаттер (до этого опыта в программировании не было), но просмотрев хедхантер, вижу, что вакансий пока не густо и улучшится ли ситуация через полтора года непонятно. Так же напрягает большое количество проблем во флаттерском гитхабе, что, как мне кажется будет влиять на желание разных компаний переходить на него. Короче, вопрос: будет ли разумнее сейчас прыгнуть в нативный андроид пока у меня есть полтора года сидения на шеи у мамы? Там и работу легче найти, и новичкам легче разбираться. Заранее спасибо за ответы и сори за лонгрид!
Kirill Bubochkin
Чем с более базовых вещей начнете, тем проще будет потом. Кроссплатформа никогда не станет полностью независимой от нативщины, поэтому, если есть время, я бы однозначно советовал начинать с нативной части.
С К
Я вот тоже к этому выводу склоняюсь, жалко, конечно, потраченное время, но что поделать
Kirill Bubochkin
Ну можно просто не сильно глубоко погружаться в тонкости платформы, но база однозначно пригодится – это не будет потраченным временем.
Evgenii Elchev
все это такое, натив это техническая база для кроссплатформы, но не база навыков, изучив флаттер изучать натив будет сильно проще, верно и обратное
Evgenii Elchev
я бы учил то что правится и не парился
Evgenii Elchev
особенно учесть что на начальных этапах работы твои познания будут настолько малы, что работодателю будет практически все равно куда тебя ставить, на андроид, ios или flutter, ты все равно нигде не эксперт)
Kit Khilobok
Учить надо и развиваться в том направлении, где нравится, а хорошие специалисты везде нужны
Evgenii Elchev
я даже склоняюсь к тому, что в начале карьеры полезно подходить по разным стекам, как то развить кругозор, что бы знать как проблемы в разных местах решают, это очень очень помогает потом. и новые подходы, и знания и просто коммуницировать в команде проще
Kirill Bubochkin
флаттер дает много уровней абстракции. Это хорошо для работы, но плохо для обучения. За счет более низкого уровня, опыт с нативным андроидом будет зарабатываться быстрее. При прочих равных, я бы сейчас скорее на позицию флаттер-девелопера нанял человека с годом опыта в нативном андроиде / iOS и без опыта во флаттере, чем наоборот.
Kit Khilobok
Вообще, судя по моему опыту, больше важна сфера, чем технология, особо на начальном этапе. Те в том же вебе с реакта на вью перекинуться это месяц поизучать и пару пет проектов сделать. То же верно и для мобилки и для сервера и для десктопа. А вот переходить, к примеру, с бэка на фронт или мобилку намного сложнее
Evgenii Elchev
я в ios с пыхи перешёл за два месяца, просто доразобрал новые вещи и все)
Evgenii Elchev
база то одна на все)
Kirill Bubochkin
база одна, но тонкостей тоже хватает. Я часто вижу, как у разработчиков, которые сразу начали с кроссплатформы (ну или перешли сразу на кроссплатформу после бэка/фронта) возникают вопросы, которые пришлось бы разобрать буквально в первые недели работы с нативной плтаформой.
Evgenii Elchev
у нас в вк кода бек нанимают, вообще не спрашивают язык и фреймворки)
Evgenii Elchev
ну тут они их разберут не в первую неделю, а через год, в чем проблема?)
Vyacheslav
[
"Парни, сравниваю эти две даты\n",
{
"type": "pre",
"text": "_date1.difference(_date).inHours)\n",
"language": ""
},
"и он мне выдает 24 часа!!!\nТут меньше.."
]
Mykola Shevchenko
Кто-то мог бы объяснить как пользоватся виджетом Semantics? Я в доках читаю, что он на поисковые движки влияет. С помощью него можно настроить seo для веба?
Evgenii Elchev
я 3 года в прод писал, ничего про потоки, указатели и управление памятью не слышал. ну просто на моем стеке это не надо было, стало надо я разобрался
Kit Khilobok
Если кратко, нет
Mykola Shevchenko
А по подробнее?) Для чего оно?
Kirill Bubochkin
в том, что весь этот год в коде творится лютая дичь. С опытным наставником – не проблема, конечно, но он не всегда бывает, к сожалению.
Kit Khilobok
Потому что до этих виджетов в вебе поисковые движки не дойдут, ТК в вебе флаттер это SPA
Aleksey Kharitonov
Тайм зоны проверь
Kit Khilobok
А для чего нужна статика
Evgenii Elchev
не надо вот путь, не знать какой то технический нюанс и писать хреновый код это разное
Evgenii Elchev
и навыки разные
Kit Khilobok
Для функций типа интерфейс для слабовидящих и т.п.
Evgenii Elchev
хороший код можно писать где угодно, было бы желание
Vyacheslav
пробовал их все toUtc не помогло
Mykola Shevchenko
Ага, я понял, спасибо
Aleksey Kharitonov
Бывает так что выставляешь дату, а рантайме она корректируется с учетом тайм зоны
Evgenii Elchev
так же и хреновый код можно писать где угодно)
Kit Khilobok
Ну и чтоб система могла понимать, в принципе, что это у тебя за элемент. И не только система
Aleksey Kharitonov
Не надо все
Evgenii Elchev
хоть в нативе, хоть в cms)
Vyacheslav
ок, буду смотреть, спасибо
Aleksey Kharitonov
Не за что
Kirill Bubochkin
хреновый же не в том плане, что переменные плохо названы, лапша и т.д. А просто человек не знает, как работают мобильники.
Aleksey Kharitonov
У тебя откуда даты приходят в переменные?
Станислав
[
"ребят кому не трудно, можете зайти проверить регистрация работает нормально ",
{
"type": "link",
"text": "https://masdonate.fun"
},
"?"
]
Vyacheslav
одну разбираю из строки 09.04.2021 вторую из записи в БД
Evgenii Elchev
ну что это за кейс такой?
Vyacheslav
то есть нужно понять, что запись была именно сегодня
Evgenii Elchev
я вот работаю в ios, что я делаю 90% времени? верстка, сеть, бд
Evgenii Elchev
что я делаю во флаттере? верстка, сеть, бд
Vyacheslav
я делаю список вложенный, сверху даты и под ними список событий в эти дни
Evgenii Elchev
ничем не отличается
Kit Khilobok
Ну если это и другие косяки в вёрстке это нормально, то работает )
Evgenii Elchev
какое нативное знание мне нужно что бы не творить дичь в коде?)
Vyacheslav
спасибо помогло)) выставил для одной даты ютиси + 3 (мск) и все нормально теперь считает
Aleksey Kharitonov
Как вариант убрать время из дат: DateTime date1 = DateTime(2021, 4, 9); DateTime date2 = DateTime(2021, 4, 9); И сравнивать именно так, без времени через date1.isAtSameMomentAs(date2)
Aleksey Kharitonov
Рад что помог! Хеппи кодинг :)
Kirill Bubochkin
навскидку сейчас не назову, что конкретно было. Но из того, что нужно знать, и что в нативщине приходит быстрее, это жизненные циклы приложения, ограничения по памяти и фоновой работе. Да, в общем-то, все, что не касается UI.
ATAC0009
добавил intl пакет, как теперь дату, время сделать на русском?
Aleksey Kharitonov
Пишешь: final DateFormat shortDateFormat = DateFormat("dd.MM.yy"); А потом: shortDateFormat.format(yourDate);
Aleksey Kharitonov
final DateFormat shortDateFormat = DateFormat("dd.MM.yy HH:mm"); если надо время
Evgenii Elchev
ну вот я знаю как работает фон и?) это конкретные знания, которые решают конкретные проблемы) если в кроссплатформе у тебя есть эти проблемы, идёшь разбираться в натив и все)
Maksus
Так вопрос был про язык
Maksus
По дефолту там английский
Maksus
Так это бан получается
Mykola Shevchenko
Интересно, почему боты на инглише? Я думал, тг это в основном снг
i Bog
[
"Подскажите кто сталкивался с реализацией Apple логина во флаттер,\nиспользую ",
{
"type": "code",
"text": "sign_in_with_apple"
},
"\nв первый раз логин прокатывает, спрашивает секюрность и тд\nи в ",
{
"type": "code",
"text": "credential"
},
" возвращает корректно емейл и имя юзера\n\nпри последующих запусках появляется уже укороченный логин с отпечатком пальца,\nно ",
{
"type": "code",
"text": "credential"
},
" уже почти пустой, откуда выцепить опять емейл юзера"
]
i Bog
своих серваков нет, надо только извлечение юзер-идентификатора для логина
Kirill Bubochkin
именно, поэтому лучше начинать с натива, потому что эти знания все равно будут нужны. Ещё раз, абстракции - это хорошо, они облегчают работу. Но начинать обучение надо как можно ближе к базе. У нативных мобилок и так уже до черта слоев абстракции, начинать с флаттера - это очень плохо, дальше только всякие конструкторы сайтов и приложения а ля wix. Но если база есть, то да, переход на новый фреймворк - это вопрос если не недель, то месяцев
Alex Abakumov
Жутко извиняюсь за свое нубство, но что может значить : перед х ? this ?
Tagir
Как изменить Application? В манифесте название изменено
Alex Abakumov
как точно на английском будет, что бы прогуглить ?
ATAC0009
[
{
"type": "link",
"text": "https://youtu.be/-ROP5LMQPIE?list=WL&t=131"
}
]
Alex Abakumov
Супер спсб пошел смотреть
Tagir
Также чтобы подключить покупки нужно , чтобы приложение было выделено в Google play?
d
если вы читаете dart tour то об этом сказано дальше
Flutter KZ
Проект флаттер?
d
чуть дальше пролистайте, топик «Initializer list»
Alex Abakumov
ага. точно поторопился )
Эмиль
Если не ошибаюсь, тайтл в материал ап
Tagir
спасибо, кажется, это оно
Tagir
а с этим что можете подсказать? пытаюсь подключить revenuecat
Tagir
здесь достаточно залить?
Maksus
На самом деле стойкое ощущение, что Флаттер придумали уже для разработчиков мобильных, с какой стороны не глянь, и, в голове некая путаница, вообще как правильно двигаться, чтобы не устроить в голове кашу
Maksus
Такое ощущение подкрепляется ещё тем, что существующие курсы также расчитаны на уже матёрых разрабов
Kirill Bubochkin
ну это нормально для нового инструмента, который работает поверх существующих технологий. Такое было и с котлином в андроиде, долгое время по нему просто не было материалов, которые бы можно было понять, не зная джавы. Сейчас лучше, но все равно с опытом джавы гораздо проще.
Maksus
В данный момент обучение строится очень рваное, и есть некая мысля как о "фреймворк разработчике" которые знают как работать с конкретным инструментом, но из-за отсутствия достаточно понимания или вообще знания о том из чего состоит фреймворк, не могут использовать другой, как очень наглядный пример "реакт разработчики", которые, не зная базы из чего строится все это дело - не смогут использовать другой фрейморк и написать хоть что-то на нативе
Kirill Bubochkin
все так, в краткосрочной перспективе бизнесу это выгодно, потому что можно быстро наклепать что-то умеющих джуниоров. То, что с таким подходом из джуниора вырасти куда-то дальше очень сложно - это не проблема бизнеса, сениоров нужно гораздо меньше :) на эту тему есть прекрасный рассказ у Азимова - Профессия. Ему уже лет 60, но с каждым годом он становится все более актуальным :)
Maksus
Рядовых нужно больше чем генералов, это понятно, но с годами, чтобы стать рядовым нужно уметь больше, условный бизнес тоже не стоит на месте и требования к рядовым вырастают. Вот недавно общался с парочкой мидлов и сеньром, начинают уже требовать от фреймоврк разработчиков понимание натива от вакансии рядового
|