Хорошая реализация: приложение изоморфного реагирования + бэкэнд Python - PullRequest
0 голосов
/ 11 июля 2019

Каков наилучший способ реализации приложения изоморфного реагирования с использованием веб-пакета с python в качестве бэкэнда для обслуживания

Для реализации необходимы следующие функции: 1. React router 2. Store Redux

1 Ответ

0 голосов
/ 11 июля 2019

Под Isomorphic я понимаю, что вы имеете в виду как на сервере, так и на клиенте - поэтому при первом доступе к сайту будут возвращаться статический HTML и пакет javascript, который затем заменяет статический HTML на версию с реагирующей визуализацией.

Обычно это означает запуск javascript на сервере с Node.js.Это означает, что вы можете визуализировать ваши шаблоны / компоненты JSX / React на сервере и отправлять их в виде статического HTML пользователю.Если вы работаете с Python на сервере, вы не можете использовать шаблонизацию и логику JSX / Javascript на сервере, поэтому вам нужно будет продублировать ее на Python.

Так что вам придется все это делатьдважды - сначала нужно выяснить, какой из них вы хотите сделать первым.Вначале либо в Python, либо в Javascript.

Вы можете начать с построения всего рендеринга на стороне сервера всего приложения, затем взять на себя управление javascript или создать полностью javascript-приложение и отобразить первые представления с помощью Python.

Лично для контент-ориентированных сайтов я предпочитаю создавать приложение на стороне сервера с помощью Django (наиболее используемой Python Web Framework), а затем добавлять Javascript сверху, когда он полностью работает как сайт без javascript.,Это дает преимущество работы даже в том случае, если javascript отключен, и гарантирует, что у вас есть хорошие URL-адреса и т. Д.

Конечно, если это действительно сложное приложение с точки зрения взаимодействия с пользователем, вам нужно будет сделать этоДругой способ.

Я рекомендую сначала изучить Django, Вот отличное руководство от девушек-джанго .Однако, если вы хотите пойти по пути JS, вот несколько идей:

Javascript First

Вероятно, лучший способ - сначала спроектировать структуру (ы) данных и сделать RESTAPI для ваших данных.(например, /api/1.0/cars/rustbucket_94, который отправляет данные JSON.)

Затем выясните вашу схему URL-адреса, ориентированную на пользователя, и определите, какие конечные точки REST необходимо получить, чтобы получить эти страницы.(Как должны выглядеть URL-адреса для конечных пользователей. Например, /cars/rustbucket_94.html)

Создайте свое приложение React как обычно, используя эти конечные точки REST / JSON и маршрутизатор реагирования, чтобы правильно его отображать.

После того, как у вас будет работать все приложение реагирования, вы можете создать версию всего этого на стороне сервера, которую вам нужно будет заново реализовать с нуля, и получить доступ к данным через конечные точки JSON (медленно).или делая сами запросы внутри страниц.

Сторона Python

Какую платформу Python Framework использовать в бэкэнде?

Я бы порекомендовал Django начать с.Это очень способно и может делать все, что вы тоже этого хотите.Вам, вероятно, понадобится Django REST framework .Есть и другие доступные варианты, но это будет самый быстрый способ получить что-то безопасное и вменяемое.

Хорошая работа Django с вашим рабочим процессом webpack / реагировать не слишком сложна.Есть такие проекты, как Django-Webpack-Loader и различные учебные пособия об этом, показывающие, как его использовать.

Удачи.

...