The best web framework for human-driven websites.
- Blazingly fast speeds 🚀🚀🚀. Fortran.JS is compiled to machine code and executed on demand.
- Simplicity 🪑 Web frameworks have become too bloated and slow, Fortran.JS breathes a sigh of relief to overworked developers looking for yet another new framework.
- Security by obscurity 🔒 Hackers and bad actors don't even know fortran, so how are they going to cause data breaches?
- Complete integration with fortran, allowing dynamic text or code to be executed
- React like components utilizing fortran-modules
The custom web server is written in Node.JS, and has custom developer tools, such as:
- A dev server with automatic building and reloading on changes 🚀🚀🚀
- A smart compiler that handles everything for you, like compiling multiple files, compiler options, and building with components. 🚀🚀🚀
- Support for external files in a /public/ directory 🚀🚀🚀
- Supports 404 pages
- Executes the compiled executables and returns the HTML output when their url is requested.
! webapp.f90
program home
implicit none
character(len=*), parameter :: Head = '<!doctype html>' //&
'<html lang="en">' //&
'<body>'
print '(a)', Head
character(len=*), parameter :: some_dynamic_text = 'Hello, from Fortran!'
print '(a)', '<h1>', some_dynamic_text, '</h1>'
print '(a)', '</body></html>'
end program home
The repository comes with, by default, an advanced demo featuring components and dynamic text in action.
- linux computer (no spawn-fcgi on windows)
- spawn-fcgi (build from source or install from package manager)
- nodejs and npm
- the fortran language
- Don't
- Install spawn-fcgi, nodejs and fortran for your system
- Use "npm run dev" to run a development server that'll auto rebuild
- Use "npm run build" to build the server
- Use "npm run start" to run the server.
I made this as a joke a year or two ago. I am still ashamed.
[1] Observation of Einstein-Podolsky-Rosen Entanglement on Supraquantum Structures by Induction Through Nonlinear Transuranic Crystal of Extremely Long Wavelength (ELW) Pulse from Mode-Locked Source Array (Freeman, Gordon 1992)