вычисляет темп километраж, время. Вот сырая версия https://run-master.herokuapp.com/
ХОтелось бы "математические aппарат" вынести отдельно и чоть мне не кажется что это задача Vuex
Если "математический аппарат" никак не связан с Vue и реактивностью, его можно выносить в обычные модули с функциями
А если яхочу чтоб был реактивен. Я могу ведь могу подписаться на изменения....
Насколько корректным считаешь производить сложные вычисления на фронте, а не на бэке?
Смотря на сколько сложные, от чего зависят и как быстро нужны
при изменениях просто посчитай то, что нужно, заново
Хм, а как бы ты различил сложность вычислений которую можно оставлять, а какую нельзя, если два последних названых тобой параметров опустить, как незначительные?
Сложный вопрос. Если вычисления можно сделать и там, и там, и не слишком тяжело для клиента (не будет "лагать"), то лучше на клиенте (его ресурсы бесплатные + меньше связность с сервером, работа оффлайн). Но лучше каждый конкретный случай индивидуально разбирать
Я сейчас начинаю делать проектик, где много вычислений, и хочу на столько, на сколько возможно, выносить всё на фронт. Но мне актуальна работа оффлайн, чтобы приложение могло работать, как PWA приложение. По этому будет и БД на фронте небольшая графовая, и Logux для стейта с синхронизацией.
Тут больше этический вопрос, так как, на мой взгляд, выносить вычисления на пользователя, это как воровать из его кармана. Все конечно зависит от проекта, но что то сложное и без предупреждения переносить на клиента - очень плохая практика, как по мне.
Но уменьшает latency при выполнении операций
Что в качестве БД использовать будешь? IndexedDB?
по сути алгоритм напоминает змейку)) Алгоритм строит путь и последние N точек(голова) аппроксимирует....(при линейном сглаживание 1 параметр, при параболе 2) При добавлении точки, добавляется в аппроксимируемый массив, а первый элемент корректируется по аппроксимации. Для линейного сглаживания там вычеслений вообще не много. Но при параболе СЛАY 2 на 2, но приходится вычислять средний t**(от2до4) времени((
Хочу попробовать LevelGraph, который поверх levelup, которая поверх google/leveldb, которая в браузере поверх IndexedDB :)
Это да. Я бы сказал это больше подходит desktop приложениям и приложения которые должны работать без интернета. Забыл название.
Есть очень много операций, которые должны выполняться быстро, как реакция на действие пользователя. Игры, 2D/3D графика, разные редакторы с данными и тп. А на сервер бы выносил только вычисления, которые надо отложить до факта выполнения, а latency уже не играет роли на фоне самого вычисления
Мало о чем говорит, я бы посмотрел на замеры производительности, на устройствах целевой аудитории.
А как ее мерить?
Через инструменты разработчика в браузере, например?
Electron?
А, ну, это совсем другой пласт приложений. Хм, да, конечно, игры. Тут по другому то особо и никак.
А если для себя и на телефоне?
Ну сюда же разные графики, диаграммы, карты относятся, тоже всё на клиенте вычисляется. Не говоря про работу с VDOM)
Нет, я имел ввиду приложения, которые могут работать оффлайн, предоставляя какой то функционал. Туда можно отнести и web/mobile/desktop, что угодно.
Обычно это понимают под PWA
Вот этого я не знаю. Думаю, это можно сделать как то.
Обсуждают сегодня