Size: a a a

Dart & Flutter по-русски

2021 March 26

Е

Евгений in Dart & Flutter по-русски
или под андроид на свифте)
источник

AG

Adel Gilyazeev in Dart & Flutter по-русски
Andrew Vasilevskii
под капотом там compute?
по сути да, только уже с готовыми прочитанными данными от оси
источник

Е

Евгений in Dart & Flutter по-русски
Andrey Unger
ага. мысль в том, что код написаный на разных языках - разный код. А стало быть может принадлежать разным субъектам
а на одном языке не может принадлежать разным субъектам? 😄
источник

AU

Andrey Unger in Dart & Flutter по-русски
Евгений
а если на бэке java, то на ios тоже на java писать надо?)
тут разговор только про бэковский код. Если написанный алгоритм на Typescript+NodeJs+sequelize/postgres принадлежит конторе, то переписанный на другом стеке но тот же алгоритм уже не будет ей принадлежать
источник

Е

Евгений in Dart & Flutter по-русски
Andrey Unger
тут разговор только про бэковский код. Если написанный алгоритм на Typescript+NodeJs+sequelize/postgres принадлежит конторе, то переписанный на другом стеке но тот же алгоритм уже не будет ей принадлежать
а, ты о том, чтобы вывести из-под nda?
источник

AU

Andrey Unger in Dart & Flutter по-русски
ну да
источник

Е

Евгений in Dart & Flutter по-русски
понял, я думал наоборот, чтобы всё оставалось в рамках
источник

Е

Евгений in Dart & Flutter по-русски
тогда почему именно дарт?
источник

AK

Aleksey Kharitonov in Dart & Flutter по-русски
Aleksey Kharitonov
Всем привет!
Прошу помочь разобраться вот в какой ситуации:

Есть проект, изначально предполагающий только iOS & Android, но в последствии прикрутил ещё и поддержку web.
После апдейта до flutter 2.0 на stable канале приложение на устройстве в дебаг сессии выкидывает ошибку malloc: *** error for object ...: incorrect checksum for freed object - object was probably modified after being freed
Пробовал запускать через Xcode, но там просто указатель на область памяти в момент ошибки и её адрес. Как то посмотреть внутрь не получилось (может просто не знаю как).
Ещё пишется в лог ошибка `fopen failed for data file errno = 2 (no such file or directory)’
Ну и заканчивается это всё примерно следующей надписью на брейкпоитне: io.flutter.1.ui (10): EXC_BREAKPOINT
И ещё, если запустить приложение просто на устройстве, то оно вообще не запускается (см. видео).
Какого то триггера при котором крэш происходит не нашёл.
Up
источник

AU

Andrey Unger in Dart & Flutter по-русски
так собственно что с нормальным ОРМ для постгриса в дарте?
источник

Е

Евгений in Dart & Flutter по-русски
он же для бэка такое себе
источник

AU

Andrey Unger in Dart & Flutter по-русски
Евгений
тогда почему именно дарт?
нравиться он мне) да и производительность по сравнению с нодой примерно такаяже
источник

Е

Евгений in Dart & Flutter по-русски
Andrey Unger
нравиться он мне) да и производительность по сравнению с нодой примерно такаяже
имхо, логичнее выбрать go)
источник

AU

Andrey Unger in Dart & Flutter по-русски
Евгений
он же для бэка такое себе
почему?
источник

Е

Евгений in Dart & Flutter по-русски
Andrey Unger
почему?
да просто не общепринято, соответственно натыкаешься на проблемы отстутствия нужных либ
источник

S

Sergey in Dart & Flutter по-русски
кто знаете группу где могут помочь с написанием платформенного кода для Windows(в контекста flutter) ?
источник

AU

Andrey Unger in Dart & Flutter по-русски
Евгений
имхо, логичнее выбрать go)
так еще и фронт к этому бэку переписывать с реакта на флаттер. так что логичние все на одном языке сразу запилить)
источник

AU

Andrey Unger in Dart & Flutter по-русски
Евгений
да просто не общепринято, соответственно натыкаешься на проблемы отстутствия нужных либ
да либ хватает, просто их слишком много и хз какая лучше)
источник

AG

Adel Gilyazeev in Dart & Flutter по-русски
Cat-Wizard Ashere
Окей, я могу понять зачем нужен async await, когда мы не знаем когда нам прилетят данные, но разве до выполнения кода в потоке весь наш остальной код не будет стопорится до исполнения асинхронного?

В чем преимущество асинхронных запросов тогда в целом?
Попробуй поиграть с кодом

import 'dart:io';

const count = 100;

void main(List<String> args) async {
 /// Создаём все файлы синхронно
 for (var i = 0; i < count; i++) {
   File('$i.txt').writeAsStringSync('Hello from $i');
 }

 final f = <Future>[];

 for (var i = 0; i < count; i++) {
   /// Говорим ему, чтоб после считывания он печатал содержимое файла
   f.add(File('$i.txt').readAsString().then(print));
 }
 /// До этого места эта функция ниразу не прерывалась, соотвественно другие функции не могли перехватить управление
 /// Если здесь сделать какие то огромные вычесление на много времени без перерыва, то данные файлов не будут распечатаны, пока эти вычесления не закончатся

 /// Ждём пока все файлы распечатаются
 /// Вот полсе этой строки функция прерывается и начинает ждать пока всефьючерсы закончатся
 /// А каждый фьючерс будет закончен только после распечатки содержимого файла, который будет получен только после прочтения
 /// Так как мы вызывали уже выше File().readAsString(), то чтение уже началось и обрабатывается системой
 /// Но print для них начнёт выполняться только сейчас
 await Future.wait(f);
 print('Its end!');
}
источник

CA

Cat-Wizard Ashere in Dart & Flutter по-русски
Adel Gilyazeev
жто при синхронном чтении... Поток будет ждать пока файл прочтётся системой. А при асинхронном он даст команду, но не станет ждать, а будет дальше исполнять твой код. Когда система оповестит что файл прочитан и данные скинуты в память, то если твоя программа будет ждать эти данные то она на них сразу же среагирует,а если нрет, то данные так и останутся висеть в очереди на исполнение
Окей, я тут попробовал и понял, что если перенести синхронный код выше асинхронного сначала выполнится синхронный, а после него начнется выполнение асинхронного.

Спасибо за ответы. Было весьма информативно
источник