Developer(s) | TARA Systems GmbH |
---|---|
Initial release | 2003 |
Stable release | V13 / November 29, 2023 |
Written in | C++ |
Operating system | Windows, Linux using Wine |
Available in | English |
License | Embedded Wizard - EULA |
Website | Embedded Wizard |
Embedded Wizard is a graphical user interface tool developed and distributed by TARA Systems GmbH for creating graphical user interface (GUI) applications mainly for embedded systems, including microcontroller and microprocessor units. It provides a WYSIWYG front-end for editing graphics, effects and logic of the user interface and generates source code for particular target hardware. Embedded Wizard is independent of a specific graphics hardware, color format or input mechanism. It supports object oriented programming and does not require a Real-time operating system/Operating system, allowing GUIs to run on bare metal. [1]
Embedded Wizard is mainly used to develop GUI applications for products in the area of industrial automation, consumer electronics, home appliances, medical industry, automotive industry and products equipped with a graphics display with or without a touch screen. The Free Edition of the tool is available on the Embedded Wizard website: https://www.embedded-wizard.de/download.
The first version of Embedded Wizard was released in 2003 by TARA Systems GmbH, an embedded software development company located in Munich, Germany. It was intended as a successor of previous GUI tools from TARA Systems GmbH, like M2-Builder. In contrast to former tools, Embedded Wizard enabled platform-independent development, introduced its own programming language Chora, and was designed to support object oriented programming and resource-constrained devices, such as microcontroller. Since the first version, the tool has been extended with new features like an integrated debugger, a memory footprint analysis of RAM and flash consumption or support for effects and animations with a 3D perception and vector graphics.
Embedded Wizard was designed and developed by Paul Banach and Manfred Schweyer.
Embedded Wizard consists of the Embedded Wizard Studio, a WYSIWYG IDE for creating and prototyping the user interface application, and a hardware abstraction layer, called Platform Packages, which are available for various embedded chipsets, operating systems and color formats.
Each platform package contains a dedicated code generator and resource converter for bitmaps and TrueType fonts, which are adapted to a specific chipset, and - if available - operating system.
Another platform package can be licensed, which generates JavaScript/WebGL source code instead of ANSI C. [2]
Following the approach of object-oriented programming, each Embedded Wizard project consists of classes which implement a certain part of the design and/or functionality. The class library of Embedded Wizard, called Mosaic, is part of every project and provides the basic functionality for visual objects, focus handling, layouting, event handling and more.
To create a graphical user interface, Embedded Wizard provides basic functions like rectangles, gradients, lines, (multiline) text boxes, import of bitmaps and TrueType fonts, but also GUI widgets like menus, scrollbars, buttons, and sliders. [3] Besides the visual objects, developers can create methods, properties, variables, and enums to implement a certain behavior, using Embedded Wizard's own programming language Chora. [4] Embedded Wizard follows the approach of visual programming. All logical elements, like methods, properties or variables are represented in the IDE as visual bricks. This enables developers, for example, to assign a variable as a parameter for a method by drag-and-drop.
The members of the class library can be flexibly extended by developers according to their needs. The available Knowledge Base [5] accompanied by video tutorials and open community forum Ask Embedded Wizard [6] help the developer to get familiar with the technology.
Embedded Wizard supports rapid prototyping and testing of the user interface. A debugger for the Chora code is integrated as well. During code generation, the Chora code is transformed into ANSI C code or JavaScript for a specific chipset, using the appropriate Platform Package. The generated C code needs to be compiled and linked with the runtime environment (RTE) and graphics engine (GE) of the platform package. [7]
The Embedded Wizard Studio is distributed by TARA Systems GmbH or its distributors as a per-developer license. The license consists of two parts: The Embedded Wizard Studio (i.e. the IDE), to develop graphical user interfaces (GUIs) on your Windows PC, and the Embedded Wizard Platform Package, which acts as an abstraction layer to the used embedded system, graphical subsystem and (RT)OS (if any). [8]
Platform Packages are available for more than 70 various chipsets (as of 2024). [9] Embedded Wizard is a selected solution by many semiconductor manufacturers for their chipsets. A complete list of all supported chipsets and operating systems can be found on http://www.embedded-wizard.de/platforms
An integrated development environment (IDE) is a software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, and a debugger. Some IDEs, such as IntelliJ IDEA, Eclipse and Lazarus contain the necessary compiler, interpreter or both; others, such as SharpDevelop and NetBeans, do not.
GNUstep is a free software implementation of the Cocoa Objective-C frameworks, widget toolkit, and application development tools for Unix-like operating systems and Microsoft Windows. It is part of the GNU Project.
Windows CE, later known as Windows Embedded CE and Windows Embedded Compact, is a discontinued operating system developed by Microsoft for mobile and embedded devices. It was part of the Windows Embedded family and served as the software foundation of several products including the Handheld PC, Pocket PC, Auto PC, Windows Mobile, Windows Phone 7 and others.
wxWidgets is a widget toolkit and tools library for creating graphical user interfaces (GUIs) for cross-platform applications. wxWidgets enables a program's GUI code to compile and run on several computer platforms with no significant code changes. A wide choice of compilers and other tools to use with wxWidgets facilitates development of sophisticated applications. wxWidgets supports a comprehensive range of popular operating systems and graphical libraries, both proprietary and free.
The Standard Widget Toolkit (SWT) is a graphical widget toolkit for use with the Java platform. It was originally developed by Stephen Northover at IBM and is now maintained by the Eclipse Foundation in tandem with the Eclipse IDE. It is an alternative to the Abstract Window Toolkit (AWT) and Swing Java graphical user interface (GUI) toolkits provided by Sun Microsystems as part of the Java Platform, Standard Edition (J2SE).
In computing, a visual programming language, also known as diagrammatic programming, graphical programming or block coding, is a programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of syntax or secondary notation. For example, many VPLs are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations. VPLs are generally the basis of low-code development platforms.
A graphical user interface builder, also known as GUI designer or sometimes RAD IDE, is a software development tool that simplifies the creation of GUIs by allowing the designer to arrange graphical control elements using a drag-and-drop WYSIWYG editor. Without a GUI builder, a GUI must be built by manually specifying each widget's parameters in the source code, with no visual feedback until the program is run. Such tools are usually called the term RAD IDE.
A user interface markup language is a markup language that renders and describes graphical user interfaces and controls. Many of these markup languages are dialects of XML and are dependent upon a pre-existing scripting language engine, usually a JavaScript engine, for rendering of controls and extra scriptability.
Lazarus is a cross-platform, integrated development environment (IDE) for rapid application development (RAD) using the Free Pascal compiler. Its goal is to provide an easy-to-use development environment for developing with the Object Pascal language, which is as close as possible to Delphi. It is free and open-source software with different parts released under different software licenses.
A PIGUI package is a software library that a programmer uses to produce GUI code for multiple computer platforms. The package presents subroutines and/or objects which are independent of the GUIs that the programmer is targeting. For software to qualify as PIGUI it must support several GUIs under at least two different operating systems. The package does not necessarily provide any additional portability features. Native look and feel is a desirable feature, but is not essential for PIGUIs.
Visual Basic (VB) before .NET, sometimes referred to as Classic Visual Basic, is a third-generation programming language, based on BASIC, and an integrated development environment (IDE), from Microsoft for Windows known for supporting rapid application development (RAD) of graphical user interface (GUI) applications, event-driven programming and both consumption and development of components via the Component Object Model (COM) technology.
Apple Dylan is the original implementation of the programming language Dylan. It was developed by Apple Computer from 1992 to 1995.
Adobe AIR is a cross-platform runtime system currently developed by Harman International, in collaboration with Adobe Inc., for building desktop applications and mobile applications, programmed using Adobe Animate, ActionScript, and optionally Apache Flex. It was originally released in 2008. The runtime supports installable applications on Windows, macOS, and mobile operating systems, including Android, iOS, and BlackBerry Tablet OS.
The Softwell Maker is an environment development. Designer uses visual forms and reports (WYSIWYG), business rules, and visually representing other actions using flowcharts.
Qt Creator is a cross-platform C++, JavaScript, Python and QML integrated development environment (IDE) which simplifies GUI application development. It is part of the SDK for the Qt GUI application development framework and uses the Qt API, which encapsulates host OS GUI function calls. It includes a visual debugger and an integrated WYSIWYG GUI layout and forms designer. The editor has features such as syntax highlighting and autocompletion. Qt Creator uses the C++ compiler from the GNU Compiler Collection on Linux. On Windows it can use MinGW or MSVC with the default install and can also use Microsoft Console Debugger when compiled from source code. Clang is also supported.
Hollywood is a commercially distributed programming language developed by Andreas Falkenhahn which mainly focuses on the creation of multimedia-oriented applications. Hollywood is available for AmigaOS, MorphOS, WarpOS, AROS, Windows, macOS, Linux, Android, and iOS. Hollywood has an inbuilt cross compiler that can automatically save executables for all platforms supported by the software. The generated executables are completely stand-alone and do not have any external dependencies, so they can also be started from a USB flash drive. An optional add-on also allows users to compile projects into APK files.
Fyne is a free and open-source cross-platform widget toolkit for creating graphical user interfaces (GUIs) across desktop and mobile platforms. It is designed to enable developers to build applications that run on multiple desktop and mobile platforms/versions from a single code base. Fyne uses OpenGL to provide cross-platform graphics. It is inspired by the principles of Material Design to create applications that look and behave consistently across all platforms. It is licensed under the terms of the 3-clause BSD License, supporting the creation of free and proprietary applications. In December 2019 Fyne became the most popular GUI toolkit for Go, by GitHub star count and in early February 2020 it was trending as #1 project in GitHub trending ranks.