# GeneXus

GeneXus é uma ferramenta case de desenvolvimento de software baseada em conhecimento, orientada principalmente para aplicações corporativas, para web, plataformas Windows (GUI) e Plataformas móveis. O desenvolvedor especifica suas aplicações em alto nível (majoritariamente de forma declarativa), a partir do qual se gera código para múltiplos ambientes.
GeneXus inclui um módulo de normalização, que cria e mantém uma estrutura de banco de dados (SGBD) ótima, baseada no modelo de dados não normalizado definido pelo usuário, uma linguagem declarativa (baseada em regras) e uma linguagem procedural simples.

## Linguagens

Por utilizar uma linguagem proprietária, isto permite a ferramenta traduzir estas instruções para várias linguagens de mercado em diferentes tipos de plataformas.
As linguagens que se podem gerar incluem: Cobol e RPG (para a plataforma IBM AS/400), Visual Basic, Visual FoxPro, C#, Java e Ruby, com ênfase nas últimas três. Para plataformas móveis (Windows CE, Pocket PC e Smartphones), existe o gerador.Net Mobile.
Em ambiente WEB, a ferramenta implementa de maneira muito simples e automática códigos AJAX do mais alto nível.

## Bancos de dados

Genexus inclui um módulo de gerenciamento da estrutura de dados, o qual normaliza, cria, relaciona e mantém a estrutura a partir de uma visão não normalizada gerada pelo desenvolvedor.
Os DBMS mais populares são suportados, como Microsoft SQL Server, Oracle, IBM DB2, Informix, PostgreSQL e MySQL.

## Multi-plataforma

Por ser uma ferramenta baseada em conhecimento, não dependente de uma linguagem ou Banco de Dados em particular - a ferramenta pode, através de uma única definição, gerar aplicativos sem nenhuma intervenção do desenvolvedor, para as várias linguagens e de bancos de dados suportados.
Esta característica é particularmente importante pois torna quase transparente a conversão entre plataformas, principalmente quando elas se tornam obsoletas ou são descontinuadas.

## Características adicionais

* A ferramenta incorpora a geração e uso de WEB Service com um mínimo de trabalho por parte do desenvolvedor.
* Para o mundo JAVA, o desenvolvedor pode lançar mão de EJBs sem custos adicionais.
* Gera facilmente documentos do Excel(.xls) e Word(.doc), sem a necessidade de uso do Microsoft Office
* Possibilita fazer requisições HTTP.
* Sob o ponto de vista de arquitetura, podem-se criar aplicações centralizadas, em duas e três camadas.
* Implementa um cliente LDAP.
* Implementa funções para e-mail (SMTP, POP3, IMAP e Outlook).
* Havendo necessidade, pode-se utilizar código nativo da linguagem em que se está gerando de maneira simples.

## História

* É comercializado em mais de 30 países, incluindo a maior parte da América Latina e Caribe, Estados Unidos, Europa (Espanha, Itália, França e Portugal) e também China e Japão
* Hoje são ao redor de 5.500 clientes com o produto, com mais de 50.000 licenças vendidas em todo o mundo.
* A versão atual, GeneXus 16 upgrade 11, foi lançada em Setembro 2020.
* Em 2009 também foram lançados um produto para gerenciamento de bases de conhecimento compartilhadas - GXserver, e outro para automatização de testes, chamado GXtest, que foi desenvolvido pela empresa Abstracta e é comercializado de forma exclusiva pela GeneXus
* Em 2011, foi anunciado a versão Evolution 2, gerando aplicativos nativos para Android, iOS (iPhone e iPad) e Blackberry.
* Em 2012, foi lançada a versão Evolution 2, gerando aplicativos nativos para Android, iOS (iPhone e iPad) e Blackberry.
* Em 2014, foi lançada a versão Evolution 3, gerando aplicativos nativos para Android, iOS (iPhone e iPad), Blackberry e Windows 8.