Какой фреймворк выбрать для интернет-магазина?

До этого момента активно пользовался Flask в купе с Mongo в качестве инструмента, для создания сайтов.
Сейчас хотелось бы как следует разделить backend и frontend и сделать визуально всё более динамичным.
Серверную часть напишу на Python, который будет работать через REST.
Но вот с полноценным фронтендом дела ещё не имел. Несколько дней изучаю источники и не могу прийти к общему знаменателю. Слишком много технологий в мире JS. Смотрел на React, Angular, Angular2, Backbone...
Но так как JS тоже не так давно начал изучать, после Python очень трудно это все воспринимать.
Подскажите, на чем будет менее болезненно и эффективно писать питонисту? =)
  • Вопрос задан
  • 6694 просмотра
Пригласить эксперта
Ответы на вопрос 6
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Почитайте про reactjs и redux (reactjs наиболее четко описывает суть компонентов а redux описывает как вообще все это работает в сборе). Какой именно фреймворк или решение вы выберите роли особо не играет, так как почти все приходят к схеме описываемой redux (с минимальными отличиями и изменениями).

Скажем тот же angular2. На самом деле он не сильно отличается от 1-ой версии, если вы следили за развитием идей и т.д. Скажем компоненты, их форсят во втором ангуляре (а так же в reactjs), но использовать этот подход без боли можно было уже с angular 1.3. Сейчас с angular 1.5 все еще проще. Есть компоненты (как отдельная сущность поверх директив, для angular 1.3-1.4 есть полифил), есть декораторы для компонентов (директивы расширяющие поведение компонентов). Главное не пользоваться контроллерами как независимой сущностью (ну разве что только для ресолва состояний и проброса в компоненты), а внутри компонентов не дергать сервисы для получения состояния (хотя есть опять же исключения).

далее, ни react ни angular из коробки не предоставляют вам ничего для организации вашего приложения. То есть, штуки типа контейнеров зависимостей и базовые какие-то вещи вроде ангуляровских инфраструктурных сервисов не в счет. У вас полная свобода действий. Хотите мутите нормальный сервисный слой, хотите - практикуйте идеи redux с одним общим состоянием приложения и деревом редьюсеров прокидывающие части состояний по компонентам...

Словом... все на самом деле не так сильно различается. Оно только кажется так, а идеи сейчас идут примерно одни у теже у всех. Декларативный UI, независимые компоненты, функциональщина...
Ответ написан
Комментировать
@bromzh
Drugs-driven development
Бери angular (первый). Для связи с REST API бери restangular или стандартный сервис $http.
Я сам бэкенд пишу на питоне и яве. На фронте ангуляр.
Ответ написан
@maxpetrikov
Надо начать с javascript(как минимум разобраться с потерей контекста и замыканиями) + библиотека для разбиения на модули, например requirejs. Если к этому разумно подключить фишки jquery, то получится хорошо и пригодно к рефакторингу, в случае каких-либо проблем.

Вот интересная статья на хабре:
habrahabr.ru/post/253297

Angular имеет очень высокий порог входа. React относится только к view + необходимо изучать язык JSX.
Backbone из коробки простой (но и возможностей немного) + underscore вводит много хороших функций, родных питонисту.
Ответ написан
riky
@riky
Laravel
вы бы пояснили зачем вам ИМ с нуля, может CMS?
какие условия отметают CMS?
или для развлечения?
Ответ написан
Vampireos
@Vampireos
https://vk.com/axelaredz
как менее затратный вариант по времени, взять готовую cms www.status-x.ru в которой из коробки есть всё что удовлетворит 99% потребностей
внешний вид может отпугнуть, но очень легко поддаётся редизайну, так как делал наш человек)
Ответ написан
@neomichi
Если хочется сео(*) от яндекса, не думаю, что ангулар поможет
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы