Вам нужно одностраничное приложение?

При работе с продуктом SAAS с устаревшим кодом одним из самых сложных решений является следующий: должно ли ваше приложение обрабатываться на стороне клиента, как в одностраничном приложении?

Общее предубеждение (ажиотаж), как правило, ДА, почему бы вам не сделать это одностраничным приложением?

Я признаю, что был частью этого предубеждения. Я всегда предполагал, что с одностраничным приложением намного проще справиться, чем с кошмаром jQuery с глобальными переменными и адом обратных вызовов, и что использование одной из хороших сред Javascript решит все мои проблемы с интерфейсом.

Это не тот случай! Это решает ряд проблем jQuery, когда вы имеете дело с большим приложением. Но одностраничные приложения имеют свой собственный набор проблем, а приложение с плохой архитектурой может иметь все проблемы jQuery. На самом деле в большинстве случаев вам не нужна вся мощь, сложность и стоимость одностраничного приложения.

Я использую React в своей повседневной работе, и больше всего мне в нем нравится то, что «вы можете использовать столько React, сколько вам нужно».

Многие фреймворки Javascript, такие как React, позволяют компоновать только части приложения. Таким образом, вы можете оставить работающий код в покое и начать с внедрения методов рендеринга на стороне клиента в итеративном процессе.

В моем случае я создал компоненты React для определенных частей приложения. Это позволило мне работать с работающим унаследованным кодом, когда я создавал новые функции, и заставило меня глубже понять, как работает эта часть унаследованного кода. Благодаря этому новому пониманию я теперь могу писать стабильные тесты и либо рефакторить старый код, либо переписывать его как компонент React.

Этот подход к итеративной компоновке позволяет мне продолжать создавать новые функции, сохраняя при этом возможность поддерживать и обновлять устаревший код. Это также дало мне возможность протестировать различные архитектурные парадигмы React, чтобы выяснить, какой подход лучше всего подойдет для моего варианта использования.

У этого процесса есть свои минусы, самый большой из которых заключается в том, что мне все еще приходится иметь дело с унаследованным кодом jQuery, и я не могу просто полностью от него отказаться. Но с другой стороны, когда я переписываю старый код, я лучше понимаю его и то, как лучше всего структурировать мой код React для сохранения существующей функциональности.

Итак, вам нужно одностраничное приложение?

да. В некоторых случаях да, но в большинстве случаев нет.