Scripting Layer for Android

Last updated
SL4A
Original author(s) Damon Kohler
Repository
Written in C and Java
Operating system Android
Type Library
License Apache License 2.0
Website github.com/damonkohler/sl4a

The Scripting Layer for Android (abridged as SL4A, and previously named Android Scripting Environment or ASE) is a discontinued library that allows the creation and running of scripts written in various scripting languages directly on Android devices. [1] [2] [3] [4] SL4A was designed for developers with its main branch no longer being under active development. [5]

Contents

These scripts have access to many of the APIs available to normal Java Android applications, but with a simplified interface. Scripts can be run interactively in a terminal, or in the background using the Android services architecture. Currently supported languages are:

SL4A was first announced by Google in June 2009, and was originally named "Android Scripting Environment" (ASE). It was, however, not an official Google product, even though many of its developers have worked for Google. [5] It was originally developed by Damon Kohler, and had grown through the contributions of many developers. [6] [7]

See also

Related Research Articles

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.

This is a "genealogy" of programming languages. Languages are categorized under the ancestor language with the strongest influence. Those ancestor languages are listed in alphabetic order. Any such categorization has a large arbitrary element, since programming languages often incorporate major ideas from multiple sources.

<span class="mw-page-title-main">Bluefish (software)</span> Text editor

Bluefish is a free and open-source software advanced text editor with a variety of tools for programming and website development. It supports coding languages including HTML, XHTML, CSS, XML, PHP, C, C++, JavaScript, Java, Go, Vala, Ada, D, SQL, Perl, ColdFusion, JSP, Python, Ruby, and shell. It is available for many platforms, including Linux, macOS and Windows, and can be used via integration with GNOME or run as a stand-alone application. Designed as a compromise between plain text editors and full programming IDEs, Bluefish is lightweight, fast and easy to learn, while providing many IDE features. It has been translated into 17 languages.

In the written form of many languages, an indentation or indent is an empty space at the beginning of a line to signal the start of a new paragraph. Many computer languages have adopted this technique to designate "paragraphs" or other logical blocks in the program.

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

IntelliJ IDEA is an integrated development environment (IDE) written in Java for developing computer software written in Java, Kotlin, Groovy, and other JVM-based languages. It is developed by JetBrains and is available as an Apache 2 Licensed community edition, and in a proprietary commercial edition. Both can be used for commercial development.

BeanShell is a small, free, embeddable Java source interpreter with object scripting language features, written in Java. It runs in the Java Runtime Environment (JRE), dynamically executes standard Java syntax and extends it with common scripting conveniences such as loose types, commands, and method closures, like those in Perl and JavaScript.

<span class="mw-page-title-main">KDE Plasma 4</span> Graphical environments provided by KDE

KDE Plasma 4 is the fourth generation of the KDE workspace environments. It consisted of three workspaces, each targeting a certain platform: Plasma Desktop for traditional desktop PCs and notebooks, Plasma Netbook for netbooks, and Plasma Active for tablet PCs and similar devices.

Google Developers is Google's site for software development tools and platforms, application programming interfaces (APIs), and technical resources. The site contains documentation on using Google developer tools and APIs—including discussion groups and blogs for developers using Google's developer products.

<span class="mw-page-title-main">Lego Mindstorms NXT</span> Programmable robotics kit

Lego Mindstorms NXT is a programmable robotics kit released by Lego on August 2, 2006. It replaced the first-generation Lego Mindstorms kit, which was called the Robotics Invention System. The base kit ships in two versions: the Retail Version and the Education Base Set. It comes with the NXT-G programming software, or optionally LabVIEW for Lego Mindstorms. A variety of unofficial languages exist, such as NXC, NBC, leJOS NXJ, and RobotC. The second generation of the set, the Lego Mindstorms NXT 2.0, was released on August 1, 2009, featuring a color sensor and other upgraded capabilities. The third generation, the EV3, was released in September 2013.

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

SlickEdit, previously known as Visual SlickEdit, is a cross-platform commercial source code editor, text editor, and Integrated Development Environment developed by SlickEdit, Inc. SlickEdit has integrated debuggers for GNU C/C++, Java, WinDbg, Clang C/C++ LLDB, Groovy, Google Go, Python, Perl, Ruby, Scala, PHP, Xcode, and Android JVM/NDK. SlickEdit includes such features as built in beautifiers that can beautify code as you type, code navigation, context tagging, symbol references, third party tool integration, DiffZilla, syntax highlighting, and 15 emulations - that include keyboard and selection styles.

<span class="mw-page-title-main">Scripting language</span> Programming language for run-time events

A scripting language or script language is a programming language that is used to manipulate, customize, and automate the facilities of an existing system. Scripting languages are usually interpreted at runtime rather than compiled.

<span class="mw-page-title-main">WeeChat</span> IRC client

WeeChat is a free and open-source Internet Relay Chat client that is designed to be light and fast. It is released under the terms of the GNU GPL-3.0-or-later and has been developed since 2003.

Cocos2d is an open-source game development framework for creating 2D games and other graphical software for iOS, Android, Windows, macOS, Linux, HarmonyOS, OpenHarmony and web platforms. It is written in C++ and provides bindings for various programming languages, including C++, C#, Lua, and JavaScript. The framework offers a wide range of features, including physics, particle systems, skeletal animations, tile maps, and others.

FlatBuffers is a free software library implementing a serialization format similar to Protocol Buffers, Thrift, Apache Avro, SBE, and Cap'n Proto, primarily written by Wouter van Oortmerssen and open-sourced by Google. It supports “zero-copy” deserialization, so that accessing the serialized data does not require first copying it into a separate part of memory. This makes accessing data in these formats much faster than data in formats requiring more extensive processing, such as JSON, CSV, and in many cases Protocol Buffers. Compared to other serialization formats however, the handling of FlatBuffers requires usually more code, and some operations are not possible.

References

  1. "Scripting Comes to Android". O'Reilly Media. 2009-06-09. Retrieved 2010-11-12.
  2. "Scripting Comes to Android". 2009-06-08. Retrieved 2010-11-12.
  3. "Android Gets Scripting Support with Python, Lua, Beanshell; Ruby planned". infoq.com. 2009-06-30. Retrieved 2010-11-12.
  4. "Python, Lua and BeanShell: Google's New Android Scripting". Linux Magazine. 2009-06-12. Retrieved 2010-11-13.
  5. 1 2 "sl4a/README.md at master · damonkohler/sl4a". GitHub. 2015-06-14. Retrieved 2020-08-31.
  6. Ferrill, Paul (2011). Pro Android Python with SL4A. Apress. p. 4. ISBN   9781430235699.
  7. Barry, Paul (April 30, 2011). "Python for Android". Linux Journal (203).