NoobLab runs on any modern browser - Chrome, Firefox, Opera, Microsoft Edge, Android, iOS, Windows, OSX, Chromebooks - you name it! If it is an HTML5-capable browser, it will almost certainly support NoobLab. All of the supported languages run within the browser and require no plugins or additional software. It just works.
One other important factor is that all programming languages and environments available within NoobLab support fully-interactive exercises, where students can write programs that make use of user input. So, for example, you can set an activity where students write programs that do different things based on input from an end-user. This is possible because most supported platforms run student's code client-side, in the browser (with the exception of PHP/HTML, which is pushed to a server so as to provide as authentic an experience as possible).
It is worth comparing CodeAcademy's approach to languages such as Java with NoobLab's. Traditionally, the way in which one ran Java code within a web browser was to use a Java applet. However, applets have been deprecated by Oracle and most browser vendors, require a local installation of Java on the host computer and present a significant security risk. To avoid use of applets CodeAcademy runs students' Java code on the server and transmits the output to the browser.
However, this means that any CodeAcademy Java exercises cannot interact with the end user. The student runs their code, the program runs, and they see the result at the end of execution. Any Java exercises that involve user input and alternate program flows based on user input are thus impossible in CodeAcademy. CodeAcademy provides useful resources to teach the abstract concepts of Java, but is deficient once students graduate beyond concepts and start creating actual programs with functionality and that interact with end-users.
In contrast, in NoobLab, Java code runs client-side in the browser. This means that exercises can make use of both input and output. Students can be given programs to write that act on user input, where their code has to make decisions and act differently depending on what a user does. This is a key component in a novice student graduating from code fragments that illustrate conceptual understanding into being able to compose original, full applications.