How does WebFortran work?

WebFortran provides, at this time, a web-based coding environment, a server-based compiler, and a browser-based runtime environment. A user can select an existing Fortran source file or start working with a new Fortran source file on their system. This Fortran source code is imported into the browser's "local storage," meaning it still only exists locally.

Once the user is ready to compile their source code, they can click the "Build" button Build button example. The editor will then upload the user's code to our hosted, modern Fortran compiler and report back any warnings or errors.

If the build step is successful, the user can finally click the "Run" button Run button example, which will download the executable and run it within a virtual machine in the user's browser.

Is my code stored on WebFortran servers?

No, your Fortran source code, inputs, and outputs are stored entirely in your browser. If, for example, you were to log in to WebFortran on a different computer, none of your source code would be available. You would need to load it into WebFortran on the other machine as well.

Our compiler, however, is hosted on our servers. Your code will be uploaded to compile it, but it is deleted as soon as compilation is complete. The results of compiling your code are only accessible by you, and it is deleted as soon as another build is performed or you log out.

When I download a Windows Executable, why am I seeing a warning when I run it?

Windows provides some simple security features to stop arbitrary executables from running on your computer. When you download a Windows executable created with WebFortran (using the Build Windows Executable Build Native button), you are downloading an executable that was compiled on a server, and the resulting file is unsigned and unverified. Windows is attempting to stop you from running it to avoid damage to your system.

You can run it anyway when you see the Windows warning by click More Info followed by Run anyway. Approximatrix runs a secure server using tested compiler components, but we make no guarantees about the suitability of the executable. The code compiled into this executable, at the very least, is written by the user; please make sure not to write any code that could damage your own system.

Is WebFortran fast?

If you're asking about productivity, then, yes, WebFortran is quite fast. Users can get started developing and compiling Fortran code almost immediately after creating an account. There is no additional software required, and we've already taken care of the difficult parts of configuring a compiler.

If you're asking if your compiled Fortran code will run fast, then, no, WebFortran is somewhat slow. Fortran compiled by WebFortran is run exclusively in your browser (at this time...) within a virtual machine. On modern hardware, users should expect WebFortran to execute code at approximately the speed of a fast Intel 486 to slow Intel Pentium system. However, for a number of Fortran projects or even just learning the language, that speed may be sufficient.


What compiler is used by WebFortran?

WebFortran currently employs the GNU Fortran compiler version 12.1.0. The hosted compiler will produce binaries for MS-DOS, so some Fortran features, most notably OpenMP, asynchronous input/output, and multiple image coarrays, will not be present. If you have a serial Fortran program, though, almost every feature should be available.

We are currently exploring adding support for LAPACK and BLAS as well.

What are the details of the browser-based virtual machine?

When you run your compiled Fortran program, it is run within the confines of a Javascript-based MS-DOS emulator on your local machine. You should not expect high performance from this virtual machine even though we've configured it to run as fast as possible.

The virtual machine does introduce some interesting limitations. The most notable restriction is almost certainly the available memory, which is limited to approximately 64 megabytes. While this limitation might seem low, it may be sufficient for many Fortran programs.

Once your program has completed its run, WebFortran will import any changed files back into the WebFortran editing environment. Output can then be saved to your local machine or viewed directly in WebFortran.


What do you do with my personal information?

Nothing. Approximatrix adheres to a strict privacy policy. We do not share your information with any other parties, and we do not use your email address for marketing purposes, even internally. Your information is only used for managing your account.

What are the restrictions on a trial account?

Trial accounts work exactly the same as a full subscription except that the account will expire in a short time period. All features are available as a trial account so that users may evaluate WebFortran under realistic circumstances.