Все так. Еще и многопоточности нормальной нет! А с другой стороны люди пишут на Ruby, и их устраивает производительность. Я для себя решил, что комфорт и скорость разработки важнее задержки в пару миллисекунд
Не всем нужен веб. Да и что, людям перестать пользоваться compute-ом, ведь он тоже не работает в вебе)
Все блоки работают в одном изоляте. Это решает сразу много проблем, к примеру не нужно ломать голову над тем, как между несколькими изолятами построить коммуникацию, или над тем, сколько изолятов запускать
Я провёл несколько внутренних тестов, в результате которых выяснил, что передача данных между изолятами занимала около 5% всего остального времени. В тесте я передавал большое количество данных в виде строки, которые потом парсились и маппились внутри изолята, и передавались обратно. Сценарий получился весьма похожим на реальный кейс. А сравнивал я с тем же самым тестом, который был запущен в одном потоке
Ещё раз повторю, каждый может использовать инструмент по вкусу. Если тебе удобнее самому выносить тяжеловесные задачи, то пожалуйста! Но кому-то точно будет удобнее использовать мой вариант
Болки, как и все, что создано или запущено в isolatedFunc, как раз и работают в отдельном изоляте)
И я не считаю, что этот пакет должен убить flutter_bloc. Это просто ещё один вариант реализации блока, коих уже много. Каждый может пользоваться тем, чем ему удобно
В функцию initialize можно передать список MethodChannel-ов, которые будут перенаправляться в изолят. К примеру вы можете загружать ассеты в блоке, так как MethodChannel для них уже по умолчанию перенаправляется в изолят
Прочитать об этом больше вы можете в документации пакета
Все блоки работают в одном изоляте. К сожалению или к счастью, очень сложно сделать так, чтобы они работали в нескольких. Там появляются проблемы с коммуникацией между этими изолятами. Ведь не всегда возможно разделить приложение на несколько независимых частей, чтобы эти части запустить в разных изолятах
По той же причине, почему и не на python. Захотел переиспользовать код и генерировать клиент. Да и вообще, я не знаю php)
Serverpod казался очень удобным, из-за кодогенерации. Лишь в процессе обнаружил кучу недочетов
Все так. Еще и многопоточности нормальной нет! А с другой стороны люди пишут на Ruby, и их устраивает производительность. Я для себя решил, что комфорт и скорость разработки важнее задержки в пару миллисекунд
Ладно, я уже имел опыт дискуссий с тобой, поэтому не буду тратить ни свое время, ни твое время, ни время возможного читателя.
Всего доброго
Не всем нужен веб. Да и что, людям перестать пользоваться
compute
-ом, ведь он тоже не работает в вебе)Все блоки работают в одном изоляте. Это решает сразу много проблем, к примеру не нужно ломать голову над тем, как между несколькими изолятами построить коммуникацию, или над тем, сколько изолятов запускать
Я провёл несколько внутренних тестов, в результате которых выяснил, что передача данных между изолятами занимала около 5% всего остального времени. В тесте я передавал большое количество данных в виде строки, которые потом парсились и маппились внутри изолята, и передавались обратно. Сценарий получился весьма похожим на реальный кейс. А сравнивал я с тем же самым тестом, который был запущен в одном потоке
Ещё раз повторю, каждый может использовать инструмент по вкусу. Если тебе удобнее самому выносить тяжеловесные задачи, то пожалуйста! Но кому-то точно будет удобнее использовать мой вариант
Болки, как и все, что создано или запущено в
isolatedFunc
, как раз и работают в отдельном изоляте)И я не считаю, что этот пакет должен убить flutter_bloc. Это просто ещё один вариант реализации блока, коих уже много. Каждый может пользоваться тем, чем ему удобно
Спасибо за прекрасный пример!
В функцию
initialize
можно передать список MethodChannel-ов, которые будут перенаправляться в изолят. К примеру вы можете загружать ассеты в блоке, так как MethodChannel для них уже по умолчанию перенаправляется в изолятПрочитать об этом больше вы можете в документации пакета
Все блоки работают в одном изоляте. К сожалению или к счастью, очень сложно сделать так, чтобы они работали в нескольких. Там появляются проблемы с коммуникацией между этими изолятами. Ведь не всегда возможно разделить приложение на несколько независимых частей, чтобы эти части запустить в разных изолятах
Мама, я в телевизоре!
Прикольная статья, спасибо
По поводу второго: писать удобно, но это все ещё не production ready решение.