Realaxy ActionScript Editor
Encyclopedia

Realaxy ActionScript Editor (RASE) is a commercial ActionScript
ActionScript
ActionScript is an object-oriented language originally developed by Macromedia Inc. . It is a dialect of ECMAScript , and is used primarily for the development of websites and software targeting the Adobe Flash Player platform, used on Web pages in the form of...

 IDE
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...

 by Realaxy based on the JetBrains MPS
JetBrains MPS
JetBrains MPS is a metaprogramming system which is being developed by JetBrains. It implements language-oriented programming. MPS is an environment for language definition, a Language Workbench, and integrated development environment for such languages....

 meta programming system.

Development history

Realaxy ActionScript Editor has been in development since March 2009, the private beta was released on April 23, 2010. The public beta became available for download on June 8, 2010 with release planned for late August 2010.

Language Oriented Programming

MPS
JetBrains MPS
JetBrains MPS is a metaprogramming system which is being developed by JetBrains. It implements language-oriented programming. MPS is an environment for language definition, a Language Workbench, and integrated development environment for such languages....

 implements the Language Oriented Programming paradigm allowing RASE users to edit the abstract syntax tree
Abstract syntax tree
In computer science, an abstract syntax tree , or just syntax tree, is a tree representation of the abstract syntactic structure of source code written in a programming language. Each node of the tree denotes a construct occurring in the source code. The syntax is 'abstract' in the sense that it...

 itself and thus take the advantage of the meta programming capabilities - create language extensions and domain-specific languages based on ActionScript
ActionScript
ActionScript is an object-oriented language originally developed by Macromedia Inc. . It is a dialect of ECMAScript , and is used primarily for the development of websites and software targeting the Adobe Flash Player platform, used on Web pages in the form of...

. It also allows translating
Program transformation
A program transformation is any operation that takes a computer program and generates another program. In many cases the transformed program is required to be semantically equivalent to the original, relative to a particular formal semantics and in fewer cases the transformations result in programs...

 the ActionScript and its extensions code into other languages.

Built-in Language Extensions

Realaxy ActionScript Editor comes bundled with a number of built-in ActionScript language extensions.
  • Plug-in - intended to help implement a plug-in architecture application, decoupling it into smaller independent modules
    Modular design
    Modular design, or "modularity in design" is an approach that subdivides a system into smaller parts that can be independently created and then used in different systems to drive multiple functionalities...

    , each running in its own sandbox
    Sandbox (computer security)
    In computer security, a sandbox is a security mechanism for separating running programs. It is often used to execute untested code, or untrusted programs from unverified third-parties, suppliers, untrusted users and untrusted websites....

     making it possible to unload them at runtime. Implementing such an architecture using only pure ActionScript may become a rather complex task
  • Logging - allows remote logging of an application in the IDE, supporting multiple severity levels, message filtering, grouping, and displaying the specific group in its own IDE tab
  • Closures - aids in coding the closures
    Closure (computer science)
    In computer science, a closure is a function together with a referencing environment for the non-local variables of that function. A closure allows a function to access variables outside its typical scope. Such a function is said to be "closed over" its free variables...

    , making its syntax more compact and allowing for compliance (e.g., callback function compliance) checks at the time of coding
  • Object Builder - offers a compact notation of the code to instantiate and initialize complex objects
  • Collections - intended to ease working with collections, replacing the loops with object queries
  • Flow - helps to organize the action sequences
  • Generics - enables Java-style
    Generics in Java
    Generics are a facility of generic programming that was added to the Java programming language in 2004 as part of J2SE 5.0. They allow "a type or method to operate on objects of various types while providing compile-time type safety." A common use of this feature is when using a Java Collection...

     types parameterizing which is limited to the Vector class in pure ActionScript. It also allows parametrizing the vararg
    Variadic function
    In computer programming, a variadic function is a function of indefinite arity, i.e., one which accepts a variable number of arguments. Support for variadic functions differs widely among programming languages....

     function arguments (...rest:String)
  • Cache - allows caching the functions return values

Code editing features

RASE supports code autocompletion, smart complete, refactoring, tips, code navigation, hierarchy view, code outline for the ActionScript and its extensions. It is compatible with a number of version control
Revision control
Revision control, also known as version control and source control , is the management of changes to documents, programs, and other information stored as computer files. It is most commonly used in software development, where a team of people may change the same files...

 systems including Subversion, CVS
Concurrent Versions System
The Concurrent Versions System , also known as the Concurrent Versioning System, is a client-server free software revision control system in the field of software development. Version control system software keeps track of all work and all changes in a set of files, and allows several developers ...

 and Git
Git (software)
Git is a distributed revision control system with an emphasis on speed. Git was initially designed and developed by Linus Torvalds for Linux kernel development. Every Git working directory is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on...

.

Available code refactorings

  • Introduce variable/field/constant
  • Extract method
  • Move/Copy members
  • Pull members up
    Pull Up refactoring
    In software engineering, Pull Up refactoring involves moving a member of a class, such as a method, from a Subclass into a Superclass.-How and when can this refactoring be applied?:...

  • Push members down
  • Introduce parameter object
  • Replace inheritance with delegation
  • Encapsulate fields
    Field encapsulation
    In computer programming, field encapsulation, also called data hiding, involves providing methods that can be used to read/write to/from the field rather than accessing the field directly. Sometimes these accessor methods are called getX and setX , which are also known as mutator methods...

  • Make method static
  • Rename class/method/field/variable
    Rename method
    Rename Method is a refactoring that changes a name of a method into a new one, that better reveals its purpose.To have clearer, more understandable code, programmers would optimally want to change method names to reflect exactly what the method does...

  • Copy class
  • Make Method Static
  • Replace Inheritance with Delegation

Code generation features

  • Generate getters/setters
    Mutator method
    In computer science, a mutator method is a method used to control changes to a variable.The mutator method, sometimes called a "setter", is most often used in object-oriented programming, in keeping with the principle of encapsulation...

  • Generate toString method
  • Surround code with if, for, while, etc.
  • Event handlers generation
  • Override methods
  • Implement methods
  • Assign parameter to a field

XML/E4X

RASE supports the inline XML smart input and expressions, as well as E4X queries autocompleting.

See also

  • Comparison of ActionScript IDEs

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK