Программирование : Dart & Flutter по-русски
Анатолий
там вроде что-то связано с тем что константы как-то определенно инициализируются
Анатолий
я не силен в деталях, просто знаю что константе можно присвоить только константу или простой тип данных
Олжас Сулеймен
ну так вы ее присваиваете к константе же, поэтому не?
Danil Chekalin
[
"ну так это ",
{
"type": "code",
"text": "'$aNum $aBool $aString $aConstList’"
},
" выражение"
]
Danil Chekalin
[
"я могу написать и такое выражение ",
{
"type": "code",
"text": "const a = 1 + 2;"
},
""
]
Danil Chekalin
и не будет ни какой ошибки
Олжас Сулеймен
все же по канону
Danil Chekalin
[
"я не понимаю какая разница между этими двумя выражениями ",
{
"type": "code",
"text": "'$aConstNum $aConstBool $aConstString’"
},
" и ",
{
"type": "code",
"text": "'$aNum $aBool $aString $aConstList’"
},
", везде на выходе строка"
]
Danil Chekalin
[
"я понимаю если бы было реализовано так, что \n",
{
"type": "pre",
"text": "var text = ‘aaa’;\nconst constText = ‘$text’;\ntext = ‘bbb’;\nprint(constText); // выводил бы bbb, но такого я не видел нигде",
"language": ""
},
""
]
Danil Chekalin
[
{
"type": "mention_name",
"text": "0xff00ff",
"user_id": 49566130
},
" как ты предложил с const перед выражением"
]
Danil Chekalin
IDE ругается(
Олжас Сулеймен
не вы не можете использовать лист так как его обработка в строку не есть константа
Danil Chekalin
даже если лист убрать, это не поможет
Олжас Сулеймен
без листа все же работает
Danil Chekalin
у меня анализатор ругается и не выполняется код
Олжас Сулеймен
не ну они же не константы
Danil Chekalin
мы о чем-то разном разговариваем)))
Danil Chekalin
все таки у меня вопрос был изначально другой)
Олжас Сулеймен
[
{
"type": "link",
"text": "https://stackoverflow.com/a/21745617"
}
]
Danil Chekalin
попозже прочту, спасибо
Danil Chekalin
и отпишусь
Олжас Сулеймен
да мне тоже стало интересно в этой магии
Maxim P
Друзья, подскажите, плз, как организовать live search из Firestore, чтобы по введённым буквам вылетал список подходящих объектов?
Анатолий
а на что именно ругается?
Анатолий
отправлять запросы на firestore после ввода символов и выводить результат в виде списка
Danil Chekalin
[
{
"type": "mention_name",
"text": "0xff00ff",
"user_id": 49566130
}
]
Анатолий
поправь на двойные кавычки
Анатолий
хотя не, тоже гураетс
Danil Chekalin
от этого выражение не меняется)
Олжас Сулеймен
блин так перед простыми типами конст не пишется же
Анатолий
я сдаюсь, никогда не использую константы ?? сложные они тут
Danil Chekalin
ну строка сама по себе иммунитабельная
Danil Chekalin
так то да, смысла нет писать педет примитивом
Анатолий
ну там не в строке дело а в переменной внутри, проблема констант именно этам инициализации
Анатолий
дарт запрещает любое взаимодействие переменных с константами
Олжас Сулеймен
ну тут тут дело в том что у примитивов при переводе в строку высчитывать ничего не надо
Олжас Сулеймен
а лист обходить надо
Олжас Сулеймен
я в этом думал проблема или нет?
Анатолий
не, там переменная не лист а инт
Анатолий
вообще не работает если есть хоть малейший намек на динамику
Danil Chekalin
я еще раз оставлю это тут
Danil Chekalin
[
"я не понимаю какая разница между этими двумя выражениями ",
{
"type": "code",
"text": "'$aConstNum $aConstBool $aConstString’"
},
" и ",
{
"type": "code",
"text": "'$aNum $aBool $aString $aConstList’"
},
", везде на выходе строка"
]
Danil Chekalin
[
"да даже если убрать ",
{
"type": "code",
"text": "$aConstList"
},
" из выражения"
]
Анатолий
в первом случае все составляющие выражения константны, во втором динамичны
Danil Chekalin
ну на выходе то строка
Олжас Сулеймен
так константы создаются до исполнения кода же
Анатолий
Возможно у дарта есть несколько этапов обработки кода, и возможно константы и не константы инициализируются на разных этапах
Danil Chekalin
[
"переменные объявленные с ",
{
"type": "code",
"text": "var"
},
" тоже декларируются до выражения в котором ты используешь"
]
Danil Chekalin
и присвоение и помещение в память
Анатолий
не, не в выражени идело, дело в переводе в "машинный код"
Danil Chekalin
[
{
"type": "mention",
"text": "@ykmnkmi"
},
" я прочту что ты скинул и если че создам ишью на гитхабе"
]
Олжас Сулеймен
[
{
"type": "link",
"text": "https://medium.com/dartlang/an-intro-to-immutability-with-dart-d4de871865c7"
}
]
Анатолий
[
{
"type": "link",
"text": "https://i.codeit.pro/kobzar/i/2018-11-08-68c3b.png"
}
]
Анатолий
Как буд-то учебник по физике открыл
Maxim P
Коллеги, подскажите пожалуйста, как, имея ID из одного запроса в FireStore получить значения полей документов, по этим IDшникам. Гуглил, но не могу найти решения(
Анатолий
[
{
"type": "link",
"text": "https://stackoverflow.com/questions/46721517/google-firestore-how-to-get-document-by-multiple-ids-in-one-round-trip"
}
]
Maxim P
я, к сожалению совсем новичок, и , честно говоря, не очень понял, как из этого примера написать итоговый запрос в stream
Кирилл Пешин
[
"Привет подскажите как сказать пользователю, что он ввел лажу в TextFormField, пока не вижу выхода, кроме как fillColor: ",
{
"type": "link",
"text": "Colors.red"
},
", filled: isError, но как то выделять поле красным, не очень выглядит... \nа как работает errorStyle или enabledBorder не пойму..."
]
Maria
можно добавить валидацию и flutter вам все сам сделает =)
Анатолий
Firestore.instance .collection('talks') .where("topic", isEqualTo: [id1, id2])
Попробуй как-то так, я точно не смогу сказать
Кирилл Пешин
Я валидацию сделал проверкой String из TextFormField.text, буду тогда читать вро встроенную валидацию
Artem Getman
Там в декораторе смотри, есть "errorText"
Constantine Fedoruk
Всем привет!) Я Java разработчик. Пришла задача создать приложение под обе платформы - Android and IOS. Весь день искал информацию по теме кроссплатформенности. Перебрал кучу вариантов от JavaFX c Gluon, до Ionic c Cordovo. У Ionic там какие то лажи с AppStore этой весной начались, а Gluon подписывает заказчика на абонплату за пользование собственным приложением. Совершенно случайно наткнулся на статью на Хабре о Dart 2.0. и вот я здесь) Вопрос, на сколько комфортно разрабатывать под обе платформы на Dart&Flutter, есть ли проблемы с выкладыванием в App and Google Store? Как впечатление в общем? Ну и если все классно, то хороший туториал для новичков, можно на английском, но лучше на Русском. Заранее спасибо)
Constantine Fedoruk
Да уже понаходил, думал может у кго есть то что ему реально зашло и он хотел бы посоветовать. Вдруг какой добрый человек скажет - "Чувак, пока можеш беги, брось и просто уходи")) Лучше спросить, чем потом думать, вот нафига это все было? Это я как знаток JavaFX говорю)
Yura
Все пока сыровато. Большие и сложные приложения делать сложно и будет много костылей. В отличии от реакта - мало готовых компонентов. Для сложных кейсов придется писать бриджи из нейтива.
Yura
Хелоу ворлд можно написать на чем угодно
Maksym
[
"На русском пара туториалов ",
{
"type": "link",
"text": "https://tehnojam.pro/?s=Flutter"
},
""
]
admin
вначале надо оценить функционал приложения, может и pwa хватить сейчас для него
ихорь
там уже не пара, а чуток больше)
Анатолий
Ты забыл про реакт-нейтив ??
Dmitry Gordin
вообще каеф, но если у тебя есть в команде фрондендеры/ты сам могёшь js – посмотри на react-native
Damir K.
а у кого есть опыт (2-3 приложения) и на react native и на flutter? хотелось бы услышать фидбэк) что думают, какие отзывы так сказать, где более легче разрабатывать и тд
Олжас Сулеймен
+ к flutter'y скоро можно будет запускать и на десктопе
DVS (Read The F.ng Manual) Studio (NoHello)
Уже либа есть у них в гите
DVS (Read The F.ng Manual) Studio (NoHello)
И небольшая надежда на веб версию
Anton Rezvin
на веб-версию флаттера или поделки на ангуляре?
Anton Rezvin
не знаю про флаттер, всю его боль. но реакт нэтив, лично для меня боль. а именно из-за багов и проблем с отладкой
DVS (Read The F.ng Manual) Studio (NoHello)
Ну лично я надеюсь на проведение флаттера для веба. Некоторые элементы очень приятно на нем делать и хотелось бы перенести с устройства и делать в одном стиле
Damir K.
могу при react native сказать, начать писать если есть опыт на js не так уж сложно. Куча разных компонентов на все случаи жизни, гуглится на раз-два. Но информативность ошибок меня бесила очень.) плюс да, дебаг на RN - то еще занятие. Собственно поэтому я сейчас решил попробовать flutter. Хотелось бы услышать что то подобное от опытных flutter-менов.)
Олжас Сулеймен
[
{
"type": "link",
"text": "https://github.com/yjbanov/butterfly"
},
" делает один"
]
DVS (Read The F.ng Manual) Studio (NoHello)
Дебаг - боль. Когда в консоль вываливается стек из 300 строк и ты такой "да твою то мать!" А оказывается, что ты даже понять не можешь, что ты сделал не так, ибо не написано. Все логи чисто от встроенных виджетов флаттера.
DVS (Read The F.ng Manual) Studio (NoHello)
Но это если упороться и делать костыли
DVS (Read The F.ng Manual) Studio (NoHello)
Если нормально делать - нормально будет
Олжас Сулеймен
один вообще пытается рендер переписать на канвас с свг
Олжас Сулеймен
[
{
"type": "link",
"text": "https://github.com/flutter2js/flutter2js"
}
]
Anton Rezvin
опять этот js
Anton Rezvin
вот если бы wasm - было бы чудесно
Олжас Сулеймен
ну во флаттере вся отрисовка упирается в dart:ui пакет который дергает нативный с++ рендер
????? ??
Да блин, я во флаттер и пришел потому что терпеть не могу js и то, что он везде лезет
DVS (Read The F.ng Manual) Studio (NoHello)
Hehehehehe
admin
Так себе мотивация =)
Олжас Сулеймен
[
{
"type": "link",
"text": "https://github.com/google/flutter-desktop-embedding"
}
]
admin
This is an exploratory effort, and is not part of the Flutter project. See the Flutter FAQ for Flutter's official stance on desktop development.
.
[
"и вот еще ",
{
"type": "link",
"text": "https://feather-apps.com/"
},
""
]
admin
Can I use Flutter to build desktop apps? We are focused on mobile-first use cases. However, Flutter is open source and we encourage the community to use Flutter in a variety of interesting ways
admin
feather не поддерживает линукс, втф?
admin
на главной странице
admin
The Feather platform will run Flutter apps on MacOS and Windows. So you can write a single app that runs on all major desktop and mobile devices.
Anton Rezvin
невелика потеря
admin
для меня критично, я на нем разрабатываю =)
.
[
"ну это чуваки сами пилят ... это не официалы. Но сам факт...\nот гугля вот ",
{
"type": "link",
"text": "https://github.com/google/flutter-desktop-embedding"
},
"\nи там линух есть.\n\nПервые скорее всего сосредоточились на osX из-за схожести интерфейса"
]
admin
не ну если флаттер будет на десктопе то огонь, кроме кутэ сейчас нормальных вариантов то и нет особо
Anton Rezvin
а тыкните меня где флаттер для веба официальный?
Олжас Сулеймен
официального нету, самоделки
admin
только без линуксорасизма, что бы гуи везде рисовало по крайней мере
admin
прям как в старые добрые сайт на GWT ;)
admin
отлично дебажиться, удобно, быстрый производственный цикл
Анатолий
Я не вижу ни одной причины для флаттера на вебе ) есть ангуляр
admin
ну ващет есть реакт и вуе, ангуляр депрекейтед
Анатолий
прекрасно дебажится, удобно, быстрый производственный цикл и главное полный контроль
Анатолий
с каких пор он депрекейтед?
Anton Rezvin
в головах людей =)
admin
с тех пор как на нем только легаси проекты развиваются
Анатолий
я думаю ваше мнение не совпадает с мнением заказчиков и людей которые веб пишут
Анатолий
ангуляр так же актуален как и те остальные
DVS (Read The F.ng Manual) Studio (NoHello)
Из логики "за это платят - это хорошо. За это Много платят - это в тренде"
Danil Chekalin
[
{
"type": "mention",
"text": "@superfedoruk"
},
" я работаю с реакт нэтив, и багов там хватает. например в сетевом слое есть бага с приходящими “set-cookie”, баг давнешний, вот я ишью создавал ",
{
"type": "link",
"text": "https://github.com/facebook/react-native/issues/22064"
},
" (решение есть в виде костыля), есть другой баг связанный с инструментом react-native-debugger и тоже с “set-cookie” ",
{
"type": "link",
"text": "https://github.com/jhen0409/react-native-debugger/issues/282"
},
" (в дев режиме в запросы пихаются set-cookie от предыдущих ответов), вебсокеты дебажить получиться только через console; еще все запросы будут всегда c приоритетом на http2 (моя специфика просто требует протокол 1.1), но это уже их ряда вон."
]
Danil Chekalin
по-этому лучше пробежаться по основным модулями которые планируешь использовать и потыркать их, чтоб не было сюрпризов. с flutter я думаю тоже будет что-то подобное
admin
да там валом багов и еще когда зависимостей пособирал то на каждом релизе все разваливается
DVS (Read The F.ng Manual) Studio (NoHello)
Во флаттере другая тема багов бесит. Нативные зависимости с разным androidSdkApi и на разных версиях swift. Вот это боль
DVS (Read The F.ng Manual) Studio (NoHello)
По крайней мере единственное, что я пока делаю с этим это репорт в гит разраба и клон к себе в проект в отдельной папку, чтоб в ней поправить на лету всё и не ждать мержа
Анатолий
А еще есть удобство разработки, скорость разработки, возможности и еще много разных вариантов
DVS (Read The F.ng Manual) Studio (NoHello)
(на которые заказчикам плевать, а нам потом страдать)
Анатолий
Вы пишете на ангуляре и страдаете?
Anton Anokhin
Ребята, давайте не спорить про языки и фреймворки здесь. Это сильно замусоривает чат.
DVS (Read The F.ng Manual) Studio (NoHello)
[
"(~",
{
"type": "italic",
"text": "ну мы вроде как культурно обсуждаем их сильные и слабые стороны"
},
"~)"
]
Sergey Bubnov
[
{
"type": "mention",
"text": "@bunopus"
},
" а мобильная версия wrike на флаттере написана?"
]
Anton Anokhin
Нет, свифт и джава
Anton Anokhin
Даже если культурно, этого стало много
DVS (Read The F.ng Manual) Studio (NoHello)
Лааадно. AFK
j k
вы про 1 ангуляр, а есть новый, не путать бы их
admin
Кто нибудь имеет опыт с flutter + firestore
????? ??
Присоединяюсь к вопросу
Ruslan Kryzhanovskyi
Привет, есть такой вопрос, пишу плеер, и встречаюсь с такой проблеммой что если исполнитель или же название песни длинное, то исполнитель вылазит за границы экрана. Размер шрифта менять не хочу. Есть идея сделать бегущую строку, но как я не знаю. Может есть решение ещё? С радостью прочитаю) Заранее спасибо.
Ruslan Kryzhanovskyi
Пример такой ситуации
tdesc
сделай анимацию позиции например
tdesc
пусть уползает влево
Ruslan Kryzhanovskyi
Окей, другой вопрос, что почитать что бы это сделать? Я во флаттере недавно просто, буду благодарен за урлу)
tdesc
[
{
"type": "link",
"text": "https://flutter.io/animations/"
}
]
tdesc
и дальше в animations and motions внизу страницы
Ruslan Kryzhanovskyi
Спасибо) Буду разбираться)
tdesc
сделай простую анимацию движения
tdesc
а там уже будет прост
DVS (Read The F.ng Manual) Studio (NoHello)
И overflow hidden
DVS (Read The F.ng Manual) Studio (NoHello)
В стеке
Анатолий
А как плеер в фоне работает?
First Last
[
{
"type": "mention",
"text": "@f3ath"
},
" насчет делемы с null и new Foo(x)"
]
First Last
Ты передаешь лямбду, и он будет вызван, если не null
First Last
nullOrValue(x, () => new Foo(x))
First Last
Уже не помню ?? Было 3 утра и я хреново соображал
Александр Васильев
Подскажите стоит ли суваться во flutter со знанием js? Это лучше чем писать приложение на nativescripts? У кого есть опыт перехода с nativescripts?
First Last
Ну, смотри > Подскажите стоит ли суваться во flutter со знанием js? Ты изначально не правильно задаешь вопрос Dart - это джс на стероидах > Это лучше чем писать приложение на nativescripts Люди говорят "однозначно да" (про reactnative, пардон)
Mikhail Levchenko
Dart - тот же джс только сбоку
Mikhail Levchenko
Очень похож на тайпскрипт
First Last
Про nativescript еще не видел
ихорь
я писал на нейтивскрипте с десяток приложух, флаттер выигрывает в удобстве инструмента, отладка вроде полегче, производительность приложений лучше
Александр Васильев
Да читаю, доку дарта — похоже на джс. Ну спасибо буду пробовать??
John
Всем привет. Тут есть кто перешел с React Native на Flutter? Какие впечатления от него?
Yura
Они одинаковые по своей сути)
First Last
В Qt сейчас все юзают QML
Yura
Строгую типизацию в жс делаешь через флоу или тайп скрипт. Не из коробки, но тоже самое
Kirill Pankin
Это ты делаешь. А кто-то другой не делает. И ты горишь. И он горит. И все в аду. Но все привыкли и даже нравится. А в Dart всё строго и скучно, ага.
First Last
А о чем беседа хоть?
John
У меня вот вчера подгорело от РН сильно. В ios за два года так и не внедрили банальное выделение текста. И как раз вспомнил что хотел попробовать Flutter.
DVS (Read The F.ng Manual) Studio (NoHello)
Зато в 9 дроид встроили
First Last
[
{
"type": "mention",
"text": "@f3ath"
},
" черт, Я снова испытываю гребаную боль рубишного мира :с"
]
First Last
[
{
"type": "pre",
"text": "var a = valueOrNull(somethingFromUser, (x) => new Foo(x));\n\nvalueOrNull(value, lambda) => null == value ? null : lambda(value);",
"language": ""
}
]
First Last
Можно заюзать по идеи
First Last
[
"Но лучше так сделать (на всякий)\n\n",
{
"type": "pre",
"text": "valueOrNull(value, lambda, lambdaWhenNull = () => null) => null == value ? lambdaWhenNull() : lambda(value);",
"language": ""
},
""
]
First Last
[
{
"type": "pre",
"text": "valueOrNull(null, (_) => _, () => throw new IncorrectIO());",
"language": ""
}
]
First Last
А насчет мой библиотеки - там есть монадка Maybe
First Last
[
{
"type": "pre",
"text": "new Maybe(someValue).map((x) => setter_name = x)",
"language": ""
},
"\n\nНо это голословно уже("
]
First Last
[
{
"type": "link",
"text": "https://github.com/shindakioku/fpfantasy/blob/master/test/types_test.dart#L12"
},
"\nИли можно попробовать вот эту штуку довести до твоего кейса"
]
Просто Greg
Как новенький, вопрос в лоб
Просто Greg
Что лучше во Flutter - Redux, Elm-inspired or Native?
Просто Greg
Для контроля стейта
Просто Greg
[
"Смотрю на ",
{
"type": "link",
"text": "https://github.com/p69/dartea"
},
""
]
First Last
Вроде как все на Redux
Mikhail Levchenko
Пиши на кложуре
First Last
С виду - это общение в Qt между моделью и Qml'ом
First Last
Это крутая вещь!
Просто Greg
Да, примерно так и есть
Просто Greg
Мне Redux не зашел многословностью
Просто Greg
Поэтому сразу на все варианты начал смотреть
First Last
Я бы эту вещь заюзал
First Last
Меня Qml еще никогда не подводил
Просто Greg
Да и Flutter ближе к Qt
First Last
там вроде как Model <-> view С помощью событий Все автоматически пересовывается и все круто, и удобно
Просто Greg
Виджеты мать их ??
First Last
Из за крестов под капотом?
First Last
Виджеты - аналог описания ui через объекты.в Qt?
First Last
Я просто видел flutter одним глазком сто лет назад
|