| GeneXus | |
|---|---|
| Desenvolvedores | Artech Consultores, Ltd. |
| Lançamento inicial | 1988 (37–38 anos) |
| Escrito em | C#, C++, Prolog |
| Sistema operacional | Microsoft Windows |
| Disponível em | Inglês, Japonês, Espanhol |
| Tipo | Framework de aplicação, Rapid Application Development, Ferramenta de desenvolvimento baseada no conhecimento |
| Licença | Proprietário |
| Website | www |
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.
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 gera e implementa código AJAX de forma automatizada.
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.
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.