Recently, we at teamaton decided to take a break from Camping.Info and discoverize to dive into something new. We wanted to breathe some fresh air, open our eyes and minds for a world outside of our day-to-day development stack of ASP.NET.
During the process we also wanted to check out some tools, frameworks, environments that we'd heard of or read about but hadn't found the time to really take a closer look at.
One of these was Meteor.
What's Meteor about
The elevator pitch on meteor.com reads like this:
Meteor is an open-source platform for building top-quality web apps in a fraction of the time, whether you're an expert developer or just getting started.
I really encourage you, dear Reader, to check out the Meteor site and take a look at what's waiting for you. I really liked what I found there: Pure JavaScript. Live page updates. Hot Code Pushes. Fully self-contained application bundles. And more. That's stuff, .NET developers aren't used to.
[Note: Before proceeding, please have a look at Meteor's Supported Platforms page just to make sure you're not missing out on anything new.]
This part took me about 2h to get right, so I took notes to save my colleagues or anyone else interested some precious time. I basically followed this comprehensive guide (and I encourage you to do the same) but made a few adjustments.
[A word of warning: Running my first out of the box sample failed and that's where I stopped.]
- Install Git and add C:\Program Files (x86)\Git\bin to your PATH variable
- Download and install VirtualBox > 4.3.12 from here: https://www.virtualbox.org/wiki/Downloads
- Download and install Vagrant >= 1.6.3 from here: http://www.vagrantup.com/downloads.html
- Install the ChefDK from here: http://downloads.getchef.com/chef-dk/windows/
- Now start a command line and run:
vagrant plugin install vagrant-berkshelf --plugin-version ">= 2.0.1"
vagrant plugin install vagrant-vbguest
vagrant plugin install vagrant-omnibus
- Create C:\vagrant and cd into it, then call:
git clone git://github.com/shoebappa/vagrant-meteor-windows.git meteor
- Edit C:\vagrant\meteor\Vagrantfile to use a new virtual machine image (the old one wouldn't work with Meteor's current version):
- In line 8, set: config.vm.box = "trusty64"
- In line 10, set: config.vm.box_url = "http://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box"
- In Iine 36, use a different name for your first app
- Go to C:\vagrant\meteor and initiate Vagrant (will take a while):
vagrant up
- Now start your app by:
cd C:\vagrant\meteor
vagrant ssh
cd /vagrant/mymeteorapp
mrt run
Running the app threw a NullReferenceException (or something alike) at me that was triggered from somewhere inside a javascript file – I don't remember exactly where. I tried fiddling around with it for another hour or so, especially when I read that Meteorite (mrt) is no longer needed with Meteor versions >= 0.9.0. But without success.
What to do now?
I shied away from it but you might just feel like setting up a dev environment on a Linux OS and simply running the few lines from the Meteor home page:
$ curl https://install.meteor.com/ | sh
It seems to simple to be true.
But wait! Official Windows support is coming to Meteor – sometime in the near or farther future. So please check if the future isn't already here!
What we did
We went to grab Angular.js and haven't looked back.
Happy coding!