GLBasic

Last updated
GLBasic
Developer(s) Dream Design Entertainment Software
Stable release
15.004 / August 4, 2017;6 years ago (2017-08-04)
Preview release
15.238
Operating system Windows
Platform Windows, Intel/PowerPC Mac, Linux (and Xbox Linux), OS-X, Pocket PC, GP32, GP2X/GP2X Wiz, iPhone, iPad, Palm Pre/Pixi, HP WebOS devices (HP TouchPad, Pre2/3, Veer), Open Pandora, Palm Pre 2/Tablet, Android
Type Compiler
License 2D Free version for Windows, Mac and Linux (can also be used to compile time-limited versions for other supported platforms), Commercial version, Free School Version
Website www.glbasic.com

GLBasic is a commercial BASIC programming language that can compile to various platforms including Windows, Linux, Mac OS X, and some handheld devices. The language is designed to be simple and intuitive.

Contents

Overview

GLBasic started as an interpreted language with 2D commands (GL stands for Graphics Language). It now uses the GCC compiler for many different platforms to achieve fast, native code results. The GLBasic precompiler "GPC" converts the simple BASIC language into C++ code and compiles it later. Thus, the user can extend GLBasic using the INLINE command to mix C/C++ code directly with GLBasic source code. Due to this, GLBasic can easily access third-party dynamic libraries on all platforms. The GLBasic SDK comes with an IDE, debugger, and a graphics engine built on OpenGL (or OpenGL ES) for the platforms Windows, Linux, Mac OS X, iOS, and WebOS. For handheld devices (Windows Mobile, GP2X, and GP2X Wiz), GLBasic uses its own close-to-hardware routines for fast graphics.

To compile for the iPhone or iPad, you will need an iMac (on which to compile the generated code - to comply with Apple's requirements) and the latest version of Xcode, which is a free download from the Apple website.

To be able to actually run the program on an iPhone or iPad (GLBasic programs will not work on the emulator), you need to be a member of the iPhone Apple Developer Connection.

Since the release of the 8.054 beta, it became possible to compile for the Open Pandora machine as well. However, with the lack of Windows programming tools half of the compiling process is performed on Windows, and the other half on the actual machine. Since version 10, the IDE directly builds packages on Windows for the Pandora.

Version 8.230 and above can compile for the Web-OS devices like the Palm Pre without additional hardware or developer program membership requirements. Support for the HP TouchPad was added in September 2011 via a web-update.

Version 10.057 added support to build application packages running on Android devices.

GLBasic comes with numerous examples.

Online publication

Apps created with GLBasic can be uploaded to the Apple App Store, Google Play, and HP's App Catalog; all of which require a developer account. Costs to the developer and pre-publication review level depend on the publisher used.

For Apple iOS the iOS Developer Program costs US$99 per year. All apps published on the app store are required to undergo a two-week, review-and-approval process prior to publication.

For Android there is a one-time fee of US$25. Apps published via Google Play Store are not subject to an approval process and are immediately available to the public.

Publishing via HP's App Catalog requires a free account. Apps placed for sale through HP's App Catalog undergo a five-day review process before publication.

A wrapper for the Intel AppUp Centre SDK is also available for GLBasic.

Features

GLBasic has the following features:

General

3D features

2D features

Network features

Compiler

IDE

GUI system

GLBasic comes with the source code to DDgui, an easy-to-use GUI system, allowing all supported platforms to have the same look and feel across all platforms.

For Windows, Linux and Mac GLBasic has ported a Tcl/Tk wrapper that offers a native OS look.

Versions

GLBasic has gone through the following revisions:

Sample code

Hello World

// this is a comment // Print "Hello World" to the screen position 0,0 (top, left) PRINT "Hello World", 0,0 // swap backbuffer and visible screen, prepare backbuffer for next rendering SHOWSCREEN // wait for a key to be pressed KEYWAIT

Limited object-oriented scope

With Version 8, GLBasic added basic object-oriented commands to the TYPE command. This allows structures to access itself (using the 'self' command) and to have functions within TYPEs

Simple OOP test

 TYPE Tvec   x;y;z   FUNCTION null:    self.x = 0; self.y=0;   ENDFUNCTION
  FUNCTION add: v AS Tvec    INC self.x, v.x    INC self.y, v.y    INC self.z, v.z   END FUNCTION  END TYPE
 LOCAL vec AS Tvec, vec2 AS Tvec
 vec.null()  vec.x=50  vec2.x = 100  vec.add(vec2)

Version 8 can encrypt and decrypt strings using 128-bit Blowfish.

The future

Due to the author having problems with ARM64 iOS compilers, various other problems, and insufficient time to update the software, the source code (and the forum post about it) was made to those forum members who had a post count of at least 100. The download weighs in at around 2.5 GB compressed.

See also

Related Research Articles

Cocoa is Apple's native object-oriented application programming interface (API) for its desktop operating system macOS.

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

A computing platform, digital platform, or software platform is an environment in which software is executed. It may be the hardware or the operating system (OS), a web browser and associated application programming interfaces, or other underlying software, as long as the program code is executed. Computing platforms have different abstraction levels, including a computer architecture, an OS, or runtime libraries. A computing platform is the stage on which computer programs can run.

<span class="mw-page-title-main">Xcode</span> IDE including tools for developing software for Apple platforms

Xcode is Apple's integrated development environment (IDE) for macOS, used to develop software for macOS, iOS, iPadOS, watchOS, tvOS, and visionOS. It was initially released in late 2003; the latest stable release is version 15, released on September 18, 2023, and is available free of charge via the Mac App Store and the Apple Developer website. Registered developers can also download preview releases and prior versions of the suite through the Apple Developer website. Xcode includes command-line tools which enable UNIX-style development via the Terminal app in macOS. They can also be downloaded and installed without the GUI.

In software engineering, a compatibility layer is an interface that allows binaries for a legacy or foreign system to run on a host system. This translates system calls for the foreign system into native system calls for the host system. With some libraries for the foreign system, this will often be sufficient to run foreign binaries on the host system. A hardware compatibility layer consists of tools that allow hardware emulation.

Object Pascal is an extension to the programming language Pascal that provides object-oriented programming (OOP) features such as classes and methods.

<span class="mw-page-title-main">Free Pascal</span> Free compiler and IDE for Pascal and ObjectPascal

Free Pascal Compiler (FPC) is a compiler for the closely related programming-language dialects Pascal and Object Pascal. It is free software released under the GNU General Public License, with exception clauses that allow static linking against its runtime libraries and packages for any purpose in combination with any other software license.

<span class="mw-page-title-main">Pages (word processor)</span> Word processor developed by Apple Inc.

Pages is a word processor developed by Apple Inc. It is part of the iWork productivity suite and runs on the macOS, iPadOS and iOS operating systems. It is also available on iCloud on the web. The first version of Pages was released in February 2005. Pages is marketed by Apple as an easy-to-use application that allows users to quickly create documents on their devices. A number of Apple-designed templates comprising different themes are included with Pages.

Basic4GL is an interpreted, open source version of the BASIC programming language which features support for 3D computer graphics using OpenGL. While being interpreted, it is also able to compile programs on top of the virtual machine to produce standalone executable programs.

<span class="mw-page-title-main">FutureBASIC</span>

FutureBasic is a free BASIC compiler for Apple Inc.'s Macintosh.

Game Editor is a 2D game authoring package. It supports multi-platform development to iPhone, iPad, Mac OS X, Windows, Android, Linux, Windows Mobile-based Smartphones, GP2X, Pocket PCs, and Handheld PCs. Compatibility with these platforms is mentioned on Game Discovery, a popular site for game developers, among other software like The 3D Gamemaker, DarkBASIC, and GameMaker.

NS Basic is a family of development tools developed and commercially marketed by NSB Corporation in Toronto, Ontario, Canada for iOS, Android, Microsoft Windows, MacOS, Linux, BlackBerry OS, WebOS, Newton OS, Palm OS, Windows CE and Windows Mobile.

Basic4ppc is a programming language originally for Pocket PC handheld computers running Windows Mobile operating system, by Anywhere Software. Since 2014, B4x was renamed, and currently, 2023, supports multiple devices and their OS, including desktop and mobile solutions with development adaptions for these environments. The language is based on a BASIC-like syntax, taking advantage of Microsoft's .NET technology, to allow additional libraries, graphical user interface design of windows forms, rapid application development (RAD), and .NET framework compatible compilation. The language implements a unique way of adding objects to a program without being object-oriented. Its advantages are simplicity, development pace and the integration with .NET framework. A special version of the integrated development environment (IDE) allows developing straight onto the Windows Mobile device or. With the demise of Windows Mobile operating system and the devices running it Basic4PPC came to the end of its life in about 2012. For owners of Basic4PPC it remains a useful Windows-desktop BASIC compiler as it runs code directly in the Windows environment and it can compile a project to a Windows 'exe' file for use as a Windows program.

<span class="mw-page-title-main">AirPrint</span> Feature by Apple

AirPrint is a feature in Apple Inc.'s macOS and iOS operating systems for printing without installing printer-specific drivers.

<span class="mw-page-title-main">Mono (software)</span> Computer software project

Mono is a free and open-source .NET Framework-compatible software framework. Originally by Ximian, it was later acquired by Novell, and is now being led by Xamarin, a subsidiary of Microsoft and the .NET Foundation. Mono can be run on many software systems.

<span class="mw-page-title-main">Xojo</span> Programming environment and programming language

The Xojo programming environment and programming language is developed and commercially marketed by Xojo, Inc. of Austin, Texas for software development targeting macOS, Microsoft Windows, Linux, iOS, Android, the Web and Raspberry Pi. Xojo uses a proprietary object-oriented language.

Swift is a high-level general-purpose, multi-paradigm, compiled programming language developed by Apple Inc. and the open-source community. Swift compiles to machine code, as it is an LLVM-based compiler. Swift was first released in June 2014, and the Swift toolchain has shipped in Xcode since version 6, released in 2014.

Comparison of user features of operating systems refers to a comparison of the general user features of major operating systems in a narrative format. It does not encompass a full exhaustive comparison or description of all technical details of all operating systems. It is a comparison of basic roles and the most prominent features. It also includes the most important features of the operating system's origins, historical development, and role.

References