ZeroBrane Studio

Last updated
ZeroBrane Studio
Original author(s) Paul Kulchenko
Initial releaseJanuary 18, 2012;11 years ago (2012-01-18)
Stable release
2.01 / September 26, 2023;2 months ago (2023-09-26)
Repository github.com/pkulchenko/ZeroBraneStudio
Written in Lua (using the wxWidgets toolkit)
Operating system Cross-Platform
Type IDE
License MIT License
Website studio.zerobrane.com

ZeroBrane Studio is a lightweight open-source Lua IDE with code completion, syntax highlighting, code analyzer, live coding, and debugging support for Lua 5.1, Lua 5.2, Lua 5.3, Lua 5.4, LuaJIT, and other Lua engines. ZeroBrane Studio is a cross-platform application written in Lua that runs on Windows (Windows XP+), Linux, and macOS (10.9+) operating systems. It uses the wxWidgets toolkit and the Scintilla component for file editing.

Contents

History

ZeroBrane Studio was created by Paul Kulchenko in September 2011 as a way to allow inexperienced users to run and debug Lua applications, [1] initially targeting Lua applications running on mobile devices. It was based on open-source Estrela Editor [2] for Luxinia, an open-source 3D graphics engine. Estrela Editor was developed starting from August 2008 based on one of the sample applications included with wxLua wrapper [3] around wxWidgets.

The first public version of ZeroBrane Studio was released in January 2012. [4] During the first year of the project, the development of Estrela and ZeroBrane Studio continued in parallel and in October 2012 Estrela Editor project was fully merged into ZeroBrane Studio project. [2]

Features

Interpreter integration

ZeroBrane Studio provides integration and debugging support for Lua 5.1, Lua 5.2, Lua 5.3, Lua 5.4, and LuaJIT interpreters integrated into various products: CoronaSDK, Cocos2d, Moai SDK, LÖVE, Gideros, Redis, Torch, Adobe Lightroom, Nginx Lua scripts and more. [8]

There are several books [9] [10] [11] [12] and tutorials [13] [14] [15] [16] [17] that cover using ZeroBrane Studio with various game and mobile toolkits. It has also been used in teaching undergraduate and graduate class on mobile application development. [18]

Debugging

ZeroBrane Studio provides local, remote and cross-platform debugging for applications executing Lua code. The debugger supports the following functions: step through the code, set/remove breakpoints, inspect variables and expressions using the Watch window, inspect the call stack with local values and upvalues (local values defined in the outer scope of the current function) using the Stack window, suspend/resume the running application, and run Lua commands in the Console window.

The IDE also supports on-device debugging for Corona SDK [19] and Gideros Mobile [15] software development kits, with the application running on a mobile device and the IDE running on a desktop computer.

Live coding

In addition to debugging Lua applications, ZeroBrane Studio also supports live coding, which allows making changes to the application code while the application is running and seeing the results of the changes in the application. The live coding is supported for Lua interpreters and several other environments. [20] [21]

Plugins

ZeroBrane Studio includes support for plugins written in Lua. [22] The open source plugin repository [23] currently lists 45 plugins that range from simple plugins that customize the environment to more complex ones that provide real-time watches, [24] document map, or split screen editing. [25]

Integrated educational materials

Packaged versions of ZeroBrane Studio distributed from the project website [26] include educational materials for Lua with more than 50 simple scripts and examples, demonstrating use of Lua with Turtle graphics and Spirograph scripts. [27] ZeroBrane Studio supports Markdown formatting in comments, which supports text formatting and references to other Lua files and external resources. It supports execution of Lua commands directly in the IDE, providing integration with included educational materials.

Interface translations

ZeroBrane Studio supports interface translation [28] into different languages by providing a Lua file containing all text that should be translated. As of 2020, the user community has contributed translations to eleven languages. [29] [30]

See also

Free and open-source software logo (2009).svg  Free softwareportal

Related Research Articles

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, NetBeans do not.

<span class="mw-page-title-main">KDevelop</span> Integrated development environment

KDevelop is a free and open-source integrated development environment (IDE) for Unix-like computer operating systems and Windows. It provides editing, navigation and debugging features for several programming languages, and integration with build automation and version-control systems, using a plugin-based architecture.

C++Builder is a rapid application development (RAD) environment for developing software in the C++ programming language. Originally developed by Borland, as of 2009 it is owned by Embarcadero Technologies, a subsidiary of Idera. C++Builder can compile apps for Windows, iOS, macOS, and Android. It includes tools that allow drag-and-drop visual development, making programming easier by incorporating a WYSIWYG graphical user interface builder.

<span class="mw-page-title-main">Microsoft Visual Studio Express</span> Integrated development environment

Microsoft Visual Studio Express is a set of integrated development environments (IDEs) that Microsoft developed and released free of charge. They are function-limited version of the non-free Visual Studio and require mandatory registration. Express editions started with Visual Studio 2005.

Zend Studio is a commercial, proprietary integrated development environment (IDE) for PHP developed by Zend Technologies, based on the PHP Development Tools (PDT) plugin for the Eclipse platform.

<span class="mw-page-title-main">Code::Blocks</span> Free and open source, cross-platform IDE

Code::Blocks is a free, open-source cross-platform IDE that supports multiple compilers including GCC, Clang and Visual C++. It is developed in C++ using wxWidgets as the GUI toolkit. Using a plugin architecture, its capabilities and features are defined by the provided plugins. Currently, Code::Blocks is oriented towards C, C++, and Fortran. It has a custom build system and optional Make support.

<span class="mw-page-title-main">Aptana</span> Text editor

Aptana, Inc. is a company that makes web application development tools for use with a variety of programming languages. Aptana's main products include Aptana Studio, Aptana Cloud and Aptana Jaxer.

The following tables list notable software packages that are nominal IDEs; standalone tools such as source-code editors and GUI builders are not included. These IDEs are listed in alphabetic order of the supported language.

<span class="mw-page-title-main">Adobe AIR</span> Cross-platform runtime system for building rich web applications

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.

Web2py is an open-source web application framework written in the Python programming language. Web2py allows web developers to program dynamic web content using Python. Web2py is designed to help reduce tedious web development tasks, such as developing web forms from scratch, although a web developer may build a form from scratch if required.

<span class="mw-page-title-main">CodeLite</span> Integrated development environment

CodeLite is a free and open-source IDE for the C, C++, PHP, and JavaScript (Node.js) programming languages.

The Android SDK is a software development kit that includes a comprehensive set of development tools. These include a debugger, libraries, a handset emulator based on QEMU, documentation, sample code, and tutorials. Currently supported development platforms include computers running Linux, Mac OS X 10.5.8 or later, and Windows 7 or later. As of March 2015, the SDK is not available on Android itself, but software development is possible by using specialized Android applications.

<span class="mw-page-title-main">Qt Creator</span> QT development environment

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.


The Wing Python IDE family of integrated development environments (IDEs) from Wingware was created specifically for the Python programming language, with support for editing, testing, debugging, inspecting/browsing, and error checking Python code.

Dart is a programming language designed by Lars Bak and Kasper Lund and developed by Google. It can be used to develop web and mobile apps as well as server and desktop applications.

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

Nodeclipse is a set of third-party developer solutions for Eclipse for programming in JavaScript, CoffeeScript with focus on Node.js.

Codename One is an open-source cross-platform framework aiming to provide write once, run anywhere code for various mobile and desktop operating systems. It was created by the co-founders of the Lightweight User Interface Toolkit (LWUIT) project, Chen Fishbein and Shai Almog, and was first announced on January 13, 2012. It was described at the time by the authors as "a cross-device platform that allows you to write your code once in Java and have it work on all devices specifically: iPhone/iPad, Android, Blackberry, Windows Phone 7 and 8, J2ME devices, Windows Desktop, Mac OS, and Web. The biggest goals for the project are ease of use/RAD, deep integration with the native platform and speed."

References

  1. Drawing trees with turtles
  2. 1 2 Estrela Editor project page
  3. wxLua project page
  4. ZeroBrane Studio changelog
  5. ZeroBrane Studio documentation
  6. ZeroBrane Studio tutorials and demos
  7. LuaDist package manager integration with ZeroBrane Studio
  8. ZeroBrane Studio documentation: Debugging
  9. Francisco Tufró (2013). Developing Mobile Games with Moai SDK (ch.2), Packt Publishing (March 25, 2013). ISBN   1-782-16506-1
  10. Brian Burton (2013). Learning Mobile Application & Game Development with Corona SDK (p.324), Burtons Media Group; 1 edition (April 1, 2013). ISBN   978-1-937336-07-3
  11. Jayant Varma (2012). Learn Lua for iOS Game Development (p.320), Apress; 1 edition (December 17, 2012). ISBN   1-430-24662-6
  12. Robert Cook (2014). Introduction to Programming with Lua and the Corona Game Lab (ch.8), Cook's Books; 1.0 edition (February 28, 2014)
  13. Using ZeroBrane Studio with Moai (it also works with LOVE)
  14. Debugging and live coding with Corona SDK
  15. 1 2 Why and how to use Gideros with ZeroBrane Studio IDE
  16. Using ZeroBrane Studio with Marmalade Quick Archived June 15, 2013, at the Wayback Machine
  17. "Debugging Lua web applications using ZeroBrane Studio and Xavante". Archived from the original on 2018-04-16. Retrieved 2014-05-22.
  18. Mobile App Development course information
  19. Corona on-device debugging
  20. ZeroBrane Studio live coding
  21. Twenty Minutes to Awesome - livecoding Gideros with ZeroBrane Studio Archived July 11, 2014, at the Wayback Machine
  22. ZeroBrane Studio plugin documentation
  23. ZeroBrane Studio plugin repository
  24. Plugin: Real-time watches
  25. Plugin: Clone view
  26. ZeroBrane Studio project page
  27. ZeroBrane Studio EduPack
  28. ZeroBrane Studio translation documentation
  29. ZeroBrane Studio in seven languages
  30. ZeroBrane Studio list of translation files

Commons-logo.svg Media related to ZeroBrane Studio at Wikimedia Commons