One of the most challenging things to me as a web developer is having to remember that not every user uses Google Chrome browser and that you have to make sure your app supports all the different browsers. The toughest to support is, of course, Internet Explorer.
As you may already know, Internet Explorer was/is developed by Microsoft using proprietary code, so any fixes or updates to it has had to come from Microsoft, and because of this, it hasn’t seen as much growth as browsers such as Google Chrome or Mozilla Firefox, which tend to be much faster. Both are also open source so grew much quicker. That said, although Internet Explorer 11 is the only version still supported by Microsoft, support for all the others was dropped Jan. 12, 2016. There are still many reasons why many people continue to use them, so we must do our best to support them as developers.
IE and Ember
Although Ember dropped support for IE 8 in 2015, it has continued to support IE 9, 10 and 11, as we have here at Wombat. In developing the new user management app, we’ve had to make sure every part of the app works flawlessly with all the major browsers our users use. Ember will be dropping support for IE 9 and 10 though in the next year as Ember 3.0 launches. Here is an RFC that explains a bit about the reasoning behind it, but basically the cost to support these browsers far exceed the benefits and the Ember ecosystem, including addons, are shackled to the limitations of these legacy browsers.
Virtual machine setup
We aren’t in the future just yet so we have to still debug and develop Ember apps that support these browsers and to do it, you need a few things.
I’m sure there are a bunch of different tools you can use, but I’ll tell you the things I use, which are also free. I’m also a Mac user, but I think the same would apply to Windows or Linux machines.
The first thing you need is some type of application to be able to create and run virtual machines. I use VirtualBox.
Then you need to have an image for a virtual machine, which Microsoft allows you to download for free. These are essentially a fully-contained Windows install with the browser you intend to use, which expire after 90 days.
Once you have these, you can boot up VirtualBox and load up the VM image. It’s really easy, you just create a new VM and follow the instructions provided to load up the downloaded image, then you’re up and running with a VM with a browser you want to test on.
Running Ember apps in IE
If you’re looking to test an app that is deployed in some type of production or staging environment, it’s really simple to just run the VM and go to the IE browser on the VM and hit your app. If you want to test a local version while developing, it’s a little more tricky but fairly simple.
All you need to do is make sure you are running the app locally on your host machine, for me, it’s my Mac. This is just simply running
ember s. With the app running on the host machine, to be able to run it inside the VM, you basically need to point your IE browser in the VM to
yourIpAddress:4200 or something like
192.168.0.x:4200. If you don’t know your IP address, it’s really simple to find out, on a Mac, it’s just
System Preferences > Network and it will be displayed there, usually something like
From here on out, the rest is the same as with any other browser but you may notice it doesn’t have as many tools as Chrome or Firefox, so you have to make due with whatever dev tools IE provides. I noticed that debuggers don’t tend to work like in other browsers and neither does the network tab.
Frameworks other than Ember
I don’t typically work outside of Ember at the moment, but I have used the same approach for some other web frameworks in the past, specifically Ruby on Rails. For Rails, I had to run the app with the following command
rails s -p 0.0.0.0 and then I could use the same approach in my virtual machine or even other computer also on the wireless network by visiting
192.168.0.x:3000 in a browser.