Run BASIC


Run BASIC is a web application server, based on the Liberty BASIC version of the BASIC programming language.

Programming model

Run BASIC uses a desktop programming model. Web pages are not kept in individual files or dealt with as templates but are generated dynamically as determined by the programmer. It can be programmed in two styles. With procedural programming, applications are made using subroutines and functions. Application is state which is managed automatically and transparently. With object-oriented programming, applications can be componentized into objects with methods called on them. Any object can render itself into a web page as a way to have different parts of a web page managed in a modular way.
Run BASIC favors a widget-based approach where the user interface is programmed without using HyperText Markup Language. High-level commands automatically generate HTML. Colors, fonts, backgrounds and layout can be adjusted using Cascading Style Sheets. If needed, HTML or JavaScript can be injected into a page. Interactivity is similar to that of desktop applications, with callbacks tying user actions to program routines. Marshaling web requests and dispatching user actions to procedures is automatic.
Run BASIC can draw graphics and render them into web pages; fetch files from other web sites using GET and POST and use a built-in XML parser to extract data; and includes a database capability using the SQLite database engine.

Web server model

Run BASIC is not an add-on module like Perl or PHP is for Apache. The BASIC compiler and execution model is integrated tightly with its own HTTP server. If needed, it can be proxied behind another web server, such as Apache. Session management is transparent to programmers. When a web application starts, it is given a session. If it is then inactive long enough, the session times out and memory is reclaimed. Session logic need not be put in the code.

Supported platforms, licenses

Supported operating systems include Microsoft Windows 2000, XP, Vista, Mac OS X, and Linux. Supported web browsers include Internet Explorer 6 and 7, Mozilla Firefox 2 and 3, and Safari 3.x. Licenses include commercial and freeware.