Вам нужно одностраничное приложение?
При работе с продуктом SAAS с устаревшим кодом одним из самых сложных решений является следующий: должно ли ваше приложение обрабатываться на стороне клиента, как в одностраничном приложении?
Общее предубеждение (ажиотаж), как правило, ДА, почему бы вам не сделать это одностраничным приложением?
Я признаю, что был частью этого предубеждения. Я всегда предполагал, что с одностраничным приложением намного проще справиться, чем с кошмаром jQuery с глобальными переменными и адом обратных вызовов, и что использование одной из хороших сред Javascript решит все мои проблемы с интерфейсом.
Это не тот случай! Это решает ряд проблем jQuery, когда вы имеете дело с большим приложением. Но одностраничные приложения имеют свой собственный набор проблем, а приложение с плохой архитектурой может иметь все проблемы jQuery. На самом деле в большинстве случаев вам не нужна вся мощь, сложность и стоимость одностраничного приложения.
Я использую React в своей повседневной работе, и больше всего мне в нем нравится то, что «вы можете использовать столько React, сколько вам нужно».
Многие фреймворки Javascript, такие как React, позволяют компоновать только части приложения. Таким образом, вы можете оставить работающий код в покое и начать с внедрения методов рендеринга на стороне клиента в итеративном процессе.
В моем случае я создал компоненты React для определенных частей приложения. Это позволило мне работать с работающим унаследованным кодом, когда я создавал новые функции, и заставило меня глубже понять, как работает эта часть унаследованного кода. Благодаря этому новому пониманию я теперь могу писать стабильные тесты и либо рефакторить старый код, либо переписывать его как компонент React.
Этот подход к итеративной компоновке позволяет мне продолжать создавать новые функции, сохраняя при этом возможность поддерживать и обновлять устаревший код. Это также дало мне возможность протестировать различные архитектурные парадигмы React, чтобы выяснить, какой подход лучше всего подойдет для моего варианта использования.
У этого процесса есть свои минусы, самый большой из которых заключается в том, что мне все еще приходится иметь дело с унаследованным кодом jQuery, и я не могу просто полностью от него отказаться. Но с другой стороны, когда я переписываю старый код, я лучше понимаю его и то, как лучше всего структурировать мой код React для сохранения существующей функциональности.
Итак, вам нужно одностраничное приложение?
да. В некоторых случаях да, но в большинстве случаев нет.