Программирование : Dart & Flutter по-русски
Ilya
Есть ещё ScriptElement, но я не очень понял, можно ли его инстанциировать, как другие элементы?
Анатолий
Тут я не помошник, но вопрос уточнили и это уже хорошо
Artem Halas
Угу. Понял. Но у сожалению не подскажу так как не знаю как так сделать...
Анатолий
подключай в html
Evgeny Kot
Я попозже смогу ответить как
Anton Anokhin
[
"Финализировали расписание докладов конференции DartUP ",
{
"type": "link",
"text": "https://dartup.ru/"
},
" Ждем вас 1 декабря в Питере! Мест осталось немного, но еще можно успеть зарегистрироваться"
]
Анатолий
Там раньше вы просили задать вопросы которые в чатике актуальны и люди хотели бы услышать, много их набралось?
Анатолий
Вроде для конференции этой собирали список
Evgeny Kot
Ну давайте без жоп. А по существу - для вопросов сделаем форму, через пару дней
Анатолий
Была ведь уже форма
Evgeny Kot
?? ща посмотрю
Anton Anokhin
[
"Делали такую форму, можно писать в ней ",
{
"type": "link",
"text": "https://docs.google.com/forms/d/1O1exRzXiJmTUU9m6djz7IqIGe-ftYWZ1ZxwvjfzKNG4/viewform?edit_requested=true"
},
""
]
Анатолий
А там много уже вопросов?:)
Анатолий
или тока два моих???
Олжас Сулеймен
[
{
"type": "link",
"text": "https://docs.google.com/forms/d/e/1FAIpQLSdNUt4jueX8zHzbMdMFfZGgJ2PkmSuMkkuexfmZUNaAcHXmjQ/viewanalytics"
}
]
Constantine Fedoruk
Всем привет) Работаю из под Linux. Приложение будет на обе платформы. Для деплоя на IOS, как я понял, единственный вариант, покупать MAC. 1) Какая практика для нищебродов без мака? Искать партнера по деплою?)) 2) Если бы я разрабатывал на маке, были бы у меня те же проблемы с деплоем под андроид? В смысле такое партнерство, Linux owner и MAC owner, взаимо выгодно, или надо иначе оплачивать? 3) Есть сервисы, программы для примерного тестирования будущего приложения на предмет того как оно будет работать на маке, чтоб не дергать MAC owner тысячу раз. Спасибо)
admin
> Если бы я разрабатывал на маке, были бы у меня те же проблемы с деплоем под андроид? нет
Evgeny Kot
[
"Привет. К сожалению чтобы разрабатывать под iOS нужен XCode и это только если хакинтош, или брать какой-то б.у. мак.\nПартнёр по деплою конечно странно, есть некоторое количество сервисов, которые позволяют арендовать машины с маком. Например ",
{
"type": "link",
"text": "https://www.macincloud.com/"
},
", ",
{
"type": "link",
"text": "https://xcloud.me/tag/mac-cloud/"
},
"\n2) Нет, на маке всё отлично идёт, Android Studio и все эмуляторы\n3) см. выше. Вообще гугл по запросу \"mac os in cloud\" выдаёт некоторое количество сервисов"
]
.
загугли MacCloud , Mac Dedicated ... и им подобное
Владимир
закажи хакинтош если железо позволяет
Constantine Fedoruk
хм.. интересная мысль, не слышал раньше о таком. Кто то уже делал для себя? Для этого можно просто докинуть отдельный винт и вибирать с кого грузится, соответственно какую ось загружать?
Constantine Fedoruk
у меня ноут рабочий, хищник игровой, даже было больно на него линукс ставить, не рискую ли я его угробить, а то он по стоимости как мак в принципе и выходит))
Владимир
проблема только в обновлении будет каждый год заново заказывать и обязательно ставить на ссд диск , проблем практически нет все норм работает
Владимир
в лс щас найду скину ссылку кто этим занимается
Constantine Fedoruk
Супер, всем спасибо, теперь знаю куда искать) Да было бы классно, спасибо)
Evgeny Kot
[
"Мы юзаем примерно такой код\n",
{
"type": "pre",
"text": "Future loadJs(String bundleName) {\n Completer completer = new Completer();\n\n ScriptElement script = new ScriptElement()\n ..type = 'text/javascript'\n ..src = utils.getJsPath(bundleName)\n ..onLoad.listen((_) {\n completer.complete();\n })\n ..onError.listen((e) {\n completer.completeError(e);\n });\n\n document.body.append(script);\n\n return completer.future;\n }",
"language": ""
},
"\nсоответственно его можно на ините компонента включить, а потом при дестрое - уничтожить."
]
Ilya
Спасибо, я сегодня вроде бы разобрался, добавляется, грузится, но похоже теперь живёт в другом контексте. Завтра посмотрю этот вариант
Constantine Fedoruk
1) потратить, в смысле потратить деньги на бу машину чисто для сборки проекта? 2) "вместо бана" - я не собирал приложения под мак и не выкладывал в Apple store ранее, По этому не понимаю, ты имеешь в виду, они забанят мою учетку как разработчика, если каким то образом догадаются что приложение собрано на левом железе?
Constantine Fedoruk
1) я абсолютно не против второго ноута под конкретную задачу. 2) я не занл о возможности бана, и соответственно просто уточнил, правильно ли я понял.
admin
больше полугода пользуюсь хакинтошем проблем нет кроме того что hdmi на горячую не подключается
admin
с обновлениями тоже проблем не было
admin
потратил дня три на поиск подходящих кекстов
admin
я же только начинаю изучать программирование), больше 10 лет занимаюсь на фрилансе администрированием обслуживанием техники...
admin
понятно что выставлять проги с хакинтоша не буду) лучше что нибудь бу возьму с отдельным акком icloud
??Tомат
Господа дартоводы, а во флаттере как-то можно вардамп сделать в лог?
??Tомат
А то все падает и нифига не понятно.
admin
я месяца два назад увидел java))
??Tомат
А я почти три года так и не программист :)
admin
я кстати прилетаю с Крыма в Питер)
admin
могу поделиться умениями обходить санкции))
??Tомат
[
"На теле - да, в логе AS\n",
{
"type": "pre",
"text": "The following assertion was thrown building FutureBuilder (dirty, state: _FutureBuilderState#2e2cc): 'package:flutter/src/widgets/text.dart': Failed assertion: line 230 pos 15: 'data != null': is not true.",
"language": ""
},
""
]
??Tомат
Я таки понимаю, что вместо текста прилетает нечто другое, но как бы отладить-то...
??Tомат
А, я понял, я просто все к коням перепутал.
??Tомат
Я ваш дарт до сегодня только на картинках видел :)
First Last
Чаво? (Человеку выше)
??Tомат
Дартаны, а если текст отдается в UTF-8, но кириллица на теле отображается кракозябрами - это лечится?
??Tомат
Ок, а на лету конвертить можно?
RЯ
в хидере указано что это utf-8 кстати?)
??Tомат
Спасибо, прописал в хедеры, полегчало. Хорошо, когда апи тоже твоё.
??Tомат
[
{
"type": "link",
"text": "https://github.com/flutter/flutter/issues/16983"
},
" А эту проблему они таки решили, или нет? Непонятно же..."
]
??Tомат
[
"А то получаю\n",
{
"type": "pre",
"text": "NoSuchMethodError: Class '_InternalLinkedHashMap ' has no instance method 'map' with matching arguments.\nReceiver: _LinkedHashMap len:1\nTried calling: map(Closure: (dynamic) => Warning)\nFound: map((K, V) => MapEntry) => Map",
"language": ""
},
""
]
??Tомат
Тоже пытаюсь делать лист из JSON.
First Last
Ну, блин, чувак
First Last
[
{
"type": "pre",
"text": "(k, v) => ...",
"language": ""
}
]
First Last
У тебя всего одна переменная (dynamic)
??Tомат
[
"А откуда вторая-то взялась?\n",
{
"type": "pre",
"text": "List parseWarnings (String responseBody) {\n final List parsed = json.decode(responseBody);\n return parsed.map((json) => Warning.fromJson(json)).toList();\n}",
"language": ""
},
""
]
??Tомат
Хотя я этот кусок вообще не понимаю, так-то.
First Last
[
{
"type": "link",
"text": "https://github.com/dart-lang/sdk/blob/master/sdk/lib/convert/json.dart#L147"
}
]
??Tомат
Вот потому вардампа и не хватает, чтобы смотреть хоть, что происходит.
First Last
В VS code у тебя из коробки (плагин для дарта только поставь) есть дебаг
First Last
[
"В конце-концов, у тебя есть ",
{
"type": "code",
"text": "print(parsed.class)"
},
""
]
??Tомат
[
"Это было первое, что я попробовал. Правда без ",
{
"type": "code",
"text": ".class"
},
""
]
First Last
Ну, так тебе выдаст то, что у тебя внутри
??Tомат
Ну вообще ругается, что нет такого геттера для List
First Last
[
"В дарте нету ",
{
"type": "code",
"text": "class"
},
", извиняй\nПокажи свой первый элемент"
]
??Tомат
Первый элемент чего? Извини, туплю уже, ночь.
First Last
[
{
"type": "code",
"text": "parsed.first"
}
]
Anton Bychkovski
Всем привет я новичек в dart) можете подсказать web ui под него нашел только material-design-lite
??Tомат
[
"Не принтится, но я, кажись, понял, что не так.\n\n",
{
"type": "pre",
"text": "class Warning {\n final int id;\n final String name;\n final String problems;\n\n Warning({this.id, this.name, this.problems});\n\n factory Warning.fromJson(Map json) {\n return Warning(\n id: json['id'],\n name: json['name'],\n problems: json['problems'] as String,\n );\n }\n}",
"language": ""
},
"\n\nВ определении функции fromJson два параметра, мы передаем один. Осталось понять, что должно быть первым параметром."
]
First Last
У тебя там один параметр
??Tомат
Называется - "Добро пожаловать в статическую типизацию". С непривычки нихрена не понятно, но интересно.
First Last
[
"Тебе ошибка говорит о том, что у тебя ",
{
"type": "code",
"text": "parsed.map"
},
" - Map, соответственно, в колбеке будет ",
{
"type": "code",
"text": "key, value"
},
", а не один элемент"
]
??Tомат
Ок, а key - то куда пихать? Я пытался.
First Last
[
{
"type": "pre",
"text": "List parseWarnings (String responseBody) {\n final List parsed = json.decode(responseBody);\n\n return parsed.map((key, value) => ...).toList();\n}",
"language": ""
}
]
First Last
[
"Или делаешь так\n",
{
"type": "link",
"text": "https://gist.github.com/shindakioku/3000edfe6680a1ce8fa0766eb8683b8f"
},
"\n\nИли parsed.toList().map(Warning.fromJson) и все оставляешь (если сработает)"
]
Evgeny Kot
Не очень понимаю, вам нужна библиотека компонентов?
Anton Bychkovski
похоже что да)
Anton Bychkovski
пока все интересно но ничего не понятно
Evgeny Kot
[
"Ну для начала стоит попробовать ",
{
"type": "link",
"text": "https://webdev.dartlang.org/angular/tutorial"
},
", чтобы стало чуть понятнее"
]
Evgeny Kot
[
"Библиотек компонентов под дарт немного, это да. ",
{
"type": "link",
"text": "https://github.com/dart-lang/angular_components"
},
""
]
Anton Bychkovski
хорошо спасибо
Igor Filippov
Ну такое, я на тайскрипт пишу в основном и тоже непривычно что типы перед переменной))
admin
хочу странного, сделать модуль для нпм который нодовские апи будет использовать на дарте, с помощью нод интеропа и dart2js это получится сделать?
Олжас Сулеймен
писал кто билдеры? если в шаблоне например используется новая функция, то в конечный файл пишется импорт нужной функций и если функцию удалить из шаблона импорт остается хотя код ребилдится нормально, при pub run build_runner watch, при build'e все ок, не при build'e тоже самое
Anton Anokhin
[
{
"type": "mention",
"text": "@aazolotyh"
}
]
Олжас Сулеймен
как я понял тут надо писать свой Allocator, если не запускать watch и собирать только через build все норм, а после запуска watch'a build уже включает неиспользуемые импорты, помогает clean
Ilya
Код new ScriptElement().src=... Тоже работает, но не очень понимаю, как достучаться до того, что загрузилось. Делаю так: scriptElement.onload.listen((_) { var ctx = context['vis']['Network']; })
Ilya
При инклуде js в индекс оно работало и видело ctx, а при динамической загрузке - нет. Причем js точно загружается
Ilya
Это js библиотека vis-js, на гитхабе если что есть
Ilya
И, да, по конференции: вчера регистрировался днём, а подтверждение до сих пор не пришло. Начинать беспокоиться, или это нормально?
Evgeny Kot
[
{
"type": "mention",
"text": "@AnokhinAnton"
},
" fyi"
]
Anton Anokhin
ищите подтверждение, загляните в спам. Если не найдете, пишите в ДМ
Ilya
Нет, не приходило, посмотрел ещё раз. При попытке регистрации пишет, что такой уже есть. Куда писать? ДМ, это кто или что?
Evgeny Kot
Директ Мессадж :-)
Ernest Stanbekov
Чтобы такие карточки с тенями создавать, обязательно надо использовать виджет Card?
Ashot Pilosian
Это прям скриншот из документации к виджету Card)
Ashot Pilosian
[
{
"type": "link",
"text": "https://docs.flutter.io/flutter/material/Card-class.html"
}
]
Ernest Stanbekov
Можно к виджету Container добавить тени?
Ashot Pilosian
Насколько помню, у контейнера надо задать decoration и там есть boxShadow
Maxim P
Друзья, кто помочь - надо на несколько дней погрузиться в доработку нескольких фич в мобильном приложении на Flutter? Условия с удовольствием обсужу с добровольцем) , спасибо!
Денис Трачук
Не удалось разобраться? У меня та же проблема, решения нет, используем подключение скрипта в основном хтмл (((
Ilya
Ставлю эксперименты. Кстати, в чистом js createElement работает как ожидаемо, после загрузки скрипта "классы" видны и можно создавать объекты. Хочу попробовать написать небольшой хелпер, который будет подключен глобально
Ilya
Если это, конечно заработает
Ilya
Да, с хэлпером помогло
Ilya
Но это имхо, костыль
Ilya
В html подключен скрипт, который на js делает тот же createElement, appendChild, после чего вызывает кооллбэк, когда скрипт загрузился. Дальше всё работает
Ilya
Было бы интересно разобраться в причинах, возможно на конфе. Если вопрос интересен кому-то ещё
admin
Кто-нибудь работал с Charts от гугла? Интересует как скрыть подписи снизу и слева
Ilya
Погорячился, не работает.
Ilya
Теперь работает, но я не разобрался в реальной причине. Там в "конструкторе" webpackUniversalModuleDefinition при загрузке разными способами оно уходило по разным ветвям кода. Я насильно вызвал работающую ветку и всё завелось
Ilya
Позже буду разбираться в причинах
Анатолий
У меня такое ощущение что тут 80% людей флаттером занимаются, 19% фронтом и 1% беком, ито беком просто поприколу
Анатолий
Давайте голосовалку устроим чисто ради интереса :)
Dmitry
посоны. Тут решил опробовать сию дичь. И сразу напоролся на херню. Как ставить это ? Вроде по доке все. А сдк не видит вскод. Да и сформировал он что то не то
RЯ
написано же что не хватает)
Dmitry
а чего не хватает ? я не понимаю ошибки
RЯ
flutter plugin not installed
Dmitry
а. ТАк я не трогаю студию. Должно же без нее работать
RЯ
dart plugin not installed
Dmitry
зачем мне эти ошибки ? Или пока на все плагины не поставить он не засохнет ?
Dmitry
а что он забутстрапил. main.dart не вижу
RЯ
а ты проект сам создал?)
Dmitry
а хз. Тыкал. Вот что на скрине то он мне и создал
Dmitry
еще и вскод говорит нету сдк
RЯ
или только flutter doctor?
RЯ
как проект создать по доке?)
Dmitry
поставил сдк в паз прописал плагин поставил
RЯ
или ты только до flutter doctor пока дочитал?))
Dmitry
уже должно работать что я прочитал
Dmitry
а он максимально не то сделал
RЯ
проект создай для начала
RЯ
а откуда ему взяться?))
Dmitry
я же говорю. Создал. Выше скрин что он сделал
Dmitry
[
{
"type": "link",
"text": "https://flutter.io/docs/get-started/test-drive?tab=vscode"
}
]
Dmitry
ты че совсем за дибила держишь ? Я же написал что все по доке. Вот плагин. Его и стартанул
First Last
Директорию покажи
Dmitry
кароч лол flutter create myapp
Dmitry
там хуй. А через терминал сделал
First Last
Здесь нельзя употреблять маты
First Last
Или ты сделал что-то не так, или создавай issue
Dmitry
а что в целом. Я конеч понимаю что рн хейтит флатерн. И наоборот. Что думаете
Dmitry
вот ща на n кейсах потестю
RЯ
хз на счет vscode но в андроид студии плагин норм работает)
Анатолий
Как ты сделал по мануалу без плагина для дарта?
Dmitry
стоит все. Или ты о каком плагне
Анатолий
[
{
"type": "link",
"text": "https://i.codeit.pro/kobzar/i/2018-11-23-36273.png"
}
]
Анатолий
Это у тебя сработало?
First Last
Блин, закругляйся с флудом, пожалуйста.
Анатолий
Тут проблема а не флуд
First Last
> завел > ы > вот ща на n кейсах потестю etc Проблема? :) Просто сам попробуй с плагина завести, не факт, что он все правильно сделал
Анатолий
Ага, 3 сообщения выцепил околопроблемыне )
Dmitry
лол. Ну типа такое
First Last
[
{
"type": "mention_name",
"text": "0xff00ff",
"user_id": 49566130
},
" как минимум - меня это смущает"
]
Анатолий
ну там в меню пару пунктов нажать, если у него кака вышла то есть шанс что и у других выйдет
Dmitry
по ощущениям круто 1) не трушу телефон. 2) быстрый релоад 3) компоненты уже нативные с правильными стилями. офигеть посоны. Я в ахуе
Анатолий
там вроде все норм, доктор писал о андроид студии а человек в вс
First Last
[
"Я уже говорил\n",
{
"type": "mention",
"text": "@userbq201"
},
""
]
Dmitry
там нету матов. Я же не тебя оскорбляю
First Last
[
{
"type": "mention",
"text": "@bunopus"
}
]
RЯ
ну да неудивительно что проблема
RЯ
если человек мат не видит
RЯ
может быть что угодно тогда в его действиях
First Last
И ты не будь токсичным :)
Evgeny Kot
Атата. первое предупреждение
Maria
Зато бэкендщики пишут чаще и больше??
Анатолий
[
{
"type": "link",
"text": "https://img1.goodhouse.ru/upload/img_get/2f/2f969a43f7de11f1186bd17b69d48219_cropped_450x562.png"
}
]
Dmitry
Кто сможет аргументированно ответить на вопрос 1) Почему все говорят что дарт умер (еще есть, но пока не могу нормально составить)
|