Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

super early discussion #1

Open
gadicc opened this issue Jan 25, 2019 · 5 comments
Open

super early discussion #1

gadicc opened this issue Jan 25, 2019 · 5 comments

Comments

@gadicc
Copy link
Collaborator

gadicc commented Jan 25, 2019

Continuing the discussion from gadicc/meteor-hmr#133 (comment)...

@gadicc
Copy link
Collaborator Author

gadicc commented Jan 26, 2019

hey @ffxsam, long time :) I had finally just started my first AppSync project when some banter in an old project issue inspired this little experiment. Your name popped up by chance (on an emoji-keyboard issue :)) and would greatly appreciate a word or two from you as someone who worked with Meteor, moved away, and actually spent a lot of time working with AppSync.

(Note: this is still more an experiment than anything else, trying to decide how far to pursue it. But I do really miss making apps this way. Goal is to keep the same developer experience while addressing some of the short comings. Server will be serverless, first against MongoDB but potentially against others too, even AWS dynamo, etc... maybe :))

@ffxsam
Copy link

ffxsam commented Jan 26, 2019

Hey, long time indeed!

I'll be honest, Meteor is a pretty fast/easy developer experience, but in the long run, it's not worth it. We've had lots of issues with the platform, a lot revolving around subscriptions just breaking, or connections to MongoDB dying and not re-connecting (?!). Plus the idea of running 3 server containers on Galaxy ($150+/mo) is becoming an antiquated model with the rise of serverless architecture.

I'm in the process of moving two large projects off of Meteor. For one app, the stack is:

  • Vue for front-end
  • Adonis.js for back-end
  • Postgres for DB
  • MQTT for real-time updates to front-end

The other stack will be:

  • Vue
  • AppSync
  • Postgres (Aurora Serverless, most likely, once Postgres support is added in X months)
  • various supporting Lambda functions

Postgres is an amazing DB. It was a breath of fresh air going back to relational data and strict schemas, compared to MongoDB where anything goes (and can lead to issues). Plus with Postgres you have true JSON field types where you can store JSON data—very cool.

That's a birds-eye view of what I'm working with.

@gadicc
Copy link
Collaborator Author

gadicc commented Jan 28, 2019

@ffxsam, that's really useful feedback. Thanks for taking the time to share all of this! And for your quick reply.

Last Q: If you consider exclusively the developer experience - as separate from the issues that came with it - how does that compare to your developer experience with alternatives? Specifically, the pattern of a client-side database with its ease-of-use for queries/ops, reactive live results and optimistic updates.

Also, just to clarify, this project is 100% independent of Meteor, and designed from inception to be highly and cheaply scalable (and maybe support other databases too).

@ffxsam
Copy link

ffxsam commented Jan 28, 2019

Just considering the developer experience (DX) alone, Meteor is tough to beat. It's nice having front-end and back-end in the same place, and having a whole user account system at your fingertips, etc. Having to build out a DB + AppSync API is not totally straightforward. It'll take me more time, but in the long run it will be way more scalable, more easily maintained, and more future-proofed.

@gadicc
Copy link
Collaborator Author

gadicc commented Jan 28, 2019

Thanks, @ffxsam; wonderfully succinct feedback, exactly what I'm looking for! 🙏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants