Программирование : Dart & Flutter по-русски
First Last
Как там твои дела с флаттером? Сто лет тебя не видел
First Last
Работка идет?)
tdesc
ну за неделю выпилили весь нативный UI
tdesc
который 2 месяца делали и 50+ разных багов нахерачили
First Last
На джаву обратно не хочешь?)
tdesc
так что жизнь налаживается, от натива только дата layer остался
RЯ
[
{
"type": "link",
"text": "https://github.com/flutter/flutter/issues/7053"
}
]
tdesc
я с с++ бекграундом, java obj c и прочее не ван лов
RЯ
в общем похоже если через java/objc это все прогонять то можно
First Last
И чем тебе Qt не понравился ??
tdesc
нравился, пока он на Symbian и Meego работал
RЯ
ты подожди скоро фуксия подъедет ????
First Last
Помню, когда скомпилил свою первую программу и как то так получилось, что у меня мышка работала как свайп на телефонах Я сидел и думал чо за фича ??
tdesc
фуксия то из коробки с флаттером
tdesc
выйдет когда выйдет, а мир надо сейчас захватывать
RЯ
надоели эти андроиды и иос
tdesc
я жду foldable devices
Оганнес Асатрян
оооо это трешнякого будет))
Оганнес Асатрян
помню слайдеры 10 лет назад. когда много юзал шлейф портился и заменять надо было
Оганнес Асатрян
интересно как будут обстоять дела со сгибающимися девайсами
Serge P
Да, проблемы есть, даже static libs есть возможность использовать только через objc/java bridges
Serge P
Спасибо, это важно(
Serge P
В общем подключить .so и использовать напрямую нет возможности
tdesc
это не убивает кроссплатформу?
tdesc
по мне как то слишком
RЯ
so нужно под каждую архитектуру арм и не только получается, но точно больше чем один)
Serge P
Бизнесовая логика на плюсах позволяет делать гибкое приложение, по сути ui стабилен и не зависит от обновлений iOS/android
tdesc
бизнесовая логика на дарте
tdesc
и работает под веб/мобайл
Serge P
Да, но дарт только появился
Serge P
А связка ndk + native работает уже кучу времени
tdesc
не, если проект старый то да
tdesc
а новый я бы не стал так делать
Serge P
Ну и если нужен перформанс, например hft трейдинг, то без плюсов никуда
Serge P
Возьмём ксамарин, любое обновление iOS/android привносит кучу проблем
tdesc
не берите всякую хрень
tdesc
тут нет таких зависимостей
Serge P
Вот именно поэтому столько лайков и меншнов в теме про плюсовый интертоп
tdesc
а в чем hft выигрывает на мобиле на с++?
tdesc
какие там примерно скорости
tdesc
бинарный протокол + FIX - протокол сессионного уровня поверх TCP.
tdesc
не вижу преимуществ в языках
Serge P
Сетевой слой непричем
tdesc
тогда в чем профит?
Serge P
А вы в курсе производительности бд на андроид?
tdesc
а какое отношение бд имеет к протоколу передачи бинарных данных?
Serge P
Робот запущенный на мобильном клиенте читает огромное количество данных, и прогоняет их через алго
tdesc
реализация конкретных алгоритмов на с++ и дарт тогда надо замерять
tdesc
сам протокол Fix в 100 строк кода
Serge P
Это один из примеров, когда использование ndk оправдано, и даёт прирост даже над имплентацией "нативной"
Serge P
Будь у нас интертоп, можно было бы использовать существующий модуль без необходимости прокидывать бриджи с java/objc
tdesc
при использовании готовых решений на рынке да
tdesc
это сферический конь в вакууме
tdesc
чего он там делал непонятно
Pavel Shilyagov
Ffi делается, будет такая возможность. Только неизвестно как скоро)
Serge P
Использовал sqlite .so, получается из-за двукратного вызова jni получил проблемы с перформансом
Pavel Shilyagov
[
"Вот можно про ffi почитать ",
{
"type": "link",
"text": "https://gist.github.com/mraleph/2582b57737711da40262fad71215d62e"
},
""
]
tdesc
[
"вот тут обсуждают варианты ",
{
"type": "link",
"text": "https://www.reddit.com/r/dartlang/comments/99wdog/why_doesnt_dart_love_native_extensions/"
},
""
]
tdesc
вообще с выходом фуксии станет лучше )
tdesc
[
"NeverSpeaks: 3 months ago\nI would recommend checking out Tonic. This is the library that Flutter uses to inter op between C++ and Dart.\n\n",
{
"type": "link",
"text": "https://fuchsia.googlesource.com/tonic/"
}
]
Pavel Shilyagov
К слову в RN вроде как завезли ffi уже, и можно из js синхронно дергать нативное апи. Надо догонять. Для c/c++ это вообще must have, и для замены platform channels было бы круто.
tdesc
[
"тут тоже обсуждение ",
{
"type": "link",
"text": "https://github.com/dart-lang/sdk/issues/34452"
},
""
]
Yauhen Sampir
Выходом куда? Вроде на телефоны она не скоро придет
tdesc
“скоро” понятие относительное. думаю через год полтора все будет
Yauhen Sampir
Вроде читал, что только через три года, и то только возможно, она частично придет на смарты
Yauhen Sampir
Взамен хромоса и операционки на колонках гугловых, раньше Телеки тоже возможно, но там тизен в топе
tdesc
на всех парах пишут и фуксию и флаттер, как ее часть
tdesc
гугл хочет быть производителем железа
Yauhen Sampir
Но о замене андроида, как по мне, речи вообще не идет
tdesc
а зачем его заменять?
tdesc
просто перестанут выпускать
Yauhen Sampir
Все второй раз не сядут на крючок гугла
tdesc
когда гугл авто поедет по улицам
Mikhail Kaminskas
Подскажите какой-нибудь простой пример с анимацей из карточки в новый экран.
tdesc
[
{
"type": "link",
"text": "https://flutterbyexample.com/hero-transition/"
}
]
Mikhail Kaminskas
благодарю!
Антон
Мб вопрос уже был Но как добавить в свою апу сборку под Flutter desktop
Антон
Репу нашел и выкачал
Igor Filippov
Мне один чел постоянно втирал что фуксия будет иметь обратную совместимость с аппками под андроид
tdesc
скорее всего ченить затянут
tdesc
только наврядли полную совместимость получится
tdesc
а вот как насчет ndk
RЯ
а это нормально что в AS в плагине я не вижу в папке andoroid java файлов?)
Оганнес Асатрян
какие джава файлы ты хотел видеть? там только мейнактивити и все
RЯ
это для платформ каналов
RЯ
MethodCallHandler там есть
RЯ
но AS его не видит, сам файл платформы
RЯ
[
{
"type": "link",
"text": "http://prntscr.com/lsoru9"
}
]
Анатолий
Благодарю, выглядит хорошо
Yauhen Sampir
Так альфабет такси говорят беспилотное уже выкатил)))
Yauhen Sampir
[
"Несколько дней назад стартап Waymo, принадлежащий Alphabet, запустил в коммерческую эксплуатацию беспилотное такси.\n\nСогласно оценкам аналитиков инвестиционного банка UBS, развитие этого направления бизнеса к 2030 году будет генерировать $114 млрд выручки: ",
{
"type": "link",
"text": "http://amp.gs/gcOV"
},
""
]
Анатолий
если у нас появятся беспилотные такси, точно поправят алгоритмы чтоб машина еще не закончив текущий маршрут уже брала новый
Igor Adrov
Даня, когда уже хуки будут?
tdesc
с 1 декабря на дорогах общего пользования 100 беспилотников.мск и татарстан
Анатолий
оу, так у вас уже такие алгоритмы разрабатывают похоже )
Анатолий
или там хапать кучу заказов жирных а потом по одному отказываться из-за стоимости, района итд
tdesc
первыми поедут коммерческие перевозки
tdesc
а вообще в России лаг в 7 лет примерно
Анатолий
гугловские или кто другой?
tdesc
у нас вообще sollers рулит
Nikita N.
Ребят, сори за врыв, а че с типизацией у дарта? почему она такая слабенькая?
Оганнес Асатрян
а тебе хотелось как в джава?
Pavel Shilyagov
Хороший вброс)
Nikita N.
ну чет жестко, нет?
Pavel Shilyagov
Ну dynamic же не обязательно использовать
Анатолий
Ну он к тому что привод типов не работает автоматом до конца
Pavel Shilyagov
Можно типизировать нормально
Оганнес Асатрян
dynamic это типа Object в джава?
Nikita N.
+, я к тому, что типизация не может понять, что у меня происходит, если я просто возвращаю функцию. not a fun
Андрей
Привет все, мне стал интересен Flutter, и зочу спросить: кто из Вас релизил программы на Android and iOS?
Pavel Shilyagov
Нет. Типа object в java это object)
Nikita N.
что вообще происходит????
Анатолий
Мы тешим себя что дарт супер строгий и не любит отсебятины
Оганнес Асатрян
лол. ок. а какая аналогия в джаве для динамика?
Pavel Shilyagov
В любой не понятной ситуации возвращай dynamic)
Pavel Shilyagov
Так работает вывод типов в дарте
Pavel Shilyagov
Это не функциональный язык, смирись
Анатолий
как раз таки там ситуация понятная
Nikita N.
как эта ситуация может быть непонятной для дарта?
Анатолий
Просто смирись и укажи возвращаемый тип )
Анатолий
Они над этим работают, надеюсь
Nikita N.
я просто в релиз нотах читал, что они перешли на soundless или как там систему типов, чтоб указывать меньше типов, а то, что я вижу dynamic everywhere
Анатолий
ага, динамик на динамике и динамиком погоняет, но динамик это плохо
Nikita N.
я понял, надо подождать флаттера версии 2.0
Анатолий
не, флаттер тут ни при чем
Анатолий
дарта версии выше надо ждать
Pavel Shilyagov
Я думаю 3.0)
Анатолий
А может это плагины для иде пока набирают обороты
Анатолий
сам дарт то нормально работает с типами
Victor
нужен инференс — можно писать на рн с ризоном)
Анатолий
привередливые какие, в пхп вон вообще непонятно что вернется и ниче, все работают
Nikita N.
так dartpad тое самое показывает же, если что
Анатолий
Что-то мне подсказывает что дартпад очень близок к плагину для вскода
First Last
type hinting уже 2ой год
Nikita N.
да и если статический анализатор dart сказал тип, то vscode его выводит. В этом плане как только ты создал мост между vscode и статическим анализатором, то все что видит дарт, видит и vscode. Так, что проблема именно в dart
Nikita N.
я могу конечно скачать idea и посмотреть как там
First Last
Не парься, не может
First Last
В дарте нету автовывода типов
Nikita N.
а есть roadmap?
First Last
[
{
"type": "link",
"text": "https://github.com/dart-lang/sdk/projects/8"
}
]
Victor
[
{
"type": "link",
"text": "https://github.com/dart-lang/language/tree/master/accepted/future-releases"
}
]
First Last
[
{
"type": "pre",
"text": "typeAlias ::=\n metadata 'typedef' typeAliasBody |\n metadata 'typedef' identifier typeParameters? '=' type ';' // CHANGED",
"language": ""
}
]
tdesc
о у нас уже среда разработки влияет на компиляцию?
First Last
Если не брать во внимание его слова, то проблема все равно есть Дарт предлагает стат типизацию, но не дает автовывода никакого
First Last
От слова "совсем"
First Last
То, что оно в рантайме естесена будет все работать - другой вопрос
tdesc
не понимаю проблемы, дарт язык со строгой типизацией.
Анатолий
наоборот же, среда разработки слушает что анализатор говорит
First Last
[
{
"type": "pre",
"text": "var a = 2;",
"language": ""
}
]
Nikita N.
я вроде это и сказал, же, нет?
First Last
Он это не может вычислить
First Last
[
{
"type": "pre",
"text": "Car car = Car();",
"language": ""
}
]
First Last
[
{
"type": "pre",
"text": "class Car {}\n\ncar() {\n return Car();\n}\n\nvoid main() {\n var a = car();\n \n print(a);\n}",
"language": ""
}
]
First Last
[
"Он сейчас справляется только с ",
{
"type": "code",
"text": "var"
},
""
]
First Last
И, как ни странно, это работает и для анонимных функций
First Last
[
{
"type": "pre",
"text": "var car = () => Car();",
"language": ""
}
]
First Last
Он выведет тип
First Last
Зачем мне слева писать Car?
Анатолий
ну в твоем примере ты явно динамик вернул
First Last
С чего бы это?
tdesc
может чтобы указать тип возвращаемого обьекта?
First Last
Я вернул объект
|