Q: Бэкенд для ReactJS - PullRequest
       9

Q: Бэкенд для ReactJS

0 голосов
/ 19 сентября 2018

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

Хорошо, я очень новичок в React, и мне нужен проект для работы, поэтому ядумал, что я воссоздаю свое портфолио (в настоящее время созданное в laravel) как нативное приложение «реагируй и реагируй».

Мои вопросы:

  1. Будет ли хороший выбор серверная часть Rest Api NETCORE хорошим выбором?для реакции?
  2. Мой опыт в ASPNET MVC больше, чем в Core. Должен ли я сейчас придерживаться API MVC (я уже начал создавать API NETCORE для учебных целей)?
  3. Будет лиphp-фреймворк, такой как CodeIgniter, будет лучше для такой работы?

Мой главный вопрос: хороший ли это подход?Я хотел бы иметь базовый бэкэнд (аутентификацию, новостные сообщения, элементы портфолио и т. Д.), А затем продолжить работу над моими приложениями реагирования.

Я думал, что, создав бэкэнд Rest API, это сильно спасет меня.проблемы при попытке создать приложение реагирования для ПК, Android или чего-либо еще (тот же сервер, другой клиент).

PS: я собираюсь разместить свой API на Azure бесплатновеб-сайты, если это ASPNET или виртуальный хостинг, если это PHP, вот почему я ухожу от laravel (так что laravel - нет-нет).

P.S2: Firebaseили другие облака (кроме Azure) для меня не нужны.У меня есть доступ ко многим ресурсам, и я хотел бы использовать их, а не использовать бесплатные сервисы, такие как Firebase или еще много чего.

Ответы [ 2 ]

0 голосов
/ 19 сентября 2018

Попробуйте API Platform - докеризуется, но развертывается на хостинге php (на основе Symfony), генерирует администратора на основе react-admin и дополнительных веб / мобильных клиентов (ИМХО самые слабые части этого проекта), openAPI (swagger) документы, легко используемые с graphQL ... просто попробуйте.

Создание портфолио с помощью Laravel не очень хорошая идея.Используйте Gatsby - вы можете использовать graphql (WordPress, contentfull) в качестве источника, генерировать статический сайт.

0 голосов
/ 19 сентября 2018

Просто дайте мне 2 пенса здесь, так как это действительно основано на мнении!

С точки зрения бэкэнда, вам решать, что бы вы ни чувствовали себя более комфортно - но я бы внимательно следил заАрхитектура бэкэнд-системы, которую вы строите.

Мой выбор будет заключаться в создании архитектуры на основе микросервисов, в которой вы создаете простые атомарные сервисы, которые работают только в пределах своего домена.Например, вы можете создать «Общие сервисы» - сервисы, которые могут использоваться в качестве зависимостей другими сервисами (событиями, шифрованием, документами и т. Д.), А затем создать атомарные сервисы, которые связаны с аспектом вашего приложения, таким как Сервис пользователя, Сервис оплаты.Служба продукта, Служба корзины и т. Д.

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

После того, как вы создали сервис, вы можете использовать такие сервисы, как Swagger UI, для автоматизации документации и создания для них комплектов тестирования.Если вы не использовали Swagger, я рекомендую его вам.

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

Вот несколько статей, касающихся построения микросервисов в ASP.NET Core

https://docs.microsoft.com/en-us/dotnet/standard/microservices-architecture/multi-container-microservice-net-applications/data-driven-crud-microservice

Swagger

https://swagger.io/

Как примечание, я не развиваю ни в ASP, ни в каком-либо другом стеке Microsoft - но принцип тот же

ОБНОВЛЕНИЕ

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

  • Масштабируемость
  • Изоляция ошибок
  • Устраняет долгосрочную приверженность единому технологическому стеку
  • Легче для разработчиков:понять (и документ)

Мой тип установки будет использовать Spring Boot (Java) и Eureka Server - но вы в MS Stack, но ссылка, которую я дал вам выше, показываеткак создать базовый микросервис CRUD с Net Core.Я хотел бы попробовать и посмотреть, как это происходит, затем вы можете перейти на CI / CD для Azure!

Переходя от простого CRUD API, вы можете вводить WS-соединения с обновлениями, управляемыми событиями (серверклиенту), а не запрашивать новые данные.

Архитектор, с которым я когда-то работал (гениальный парень), сказал мне никогда не слишком полагаться на «Framework» - они классные, когда у них все хорошо, но отличное приложение должно быть гибким для измененияпоэтому я бы не стал слишком полагаться на «рамки», но это было только его мнение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...