Genexus X Ruby Generator - Introduction to Ruby

Unofficial Content

 What is Ruby ?

Ruby is a dynamic, open source programming language with a focus on simplicity and productivity. It´s a scripting language for reflexive (intensive use of program metadata) and object-oriented programming.
It was created by a Japanese programmer called Yukihiro "Matz" Matsumoto in 1993 and was released in 1995. It is strongly influenced by Smalltalk and Lisp, among others (Phyton, Eiffel, Clu, Dylan and Lua)
It's a high-level language that is different from other languages regarding task execution at compilation time. It has free Software licensing (GPL + Ruby license, interpreter and standard libraries) that makes it free to use, copy, study, change and redistribute.

Some external links about Ruby

A Quick Tour of Ruby is a great introduction to the language and here is a list of things to read to understand the 'Ruby way'

GeneXus Ruby Generator

Ruby is a free license generator which applications run on any of the following platforms:

  • Microsoft Windows (XP, Win 2003, Vista)
  • Mac OS X
  • Linux (Debian, Ubuntu, SuSE..)
  • Unix

Generated code is independent of the Web Server to use.
Any CGI, Fast CGI server or other technologies may be used, especially multi-thread servers. Internally, the code interacts with Rack, which provides an interfase between the server which supports Rack and the application:

One Click Deploy

GeneXus Ruby generator is ideal for prototyping and one of the reasons is that preparing the development environment is a very easy task.
Running a script the first time is enough to install everything you need to start generating ruby: ruby interpreter, ruby gems, and a light web server for prototyping (Webrick).

Fast Generation

Ruby generates less code, so generation takes much less time. In addition, generated code does not compile, and makefiles are not generated, all of which has a direct impact on productivity growth.

Http traffic Optimization

Ruby generates .rb code (which is interpreted by ruby interpreter) and static HTML forms and javascripts. After an HTTP request the static forms and javscripts are sent to the client where they are cached. The dynamic information in each request - response is sent by using Ajax, so at the end only the neccessary information is sent to the server / client.