作为创建 CMS 驱动的应用程序的工具,KeystoneJS 和 Strapi 之间的主要区别是什么?
What are the key differences between KeystoneJS and Strapi as tools to create CMS-driven apps?
我倾向于将 Keystone(按原样)用于标准的、服务器驱动的多页面应用程序和 strapi 的想法,当我想将 Vue/React/Angular 放在前面时-结束SPA?由于它已经包含 template/view,Keystone 可能会更快获得 MVP?还要别的吗?
不熟悉 KeystoneJS,但从外观上看它们非常相似。 Strapi 看起来它具有更可扩展的 API 但总体上它是相同的概念。我已经将 Strapi 用于多个项目,并且使用起来速度很快,您可以在不到一个小时的时间内在 Heroku 上安装 Strapi 并使用完全构建的模式。
两者之间的一件事是 GraphQL 支持,Strapi 正在大力推动参与 GraphQL 世界,我相信为了跟上 Tipe.io。
设置 GQL + Strapi + Nuxt / Next 非常适合创建 SSR 应用程序。
在撰写本文时(在发布此问题后将近几年),Keystone 5 以 graphql 为导向,因此这不再是两者之间的主要区别。 Keystone 4 仍然作为 REST 优先的框架进行维护。
Strapi 现在是 GQL-first 并且拥有更大的社区。
我在多个项目中使用 KeystoneJS v5 工作了一年多。
我和你有同样的问题,我选择了 Keystone 而不是 Strapi(即使 git 星级和社区更高)因为我正在寻找一个简单的基于文件的后端生成器。
这一行表示:schema => ({AdminUI, GraphQLApi})
.
我需要快速定义(然后轻松修改)我的后端的信息架构,并看到它自动反映在 CMS 和 API。
(Strapi users, correct me if I'm wrong)
我看到 Strapi 更专注于构建拖放(无代码)方式来构建此后端。我找不到将 Strapi 与文件一起使用并获取 CMS 和 API 我正在寻找的直接方法。在我看来,它是为那些想要后端但不想编写代码的人构建的。
我宁愿使用我的代码编辑器功能(find/replace,多光标)来定义和修改我的架构,而不是浏览器上的拖放组件。也使用以前的项目作为我的基础代码来构建新的。
我的 keystone 项目获得了一个非常简单的文件结构,其中大部分都是开箱即用的,制作自定义突变、AdminUI 组件、挂钩和数据播种非常简单。
这是一个例子:
├── index.js // imports entities, hooks, initial-data, submodules
├── initial-data.js // imports seed/index.js and orchestastes how to create data
├── entities // for each entity (list): field types, access control, hooks, adminUI configs
│ ├── index.js
│ ├── Users.js
│ ├── Books.js
│ ├── Loans.js
│ ├── Authors.js
│ ├── ...
│ └── Categories.js
├── extendGraphqlSchema // pretty easy to add new custom Graphql types, mutations and queries
│ ├── index.js
│ ├── types
│ ├── queries
│ └── mutations
├── hooks
│ ├── index.js
│ ├── user_beforeUpdate.js
│ ├── book_validateInput.js
│ ├── ...
│ └── loan_afterDelete.js
├── keystone-media-server // submodule I use on many Keystone projects
│ ├── adapters
│ ├── fields
│ ├── lists
│ ├── resolvers
│ └── seed
└── seed // list of functions to create a complete data example to test
├── index.js
├── createUsers.js
├── createBooks.js
├── createLoans.js
├── createAuthors.js
└── createCategories.js
我倾向于将 Keystone(按原样)用于标准的、服务器驱动的多页面应用程序和 strapi 的想法,当我想将 Vue/React/Angular 放在前面时-结束SPA?由于它已经包含 template/view,Keystone 可能会更快获得 MVP?还要别的吗?
不熟悉 KeystoneJS,但从外观上看它们非常相似。 Strapi 看起来它具有更可扩展的 API 但总体上它是相同的概念。我已经将 Strapi 用于多个项目,并且使用起来速度很快,您可以在不到一个小时的时间内在 Heroku 上安装 Strapi 并使用完全构建的模式。
两者之间的一件事是 GraphQL 支持,Strapi 正在大力推动参与 GraphQL 世界,我相信为了跟上 Tipe.io。
设置 GQL + Strapi + Nuxt / Next 非常适合创建 SSR 应用程序。
在撰写本文时(在发布此问题后将近几年),Keystone 5 以 graphql 为导向,因此这不再是两者之间的主要区别。 Keystone 4 仍然作为 REST 优先的框架进行维护。
Strapi 现在是 GQL-first 并且拥有更大的社区。
我在多个项目中使用 KeystoneJS v5 工作了一年多。 我和你有同样的问题,我选择了 Keystone 而不是 Strapi(即使 git 星级和社区更高)因为我正在寻找一个简单的基于文件的后端生成器。
这一行表示:schema => ({AdminUI, GraphQLApi})
.
我需要快速定义(然后轻松修改)我的后端的信息架构,并看到它自动反映在 CMS 和 API。
(Strapi users, correct me if I'm wrong)
我看到 Strapi 更专注于构建拖放(无代码)方式来构建此后端。我找不到将 Strapi 与文件一起使用并获取 CMS 和 API 我正在寻找的直接方法。在我看来,它是为那些想要后端但不想编写代码的人构建的。
我宁愿使用我的代码编辑器功能(find/replace,多光标)来定义和修改我的架构,而不是浏览器上的拖放组件。也使用以前的项目作为我的基础代码来构建新的。
我的 keystone 项目获得了一个非常简单的文件结构,其中大部分都是开箱即用的,制作自定义突变、AdminUI 组件、挂钩和数据播种非常简单。
这是一个例子:
├── index.js // imports entities, hooks, initial-data, submodules
├── initial-data.js // imports seed/index.js and orchestastes how to create data
├── entities // for each entity (list): field types, access control, hooks, adminUI configs
│ ├── index.js
│ ├── Users.js
│ ├── Books.js
│ ├── Loans.js
│ ├── Authors.js
│ ├── ...
│ └── Categories.js
├── extendGraphqlSchema // pretty easy to add new custom Graphql types, mutations and queries
│ ├── index.js
│ ├── types
│ ├── queries
│ └── mutations
├── hooks
│ ├── index.js
│ ├── user_beforeUpdate.js
│ ├── book_validateInput.js
│ ├── ...
│ └── loan_afterDelete.js
├── keystone-media-server // submodule I use on many Keystone projects
│ ├── adapters
│ ├── fields
│ ├── lists
│ ├── resolvers
│ └── seed
└── seed // list of functions to create a complete data example to test
├── index.js
├── createUsers.js
├── createBooks.js
├── createLoans.js
├── createAuthors.js
└── createCategories.js