В новом проекте Графен или клубника? Почему?
какую либу лучше интегрировать в новый проект django?
я изучил документацию и все еще не знаю, насколько перформативно или проще интегрировать каждый из них в среду prod.
Я уже использовал graphene для интеграции с некоторым кодом pipefy, который я делал на работе, но я довольно новичок в graphql и не знаю на данный момент, каким путем мне следует идти.
- Strawberry docs - https://strawberry.rocks/docs
- Graphene - https://docs.graphene-python.org/en/latest/
Я являюсь сопровождающим Strawberry, поэтому в моем ответе может быть некоторая предвзятость 😊
И Strawberry, и Graphene основаны на GraphQL-core, который является библиотекой, обеспечивающей выполнение GraphQL, поэтому с точки зрения производительности они сопоставимы. Для Strawberry у нас есть приборная панель производительности здесь: https://speed.strawberry.rocks/ и вы можете видеть, что мы работали над тем, чтобы сделать его настолько быстрым, насколько это возможно, но GraphQL-core всегда будет решающим фактором для скорости[1]
Для Django я лично не склонен использовать интеграции из моделей, поскольку считаю это плохой практикой, но и Graphene, и Strawberry имеют интеграцию в этом смысле. Интеграция Graphene, вероятно, более зрелая, но интеграция Strawberry становится лучше с каждым днем (сопровождающий работает как над strawberry-django, так и над strawberry-django-plus, и он делает потрясающую работу).
Graphene также имеет, вероятно, больше расширений на данный момент и, возможно, больше руководств онлайн, хотя большинство из них могут быть уже неактуальными.
Strawberry хорошо поддерживается и выпускается довольно часто, и мы стараемся не вносить больших ломающих изменений, даже если мы находимся на версии 0.x. Graphene не поддерживался некоторое время, но, к счастью, теперь у нас больше сопровождающих.
Я бы определенно рекомендовал вам сделать небольшой прототип с обеими библиотеками и посмотреть, какая из них вам больше подходит, так как у них разные DX, причем Strawberry использует Python Type Hints, а Graphene имеет синтаксис, очень похожий на модели Django.
[1] У меня есть несколько идей, как мы можем сделать библиотеку быстрее, но я не знаю, когда я смогу их реализовать :)