Bringing Fortran Development to Your Browser
Posted on 2022-09-08
Simply Fortran originally started as a single-platform solution, providing a compiler and development environment for Microsoft Windows. The original purpose of selecting this platform was entirely because the solutions available were either far too costly or extremely complicated to configure. As Simply Fortran matured, we expanded our offering to GNU/Linux platforms and, later, macOS systems. We have always tried to make Fortran development simple and accessible on the most popular, traditional computing platforms, and we'll continue to iterate and improve Simply Fortran with no end in sight.
Focusing on these traditional desktops, however, leaves a great many users without access to a Fortran compiler. Many people rely on iPads, Android tablets, and Chromebooks as their primary computing devices, and Simply Fortran's desktop product (and just about every other Fortran solution, honestly) is not an option for these users. These platforms introduce a number of additional challenges due to the secure nature of these devices. Hosting compilers is problematic, if not impossible in the case of iOS devices, and the multitude of operating systems makes maintaining a native development environment extremely difficult.
** Introducing WebFortran **
WebFortran is our new solution to developing and running Fortran source code on any device. Any modern web browser can be used as a Fortran editor and execution platform using this new service. This initial release has some ways to go to match the power of Simply Fortran, but it can already be used to author, compile, and execute non-trivial Fortran projects directly in the web browser.
With our solution, Fortran source code is sent to our servers to be compiled. Next, the resulting executable is downloaded to the user's machine. Finally, the executable is run within a virtual machine within the browser, and output can be captured and stored into the WebFortran editor's project space. Users can transfer files in and out of the browser whenever necessary to export Fortran excutable output, import new Fortran inputs, or save source code as work progresses.
We plan on introducing new features at a rapid clip, but the product is already quite usable. The virtual machine, based on DOSBox, is somewhat slow, but it does allow for arbitrary code to be executed in a realistic environment within the user's web browser. We still need to wire up additional compiler settings, add support for LAPACK and BLAS, and, possibly, provide a public API so that our service can be used with other editors or environments.
We currently offer a free trial for 5 days with no strings attached, and we'd encourage everyone to try it out! As always, we value any feedback people can provide.