# DataFlex

DataFlex (antes conhecido como Visual DataFlex) é uma ferramenta visual para desenvolvimento de aplicações Windows, web e mobile em uma plataforma de framework único.

## História

O DataFlex é uma linguagem de programação criada pela Data Access Worldwide localizada em Miami nos EUA. A empresa foi fundada em 1976 e chamada Data Access Corporation. O DataFlex iniciou como um dos primeiros exemplos de linguagem de quarta geração (4GL) para uso comercial com diversos recursos prontos para uso no desenvolvimento rápido de aplicações corporativas.
Nas suas versões iniciais, o DataFlex estava disponível como uma aplicação Console Mode para os sistemas operacionais CP/M, MS-DOS, TurboDOS, Novell NetWare, OS/2, Unix, VAX/VMS e IBM AIX.
O DataFlex está há muitos anos no mercado como um ambiente de desenvolvimento de aplicações e suporta diversos banco de dados: Oracle, Microsoft SQL Server, IBM DB2 e Pervasive PSQL, assim como qualquer outro banco de dados ODBC (PostgreSQL e MySQL, por exemplo). Aplicações criadas com o DataFlex são utilizadas por aproximadamente 3 milhões de usuários.
A versão atual do DataFlex é a 23.0 (2023), lançado em Agosto de 2023..

## Ambientes de programação

A linguagem de programação DataFlex é utilizada nos seguintes ambientes de desenvolvimento:

### DataFlex Character Mode

A última versão deste tipo de aplicação DataFlex Character Mode foi a versão 3.2, disponível como aplicações Console Mode para MS-DOS, Microsoft Windows e variantes Unix (Linux em sua maioria).

### DataFlex Studio

Este é o ambiente carro-chefe de desenvolvimento da Data Access Worldwide. A sua versão atual é a versão 19.0 (2017). O DataFlex é uma linguagem de desenvolvimento GUI com estilo comparável às linguagens Visual Basic, Delphi e C++. Ele está disponível somente para ambientes Microsoft Windows. Da versão 4 (1996) até a versão 17.1 (2015) o produto foi chamado Visual DataFlex.
O DataFlex Studio inclui também um framework web AJAX para criar aplicações web e mobile.

### DataFlex Web Application Server

Disponível para Microsoft IIS, o DataFlex Web Application Server pode ser utilizado para distribuir aplicações web e mobile criadas com o DataFlex Studio e acessíveis através de navegadores web como Google Chrome, Mozilla Firefox, Safari, Microsoft Edge, dentre outros em ambientes desktop e mobile (smartphones e tablets). Os desenvolvedores podem também criar e consumir Web Services com o DataFlex.

## Recursos do DataFlex

A linguagem DataFlex se diferencia das demais linguagens de programação da seguinte forma:
* Facilidade na troca do sistema de banco de dados utilizado, não havendo necessidade de alteração do código-fonte ou recompilação da aplicação.
* Suporte a conversão automática de tipo de dados entre variáveis e tokens dos tipos simples de dados do DataFlex (Integer, Number, Real, etc.).
* Flexibilidade: você pode definir seus próprios comandos.
* Ambiente integrado único para desenvolvimento (IDE) de aplicações Windows, web e mobile.
* Ferramentas integradas para criação e manutenção de tabelas (Database Builder) e manipulação de dados (Database Explorer), independentemente do sistema de banco de dados utilizado. Estas funcionalidades estão presentes também dentro do IDE DataFlex Studio.
* Linguagem de programação orientada a objetos.
* Métodos podem ser definidos ou redefinidos dentro da definição do objeto.
* Delegação automática de mensagens no ambiente de programação orientado a objetos.
* Suporte a JSON, XML, Web Services e REST.
* Banco de dados nativo chamado DataFlex do tipo ISAM com suporte de até 16 milhões de registros ou 2GB de tamanho.
* Não há suporte a programação multitarefa.

## Kits de Conectividade

O DataFlex permite a utilização de kits de conectividade (drivers) para acesso a Bancos SQL. As opções disponíveis são:
* Microsoft SQLServer (Driver DAW e Mertech)
* Oracle (Driver Mertech)
* PosgreSQL (Driver Mertech)
* MySQL (Driver Mertech)
* IBM DB2 (Driver DAW)
* ODBC (conexão com demais bancos de dados compatíveis com o ODBC - Driver DAW)