I started looking into meteor in the past and now I have to build a website and I’m in the process of choosing the right tech stack for it.
The website is going to be about music and it will have pages for artists and releases with the ability of free downloading some content and purchasing some other content. The website will also feature a blog and an admin interface.
Is meteor the right choice for this project? The problems I find are that this website will not need real time features and that a single page architecture could not be ideal for a website of this kind. Is meteor still a good choice?
I think the general consensus is that content only websites are generally not the best fit for Meteor, but they certainly can be done (just take a look at the Orionjs package). This is because meteors strengths are all in the real time data synchronisation and the optimistic UI when data is being updated.
It sounds like you would be serving static content about artists combined with lists of files that users can download and/or purchase.
If users are adding and updating content or even just interacting with that data - then Meteor would be a good fit because the user & data interaction is well facilitated with Meteors framework. For example if you have a “like” counter for artists and a comment stream that you want to be kept up to date on everyone’s screen, this would be quite easy to implement.
The reasons why it is overkill for a content only website are that Meteor is for building apps. Your users are running a local database in their browser capable of running queries and performing complex activities. With content only you’re just dropping data into that local database and displaying it…
I agree with what csrtat is saying: If you are only displaying content Meteor might be an overkill.
However, what you should know is that you can make Meteor behave like a non-realtime framework: Simply return raw data from your server side methods. If you need to sprinkle in bits of real time (a like counter for example) it is trivial with Meteor. You could also look into SailJS, which does http and websockets over the same routes.