Программирование : Dart & Flutter по-русски
Vyacheslav
нет( буду читать искать
admin
[
{
"type": "link",
"text": "https://gitter.im/dart-lang/TALK-general"
}
]
Vyacheslav
[
"я пока пробую методом перебора, меняю цвет textTheme: TextTheme(display1: new TextStyle(\n color: ",
{
"type": "link",
"text": "Colors.red"
},
"\n ))"
]
admin
Почитай комментарии к свойствам
admin
[
{
"type": "pre",
"text": " /// The font size is 112 pixels.\n final TextStyle display4;\n\n /// Very, very large text.\n ///\n /// Used for the date in the dialog shown by [showDatePicker].\n final TextStyle display3;\n\n /// Very large text.\n final TextStyle display2;\n\n /// Large text.\n final TextStyle display1;",
"language": ""
}
]
Vyacheslav
как из студии посмотреть сразу комментарии?
Vyacheslav
андроид студио
admin
Зайди в класс ThemeData
admin
ctrl + клик по названию класса
Evgeny Kot
[
"Команда Dart запустила опрос по тому, как вы используете язык.\n",
{
"type": "link",
"text": "https://services.google.com/fb/forms/dart4web-may2018/"
},
"\nК сожалению в России не работает, придется через VPN :-("
]
Evgeny Kot
Может с HolyJS
admin
Джсерам нигде не рады, ухадите
admin
(Шутка) (практически)
Evgeny Kot
[
"Filip как раз на эту тему писал ",
{
"type": "link",
"text": "https://twitter.com/filiphracek/status/997324845946781698"
},
""
]
Evgeny Kot
Там можно весь тред почитать
Mnwa
Можно на ближайшем перерыве встретиться
Evgeny Kot
А как узнаться? :-)
Mnwa
Я буду в футболке с Дарт Вейдером на улице, у входа в конфу)
admin
[
{
"type": "mention",
"text": "@bunopus"
},
" не иди, какой-то фетишист! (шутка)"
]
admin
Нет, у меня анимешные футболки ??
Kirill Saltykov
[
{
"type": "mention",
"text": "@bunopus"
},
" классные ребята у вас работают)"
]
Evgeny Kot
[
"Молодец! ",
{
"type": "mention",
"text": "@dushes_at_work"
},
" поздравляю!"
]
admin
Парни, а накиньте чего вам не хватает для рандомной генерации
admin
Текст, рандомное значение из списка уже есть
Алексей Овсянников
генерация по паттерну:)
Алексей Овсянников
[a[2]s[3]d]
Алексей Овсянников
a генерится с вероятностью 1/3 s генерится с вероятностью 1/2 d генерится с вероятностью 1/6
Алексей Овсянников
но это пример, расширять можно по-разному
admin
Мне, кстати, интересно
admin
[
{
"type": "link",
"text": "https://github.com/shindakioku/randomer/blob/master/lib/randomer.dart#L3-L4"
}
]
admin
Так можно или нет?)
admin
[
{
"type": "link",
"text": "https://pub.dartlang.org/packages/randomer#-readme-tab-"
},
"\nВон выкатил для старта"
]
admin
Если кто-то хочет помочь - пр'ы с радостью приму ??
Andrey Smirnov
Спасибо в первую очередь вам ребят за помощь ?? Ну рекламно получилось, но имхо тема не для фронтенд ))) Там реактивщики одни собрались )
Kirill Saltykov
Ну уж не абсолютно все)))
Peter Evsikov
Да, как минимум один iOS и один Android там были
Peter Evsikov
И ещё как минимум 2 react native разраба
Andrey Smirnov
Это я потом догнал да ??
Andrey Smirnov
да все круто было RxObservable - нужно посмотреть есть ли чтото в rxdart
Peter Evsikov
Кстати, откличный доклад, честно говоря заразил мотивацией что бы попробовать его хотя бы на уровне hello world
Andrey Smirnov
Ну вот ради таких отзывов уже стоило ехать Спасибо ??
Анатолий
[
"Почему я не могу сделать такое?\n",
{
"type": "pre",
"text": "const arr = [1,2,3];",
"language": ""
},
""
]
Анатолий
константы только на простые типы идут?
Ivan Frolkin
Константы тока static могут быть) не понял это сам
Ivan Frolkin
final вместо этого
Анатолий
всмысле статик? это просто переменная внутри функции
Анатолий
Со строкой работает
Анатолий
лист или мап не хочет
Ivan Frolkin
Интересно, не то что-то прочел что-ли
Ivan Frolkin
А между final и const есть разница?
Анатолий
я не доконца правда понял какая
Анатолий
файнал можно инициализировать только один раз
Анатолий
тоесть он изначально может быть нулом
Ivan Frolkin
Я вот не понял тоже. Внутри конструктора уже нельзя инициализировать, тока через двоеточие
Ivan Frolkin
Двоеточие вообще не понял пока при этом, как и что туда писать
Анатолий
нужна помощ зала
Анатолий
я всегда пользуюсь файнал, так как он подходит под описание констант вмоей голове
Анатолий
и я не понимаю что за зверь такой конст
Ivan Frolkin
Пользовался бы final чаще, но то что туда нельзя писать в конструкторе не даёт)
Анатолий
ну если свойство изначально не инициализировано, можно ж его инициализировать в конструкторе
Анатолий
Да, ты прав, нельзя
Анатолий
[
"походу тока вида \n",
{
"type": "code",
"text": "Class(this.field)"
},
""
]
Ivan Frolkin
[
"про двоеточие нашёл ",
{
"type": "link",
"text": "https://stackoverflow.com/questions/50274605/colon-after-constructor-in-dart"
},
""
]
Ivan Frolkin
Но вот у меня случай - нужна вспомогательная структура данных при инициализации для понятности/читабельности. Приходится выбирать между читабельностью и final
Ivan Frolkin
В общем заметно что дарт не очень свеженький ЯП
Анатолий
У меня похожая ситуация, тока инициализация идет по условию, типа жсон парсинг
Evgeny Kot
[
"Вот же ",
{
"type": "link",
"text": "https://news.dartlang.org/2012/06/const-static-final-oh-my.html?m=1"
},
""
]
Ivan Frolkin
Отличная статья, спасибо
Ivan Frolkin
Если конкретный вопрос: существует ли джедайская техника для такого случая?
Ivan Frolkin
Хотелось бы иметь обе структуры данных final (list, map)
Evgeny Kot
Если вы хотите их инициализировать в конструкторе - то никак
Evgeny Kot
лмбо статиками делать, что не вариант
Анатолий
У меня еще такой вопросик
Анатолий
[
{
"type": "link",
"text": "https://gist.github.com/0xff00ff/207a22070d519b2bf6ff43af0cb3bc86"
}
]
Анатолий
Есть код, который делает запрос
Анатолий
я ему отдаю жсон в котором есть кирилица
Анатолий
И получаю такую ошибку: Invalid argument(s): String contains invalid characters.
Анатолий
Похоже нужна html экранизация
Evgeny Kot
Сорян, у нас два ночи, если до завтра никто не ответит - отвечу завтра
Ludwig
Он пытается записать строку в кодировке Latin1. Не уверен, как такие проблемы решаются наилучшим образом, но можно сделать `request.write(UTF8.encode(body))`
Ludwig
[
{
"type": "mention_name",
"text": "0xff00ff",
"user_id": 49566130
},
" ^"
]
Анатолий
utf8.encode возвращает List
Анатолий
оно точно для текста подойдет?
Анатолий
Дело в кирилице точно, но я пока не понял что сделать чтоб она осталась кирилицей и ушла нормально
Анатолий
верхний = урленкод, нижний utf8.encde
Ludwig
[
{
"type": "link",
"text": "https://api.dartlang.org/dev/2.0.0-dev.55.0/dart-io/HttpClientRequest-class.html"
}
]
Ludwig
content-type проставьте как в примере, с указанием charset
Анатолий
Прекрасно, благодарю, именно оно
Анатолий
Кто бы подумал что в 21 вере кодировка по умолчанию будет ISO-8859-1
admin
Screenshot (04:07AM, мая 21, 2018)
admin
[
{
"type": "mention_name",
"text": "0xff00ff",
"user_id": 49566130
}
]
Alexander Polyankin
Пиши const [1, 2, 3]. Также const {1: 2} работает
Alexander Polyankin
Можно у своего класса сделать const конструктор и также его в константах юзать
Alexander Polyankin
Фишка в том, что приходится писать const на каждом уровне, например const {1: const [1, 2, 3]}
Alexander Polyankin
В новой версии языка хотели избавиться от необходимости повторяться, но какой там статус я не знаю
admin
[
{
"type": "pre",
"text": "// До Dart 2\nWidget build(BuildContext context) {\n return new Container(\n height: 56.0,\n padding: const EdgeInsets.symmetric(horizontal: 8.0),\n decoration: new BoxDecoration(color: Colors.blue[500]),\n child: new Row(\n ...\n ),\n );\n}\n\n// После Dart 2\nWidget build(BuildContext context) =>\n Container(\n height: 56.0,\n padding: EdgeInsets.symmetric(horizontal: 8.0),\n decoration: BoxDecoration(color: Colors.blue[500]),\n child: Row(\n ...\n ),\n );",
"language": ""
},
""
]
admin
Оно работает только с классами
admin
[
{
"type": "code",
"text": "[]"
},
" - не сработает"
]
admin
Впрочем, выше уже было понятно
Лёша Никитин
Кто-нибудь знает когда релиз Dart 2?
Grabli66
Я вангую, что в июле. :) но это не точно
Лёша Никитин
Спасибо за прогноз)
Алексей Данилевский
[
{
"type": "code",
"text": "const arr = const [1, 2, 3];"
},
"\n\nДля создания констант производных типов нужно использовать константный конструктор. ",
{
"type": "code",
"text": "const [1 ,2, 3]"
},
" - это указание на то, что используется константный конструктор."
]
Smart Develop
[
"коллеги изучаю firebase flutter проект \n",
{
"type": "link",
"text": "https://github.com/theankurkedia/newsbuzz"
},
" \nвозникает ошибка\n",
{
"type": "link",
"text": "http://joxi.ru/xAeOkQlSpXXoPm"
},
"\nподскажите с чем связано? как исправить?"
]
Алексей Данилевский
Есть. Константы принимают свои значения на этапе компиляции, а final - во время исполнения. Поэтому переменные класса могут быть константами только если они static.
Алексей Данилевский
[
{
"type": "pre",
"text": "const map = const {\n 1: 1,\n 2: 2\n };",
"language": ""
}
]
Азиз Шарипов Т1-20 ??
Здравствуйте. Это ваши уроки dart на youtube?
Алексей Данилевский
да, есть немного.
Азиз Шарипов Т1-20 ??
Хотел сказать вам "Спасибо"!
Азиз Шарипов Т1-20 ??
Большое
Анатолий
Спасибо, а вообще вопрос такой, чисто технически, есть ли какой-то явный смысл в использовании const кроме того что он неизменяемым становится?
Алексей Данилевский
На здоровье??
Анатолий
может быстрей, может еще какие ньюансы?
mark
В скомпиленном коде, константы имеют один инстанс
Алексей Данилевский
Там, где const вся инициализация происходит при компиляции. Следовательно при запуске это уже выполнять не надо
Evgeny Kot
Константы вообще инлайнятся, насколько я помню
Алексей Данилевский
Если нужны неизменяемые значения, то преимущественно нужно стараться использовать константы. Но в классах наличие статических констант не всегда оправдано. Поэтому в этом случае используем final. Ну и final используется тогда, когда само значение, которым инициализируется неизменяемая переменная получается только во время выполнения
Анатолий
Если у меня в корне модуля просто набор строк не константой описаны, модуль инициализируется один раз, соответственно и переменная эта тоже один раз будет инициализированна, верно ведь?
Алексей Данилевский
видимо, да
admin
[
"Имхо, но константы в ",
{
"type": "bold",
"text": "классе"
},
" такое себе"
]
Анатолий
Ну чего это, для некоего подобия структур самое оно
Анатолий
[
"А можно как-то указать нормально тип чтоб он хавал такое:\n",
{
"type": "code",
"text": "body['message']['text']"
},
"\n",
{
"type": "code",
"text": "Map body = {};"
},
" - такое не хочет, ругается на второе вложение\n",
{
"type": "code",
"text": "Map body = {};"
},
" - а такое ругается что динамик есть и он хочет тип"
]
Анатолий
[
{
"type": "code",
"text": "Map body = {};"
},
" блин, как-то все странно )"
]
Evgeny Kot
[
{
"type": "code",
"text": "Map >"
}
]
Анатолий
Там и 3 может быть )
Анатолий
Сложно с типами код структурировать после динамики
Evgeny Kot
Тогда только dynamic
Анатолий
он рушался пока я не повторил тип и у значения
Анатолий
{} - это ведь по сути равносильно Map и он попадает под тип Map не должен был ругаться
Evgeny Kot
Ну этой информации ему недостаточно для вывода типа в данном случае
Анатолий
Кстати, а Map и List не наследуются от object? В дарте нет общего предка над всеми?
Kirill Saltykov
Вас на ObjC потянуло, мсье?)
Анатолий
Ну в языках где все обьекты, это был бы логичный ход
admin
В дарте вроде как все считается за подтип Object
Evgeny Kot
The base class for all Dart objects. Because Object is the root of the Dart class hierarchy, every other Dart class is a subclass of Object.
admin
Даже твой класс будет потомком Object
admin
[
"Или не будет, но дарт разрулит без проблем\n",
{
"type": "pre",
"text": "main() => t(new Foo());\nt(Object foo) => print(foo);",
"language": ""
},
""
]
Анатолий
хм, изучать язык по исходникам плагина дарта в идее плохая идея
admin
Значит, он в рантайме все к object приводит
admin
[
{
"type": "link",
"text": "https://dartpad.dartlang.org/8b4afa242767a7fba723270567346bae"
}
]
Анатолий
Идея засранка, понимает что оно обьект, но в его "подсказках" этого нигде не сказано
admin
> // ignore: unnecessary_type_check_true
Анатолий
Удобно смотреть описание функций/классов по контрол + клик, но судя по всему эти описания подогнаны под ядро идеи а не под ядро дарта, а ошибки уже через компилятор дарта прогоняют
Анатолий
Оказывается если класс имеет метод call он не только вызывается как функция, так еще и "считается" функцией
Анатолий
Ато я сидел пол часа бился над проблемой почему метод принимает аргумент функцию, а я ему отдаю класс и он не ругается совершенно
Анатолий
Подскажите как мне правильно указать тип?
Анатолий
Тип свойства, чтоб не ругалось
Evgeny Kot
`typedef Future CallableFunc();
class Callable {
CallableFunc _callable; Callable(this._callable);
Future call() async => _callable(); }`
Анатолий
ага, вот где типы полезны ?? спасибо, я про них вообще забыл
admin
Я один раз всего лишь применил
R. D.
[
"Дартизаны, привет! Помогите пожалуйста решить проблему с оберткой одной библиотеки на JavaScript в Dart. Столкнулся с проблемой что все компилируется, а в браузере ничего не происходит. Такое ощущение что я что-то упустил... \nСуть дела в чем - необходим функционал отрисовки графов переходов для машины состояний в Web. Выбрали неплохое решение на ",
{
"type": "link",
"text": "visjs.org"
},
", взял их базовый пример ",
{
"type": "link",
"text": "http://visjs.org/examples/network/basicUsage.html"
},
" потом создал его обертку/адаптер для dart'а. Для более подробной информации вот gist ",
{
"type": "link",
"text": "https://gist.github.com/jokkiz/5f4f58c519f21e0e060eb7570c38b359"
},
"\nТут или обертку победить, или может уже на Dart есть библиотеки отрисовки такого графа)))"
]
R. D.
канешн. pubviz только находил. Но чет в нем не то, чувство прекрасного он во мне убивает...
R. D.
хотя я может быть капризный)))
admin
А ты пробовал просто в консоль что-то выводить на дарте?
admin
Транспалишь в packages/browser/dart.js?
admin
В консоль не выводит ничего? Ни кастомного сообщения, ни ошибки?
R. D.
при pub serve -> Build completed successfully
R. D.
в браузере Chromium -> все чисто
admin
А разве в джс нужно не через dart2js file.dart -o dart.js?
R. D.
вроде не обязательно. pub serve использует dart2js.
admin
Это уже не подскажу
Evgeny Kot
Я до работы доеду - посмотрю
Smart Develop
[
"коллеги изучаю firebase flutter проект \n",
{
"type": "link",
"text": "https://github.com/theankurkedia/newsbuzz"
},
" \nвозникает ошибка\n",
{
"type": "link",
"text": "http://joxi.ru/xAeOkQlSpXXoPm"
},
"\nподскажите с чем связано? как исправить?"
]
Andrey Smirnov
попробуй добавить аргумент, как сам firebase советует stacktrace крайне скуден..
Smart Develop
На андроид такая же ошибка
Smart Develop
Думаю что то с firebase
Kirill Saltykov
Info.plist стоит от файрбейза? Права даны на чтение/запись в бд? В бд точно есть запись с ид юзера?
Smart Develop
Записи с id юзера нет, все остальное есть. Как запись с id юзера сделать?
Evgeny Kot
[
"Посмотрел. Вам надо объекты не так писать. К примеру в Network надо убрать anonymous, и factory конструктор. Вот так будет работать\n",
{
"type": "pre",
"text": "@JS()\nclass Network {\n external Object get container;\n external set container(Object v);\n external Object get data;\n external set data(Object v);\n external Object get options;\n external set options(Object v);\n external Network(Object container, Object data, Object options);\n}",
"language": ""
},
"\nПодключите vis.js не минифицированный и поставьте бряку на fun",
{
"type": "code",
"text": "ction Network. В"
},
" вашем случае не вызывается, в моём - да. Anonymous для другого сделан, он для литералов (",
{
"type": "link",
"text": "https://pub.dartlang.org/packages/js"
},
")"
]
R. D.
Ок, большущее пребольшусчее спасибо!!!
Evgeny Kot
Не за что. Если не заработает, черканите - я вечером плотнее посмотрю
R. D.
Евгений, не получилось. Chromium теперь ругается на отсутствующий конструктор: main.dart:24 Exception: NoSuchMethodError: No constructor 'Network' with matching arguments declared in class 'Network'. Receiver: Type: class 'Network' Tried calling: new Network(container: Instance of 'DivElementImpl', data: Instance of 'JSObjectImpl', options: Instance of 'JSObjectImpl') Но тут хотя бы ошибка ясна. Буду искать решение.
Evgeny Kot
Так вам надо из вызывающего кода именованные параметры убрать
Evgeny Kot
Вызывать как обычные позиционные
Firdavs ??
почему выходит такая ошибка?
Firdavs ??
[
"когда просто ",
{
"type": "code",
"text": "Colors.green"
},
" все норм"
]
Анатолий
Пишет что Color похоже не тот используете
Evgeny Kot
а какие импорты?
Анатолий
похоже 'dart:ui' стоит
|