Когда стоит использовать Flux/Redux с react-rails и стоит ли вообще? Для одностраничный приложений скорей всего стоит его использовать, но что если пишется не одностраничное приложение?
CapeRatel: Я не вижу в нем потребности сейчас. Но это не значит, что ее не будет если я буду писать без него, а переписывать потом не очень то хочется. Поэтому и хочу узнать в каком случае Flux стоит использовать, а в каком нет.
endenwer:
"Если вы не знаете зачем нужен js-framework, то он вам не нужен" @ каждый второй ответ на такой вопрос.
Рельсовику нафиг не нужен. Написал api, а там пусть разбираются фронтэндеры в этих страшных словах и архитектурах. Судя по вашему вопросу, вы еще достаточно сырой рельсовик, лучше уж в рельсах подтянуться до хорошего уровня. А вопросы о сложных фронтэндах отпадет со временем, когда уровень проектов будет высок. У меня в конторе остановились на эмбере. Все таки рельсвея в нем больше.
Максим Антонихин: Я думаю, что понял, но он в основном подходит для одностраничных приложений. У меня же просто в некоторые страницы встраиваются компоненты с помощью react-rails. Вот я и хочу узнать есть ли смысл использовать Flux. Возможно кто-то уже работал с react-rails и может дать какой-то совет.
endenwer: вопрос не в количестве страниц, а в данных, которые будет использовать ваше приложение. Если это большое количество данных которые будут менять в цикле вашего приложения, то да, вам нужен flux, если у вас 2-3 модели которые придут с сервера и будут висеть до того момента, пока вы не закроете вкладку, то забудьте о flux.
CapeRatel: Flux это не фреймфорк, а архитектура, альтернатива mvc. Сейчас по сути я использую чисто один react. Весь код в компонентах, кроме работы с ajax.
endenwer: Я вкурсе что такое flux, видимо вы не понимаете до конца назначение вообще js-фреймворка и зачем их придумали. У художника не возникает вопросов, каким цветом и какой кисточкой рисовать картину. А ответить на вопрос нужно ли юзать сложный фронт, flux/backbone-велик и прочий mv*shit можно только получив соответствующую задачу. Опишите задачу, которая возникнет в скором времени и будет ясно, что там использовать и как лучше сделать.
CapeRatel: React мне нужен чтобы писать динамические формы, динамические списки данных, менять какие-то элементы на странице и немного анимации. В основном конечно он нужен для работы со списками данных: изменение данных, удаление, добавление и все это через ajax. В общем я выбирал js библиотеку, которая бы позволяла сделать страницы динамическими и при этом не создавать spa и свести к минимуму js код. Я хочу использовать возможности RoR по максимуму, а не просто использовать его в качестве API. MVC js фреймоворк перетягивает на себя всю ответственность, поэтому я отказался от Angular, который выбрал в начале. С чистым react работать просто замечательно, но мне кажется, что не правильно его вот так использовать, потому что почти весь код в компонентах. Вот я и хочу узнать, не придется ли мне потом все переписывать если я не буду использовать Flux, что рекомендуют его создатели.
endenwer: Чистого реакта тут вполне хватит, код будет почище, и управлять js будет проще. Компоненты на сколько я понимаю, индексироваться поисковиками не будут(поправьте если не прав).
Не правительно это преждевременно оптимизировать.
Нормальный подход к разработке, это когда созданную "историю пользователей" вы в полной мере реализуете простым и качественным кодом. А если при этом это еще покроется хотя бы интеграционными тестами то вообще красота. А на танке в булочную ехать на случай военного вторжения вот это неверно. В любом случае переписывать придется, если проект будет развиваться, от этого не уйти никуда. Задача правильно спроектировать архитектуру бд и бекенда, чтобы была гибче.
CapeRatel: Спасибо за ответ. Одна из фишек реакта это серверный рендеринг, а значит все будет индексироваться. Тесты я пишу, на cucumber и плюс unit тесты на jasmin и rspec. Просто хотел узнать, что посоветуют опытные разработчики.