I have a really hard decision to make for an App I currently Develop please help me. I have 2 options one is to use WordPress as a Backend via WP-REST API/WP-GraphQL second is to use Stitch with the new GraphQL feature.
WordPress as headless cms for my Application. It has good API integration and WooCommerce will make it easy to make in-app charges (Recurring Payments). WordPress Hosting will be cheap since it only will function as a backend so no one will go to this site, only my App will get data from it via API.
- cheap hosting
- mature software maintained by Automattic
- WooCommerce premium plugins like Subscriptions & Members will handle everything from payments
to access so I don’t need to implement this by myself and make sure my code is always up to date
with the PayPal/Stripe API for example.
- Every hacker knows WordPress and how to attack it.
- wp-graphql plugin what I need to use is a project maintained by a gatsby employe and I depend on them.
- wp-graphql and also official wp-rest-API have a lack of good working authentication plugins to work with the API. for example OAUTH or JTW the existing plugins are not well-maintained projects where I later need to depend on.
I was so lucky when I heard GraphQL coming to Stitch but there are also a few pros and cons that I need to consider.
- MongoDB + Stitch/GQL is a BaaS and more secure than my WordPress on DigitalOcean for sure.
- GraphQL out of the box
- Serverless Functions
- Authentication already integrated with Stitch like OAUTH, BASIC and more.
- I like NoSQL more.
but the cons are big here…
- GraphQL is in BETA and no idea what the future brings.
- Locked in into Stitch service, if I want to have a plan for the worst-case I need to maintain 2 projects 1 is Stitch and one a custom MERN App that I can spin up anytime if something happens to MongoDB. (WordPress) It is easier to move around.
- The payment process needs to be implemented and maintained by me (Recurring) which is more complicated.
For sure more expensive than WordPress Hosting.
So I hope anyone with experience here can give me some good advice on what I should do here?