@tomRedox I completely agree for multiple tutorials. That’s one of the main points of my last few posts - especially considering the import’s are not required when not using NPM.
Also regarding Tom’s post, I can completely understand the perspective of enterprise dev’s. I actually think it’s great that Meteor is catering to enterprise developers - that’s necessary for the success of Meteor as a whole.
My only concern is that, as Tim said, I hope MDG does not forget the original intent of Meteor. According to Meteor’s own site, it’s supposed to be easy to pick up and a pleasure to use. I hope it actually stays that way, and that the features that make it enjoyable to code in are not removed in favor of enterprise features. More options are great - that means Meteor is having more depth added to it But being forced to add complexity to code if you don’t require those options - that’s adding complexity to those users code for no significant payback.
As mentioned, many of my issues were alleviated upon finding out the import statements are optional unless you are using NPM. This actually makes sense. But if I did not post here on the forums, I would never have known that imports worked this way. It’s not really communicated well, and with the most basic tutorial on Meteor using them everywhere, it’s a bit jarring.
@seba It’s not that import statements are “hard” to understand. It’s just that one of the nicest things about working with Meteor compared to other frameworks/platforms was that you didn’t have to have import statements all over the place. As I said, it makes sense for NPM, but for Meteor’s built in functionality, it does not feel right. It just up’s the learning curve for new users, and even for experienced users, adds a layer of complexity that wasn’t there before.
Also, according to the tutorial, you don’t just need to import the Meteor API’s & packages, but also should import every single template and .js file you make?? That’s actually a layer of complexity that goes beyond some of the other frameworks I’ve used in the past. That’s a big point of concern for me, because that’s the first time Meteor is notably more complex than some of the other frameworks I’ve worked with. As I mentioned, I found out this is optional so it’s less of an issue. But I’m worried that it won’t be optional forever…
Now if your project is enterprise level, or having issues where your project is not maintainable, then adding those layers in order to resolve the issues is great. And would make sense for that stage of a project. But for users that don’t require that, there’s no reason they should have to lose out on one of things many people enjoyed about Meteor. Even today, the front page of Meteor lists as 1 of it’s 3 main catches that it’s a “delight” to use. But if every project of mine had to look like the new todo’s tutorial… it would be much less of a delight to use than it was before upgrading.
To put it plainly, being required to import Meteor’s own API, and having to import every single js/template file you make, simply does not feel like the “Meteor Way” of doing things. NPM - that completely makes sense. Not for Meteor itself though!
And if importing Meteor API/js/templates is an optional feature, that should be communicated clearly, because many projects won’t need those features, and the productivity gain from not doing imports is worth it if you don’t need those features. If sustainability becomes an issue for your project, and updating your project with imports at that point would make sense. But really, for a new user going through the tutorial for the first time, or any non-enterprise user, there’s absolutely no reason they should have to bother with any of that.
A lot of my other worries would be alleviated if Meteor went with Tom’s idea, In my opinion, it makes no sense that the “Creating my First App” tutorial, that claims it’s only going to make a “simple” app, and is loaded with content focused on production app’s.
But yeah… in the end, it’s not really about Meteor being compared to other platforms, it’s about Meteor compared to itself prior to 1.3. Rather than it feeling like Meteor + some awesome new functionality, if imports become required it will feel a bit more like Meteor isn’t even the same product. The ideal developer for job listings, the ease of use, and the enjoyable feeling of working with it, and even the productivity seems like it could potentially be changing directions. That’s a cause of concern for me, as I was a big fan of what Meteor stood for. I really hope that Meteor doesn’t go further and further in that direction in the future… I really want Meteor to stay as enjoyable to use as it has been for me over the last year, and if anything, potentially become even more enjoyable to use.