windows version first class citizen? #867

Closed
amanu opened this Issue Mar 22, 2013 · 12 comments

Comments

Projects
None yet
8 participants

amanu commented Mar 22, 2013

do you have any plans to make the windows version a first class citizen?

I saw the win.meteor.com fork and I like the community effort but it's not stable enough :(. Besides it should really come from you officially, not from the community, considering that the majority of developers (and your potential users) ARE using windows for development.

regards.

You can see that windows support will be officially implemented after the 1.0 release. Check out the trello roadmap here: https://trello.com/card/official-windows-support/508721606e02bb9d570016ae/11

amanu commented Mar 22, 2013

You can see that windows support will be officially implemented after the 1.0 release.

Thank you. I saw that, but 1.0 looks like at least one year from now on :).

Contributor

awatson1978 commented Mar 22, 2013

Citation please? :)

What's the rational that the majority of developers and users are using Windows? Seems like a Mac/Linux development community to me. :)

amanu commented Mar 23, 2013

Citation please? :)

count the releases :).

What's the rational that the majority of developers and users are using Windows?

It's not a "rational" but a matter of fact (even if we don't like it).
If Meteor tries to "revolutionize" web development:
http://stackoverflow.com/questions/10374113/meteor-vs-derbyjs
than it can't ignore what 90% of companies use for development.

Contributor

TomWij commented Mar 24, 2013

but it's not stable enough :(

It's actually quite stable, the only current bug is that a small set of users experience a Meteor that doesn't start but since I don't have this myself I can't reproduce and debug this, maybe I should start a teamspeak session with one of them to resolve that.

The other thing may be that there are no separate versions 32 bit and 64 bit, but that's easy to achieve; just requires a rewrite of the packaging script.

Other than that, all tests pass successfully and there are no other known issues; otherwise, please file them.

What's the rational that the majority of developers and users are using Windows? Seems like a Mac/Linux development community to me. :)

For a single release version, back when the downloads were on GitHub, we had over 1000 downloads. On the Stack Overflow question regarding Meteor for Windows there are over 7000 views; so, the amount of users using Meteor for Windows should certainly not be neglected!

Other than that, the site is visited every few minutes according to the logs. Maybe the Meteor DG team has access to the full logs and can shed some more statistics... This makes me wonder, is there a statistics / analytics package I can run on that domain so we can get a better view?

aadrian commented Mar 25, 2013

but it's not stable enough :(

Fully agree with @TomWij : it's stable enough on itself.
The Meteor team should simply integrate once for all the windows fork so that it's "official".

IMHO this would have an important signal character: the entire ecosystem around meteor would need to be windows compatible too, and there would be no more excuses like: it's not official, we don't know the windows, etc.

For a single release version, back when the downloads were on GitHub, we had over 1000 downloads.

The numbers would be much much higher: most "corporate" users see that it's a *nix party only and give up quickly.

Contributor

sdarnell commented May 10, 2013

Quick note to mention that I have been updating a Windows port at: https://github.com/sdarnell/meteor/wiki/Windows

hansgru commented Aug 4, 2013

Any news on Windows support?
I still don't get it why is this a problem. Why does Meteor have platform dependent stuff, since itself is just Javascript?

Why can't be Meteor itself be packaged as a NPM module?

Contributor

sdarnell commented Aug 4, 2013

I can provide some information about the "Why does Meteor have platform dependent stuff, since itself is just Javascript?"
The majority of the differences are related to file handling. Even though Meteor is js running on node and node abstracts the platform, there are still some significant interactions that are platform dependent. The key ones that spring to mind are symlinks, Windows does have variations of symlinks but they behave differently.
Monitoring files, and removing directories needs Windows specific changes.
Managing the mongod process is another area that is platform specific.

The other significant aspect is dependence on tools. The build, release and initial install process use tools that are readily available on unix/mac platforms but not available (by default) on Windows.

hansgru commented Aug 4, 2013

@sdarnell thanks for your detailed answer.

The key ones that spring to mind are symlinks, Windows does have variations of symlinks but they behave differently.

Are they really needed in Meteor?

Managing the mongod process is another area that is platform specific.

Why manage it? Expect the user to have it installed and running, and just try to detect the connection params.

The other significant aspect is dependence on tools...

Since Node.js and NPM are already on the system, why not just use them? E.g. "Meteor-CLI" as a global NPM package, and "Meteor" as a local NPM package (the same way it's done with Grunt) ?. For "building" there's Grunt with it's many plug-ins for every possible job.

Contributor

sdarnell commented Aug 4, 2013

@hansgru here are some extra info - though it's mostly opinion.

Are they (symlinks) really needed in Meteor?

Not really, the main (but still small) benefit is probably links to packages. My Windows port doesn't use symlinks and there weren't many changes necessary. Part of it is that symlinks are so natural and easy on Unix that they get used much more.

Why manage it? (mongod)

At least in the development/debug environment, starting/restarting/stopping mongod is a real convenience.

Since Node.js and NPM are already on the system, why not just use them?

One could require Node and NPM to be pre-installed, but Meteor doesn't.
It installs a specific versions of Node, node fibers, and mongo db.

One could argue about these choices that the Meteor team have taken, and I suspect some alternatives such as using NPM as the delivery/dependence mechanism might have worked OK, but I doubt at this stage this is going to change, and I think the choices have turned out quite nicely. (FWIW I don't think it would have substantially eased the Windows situation either).

Owner

debergalis commented Sep 26, 2013

I'm thrilled we have the community options at http://win.meteor.com/ for now, but let there be no doubt that Windows is an important platform to officially support.

The bulk of the work in an official version is in the polish, not any fundamental technical problem. It's important that -- right out of the box -- Meteor on Windows is a no-compromise development experience, just as good as it is on the other supported platforms. That mostly means getting all the details in the package warehouse right, so that you can run meteor upgrade --release xxx and meteor run --release xxx, and it means shipping MongoDB and the other adjacent parts of the stack, as we do on OS X and Linux. (The ability to run multiple Meteor releases seamlessly is one of the reasons NPM isn't a good fit for us. There's more discussion on this in #516.)

We use the Trello board at http://roadmap.meteor.com/ to track major features. Since Windows support is listed there, I'm going to close this issue.

@debergalis debergalis closed this Sep 26, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment