Anyone starting new Meteor 1.7 projects?


#1

Hi there, I’m starting a new project and Meteor is an excellent choice for a collaboration tool!

My context is starting/maintaining 1.4/5/6 projects from the pre-React era.

What’s substantially changed direction for new Meteor projects?

Persistence: SimpleSchema, aldeed:collection2, collection-helpers, reywood:publish-composite, zimme:collection-softremovable

Front-end: Blaze + flow-router = good enough || maybe Vue.js

Forms: aldeed:autoform, aldeed:template-extension

Accounts: useraccounts:core - I only see a bootstrap 3 styling?

Do UserAccounts and Autoform have Bootstrap4 stylings? What’s the best way to Bootstrap 4 in Meteor 1.7? I’d rather have an easy forms and accounts package than Bootstrap 4, but why not all three?

Security: browser-policy, ongoworks:security

Anything else (sans React and GraphQL) you’d consider best practice or state of the art that I’ve missed?


#2

Yes. Meteor is and has shifted towards supporting popular frontend frameworks. It does support Blaze, but its much easier now to use React, Vue, Angular and their ecosystems with tools like their recommended router.

  • Might want to use React with React Router or Vue with Vue Router.
  • Bootstrap might be updated to v4. I would use it with fourseven:scss and import the bootstrap scss files with it
  • The minimongo related packages should be fine although I would avoid composite publish since it introduces some complexity (warning, opinion here)
  • I would use Redux for bigger applications, but only for UI state management. I handle the domain state still with Minimongo.

#3

The main problem I’ve had with an old Blaze app is that the ecosystem has stagnated. Many of the packages are out of date, or reference and use a number of other packages which are themselves out of date. It can be challenging to get everything up and running with Blaze, unless you forego a lot of older packages.

On the other hand, React, React-Router, and uniforms is absolutely LOVELY. Feels a lot like Blaze of old.