---
sourceDocument: Criar ou modificar aplicações do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/application-development

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Criar ou modificar aplicações do Xanadu

ft:clusterId :

    - cadev

bundleId :

    - cadev

workflow :

    - Creator


---

# ServiceNow Fluent

# ServiceNow Fluent {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 min. de leitura

Defina metadados da aplicação no código de origem usando a linguagem de programação específica do domínio ServiceNow Fluent.

## Visão geral {#servicenow-fluent__section_jnb_vvg_z1c}

ServiceNow Fluent é uma linguagem específica de domínio (DSL) baseada em TypeScript para definir os arquivos de metadados \[sys_metadata\] que compõem as aplicações e inclui APIs para os diferentes tipos de metadados, como tabelas, funções, ACLs, regras de negócio e Automated Test Framework testes.

Os desenvolvedores definem esses metadados em algumas linhas de código, em vez de por meio de um formulário ou interface do usuário da ferramenta do construtor. As aplicações criadas com ServiceNow IDE ou ServiceNow SDK são compatíveis com o desenvolvimento em ServiceNow Fluent.  
ServiceNow Fluent oferece suporte à sincronização bidirecional, o que permite que as mudanças nos metadados sejam sincronizadas de outras Now Platform interfaces de usuário no código de origem e as mudanças no código de origem sejam sincronizadas novamente com os metadados na instância.  
Nota:  
A API de teste Automated Test Framework oferece suporte somente à sincronização unidirecional. Depois de definir um teste de ATF no código de origem, se os metadados forem modificados fora do código de origem, essas mudanças não serão sincronizadas e refletidas no código de origem.

Para começar a usar ServiceNow IDE ou ServiceNow SDK, consulte a documentação [ServiceNow IDE](https://servicenow-prod.fluidtopics.net/_0v1YA~u8JO33YPQgDfm0g "Crie e desenvolva aplicações com escopo no código de origem em um ambiente de desenvolvimento integrado (IDE) na Now Platform para melhorar a colaboração entre equipes de desenvolvimento e acelerar o desenvolvimento de aplicações.") ou [ServiceNow SDK](https://servicenow-prod.fluidtopics.net/16Bzoiqs9zPvXt1rbD~2hA "Crie e desenvolva aplicações com escopo no código de origem localmente no Visual Studio Code Desktop e carregue mudanças em uma instância usando o ServiceNow kit de desenvolvimento de software (SDK).").

## APIs {#servicenow-fluent__section_nyj_y13_zbc}

ServiceNow Fluent inclui APIs para os seguintes tipos de metadados. Você pode usar a API de registro para definir metadados de aplicações que não têm uma API dedicada. Para obter detalhes sobre as APIs e exemplos, consulte [ServiceNow Fluent Referência de API](https://servicenow-prod.fluidtopics.net/S0l~enEbmwrpIUHSgJw1Wg "Use as APIs ServiceNow Fluent para definir os metadados que compõem as aplicações com escopo no código de origem com ServiceNow IDE ou ServiceNow SDK.").

* Listas de controle de acesso (ACLs)
* Menus da aplicação
* Testes Automated Test Framework
* Regras de negócio
* Scripts de cliente
* Listas
* Propriedades
* Registros
* Funções
* Scripted REST APIs
* Tabelas
{#servicenow-fluent__ul_cx1_db3_zbc}

## Uso {#servicenow-fluent__section_dgj_1b3_zbc}

Em arquivos com a extensão .now.ts, use objetos nas APIs ServiceNow Fluent para definir metadados na aplicação. Você também deve incluir as importações necessárias para as APIs de @servicenow/sdk/core.  
O exemplo a seguir inclui as definições de uma tabela, client script e regra de negócio na aplicação. A regra de negócio usa uma função do módulo JavaScript script.js.

    import '@servicenow/sdk/global'
    import { BusinessRule } from '@servicenow/sdk/core'
    import { ClientScript } from '@servicenow/sdk/core'
    import { Table, DateColumn, StringColumn } from '@servicenow/sdk/core'
    import { showStateUpdate } from '../server/script.js'

    //creates todo table, with three columns (deadline, status and task)
    export const x_snc_example_to_do = Table({
        name: 'x_snc_example_to_do',
        schema: {
            deadline: DateColumn({ label: 'deadline' }),
            state: StringColumn({
                label: 'State',
                choices: {
                    ready: { label: 'Ready' },
                    completed: { label: 'Completed' },
                    in_progress: { label: 'In Progress' },
                },
            }),
            task: StringColumn({ label: 'Task', maxLength: 120 }),
        },
    })

    //creates a client script that pops up 'Table loaded successfully!!' message everytime todo record is loaded
    ClientScript({
        $id: Now.ID['cs0'],
        name: 'my_client_script',
        table: 'x_snc_example_to_do',
        active: true,
        applies_extended: false,
        global: true,
        ui_type: 'all',
        description: 'Custom client script generated by Now SDK',
        messages: '',
        isolate_script: false,
        type: 'onLoad',
        script: script`function onLoad() {
            g_form.addInfoMessage("Table loaded successfully!!")
        }`,
    })

    //creates a business rule that pops up state change message whenever a todo record is updated
    BusinessRule({
        $id: Now.ID['br0'],
        action: ['update'],
        table: 'x_snc_example_to_do',
        script: showStateUpdate,
        name: 'LogStateChange',
        order: 100,
        when: 'after',
        active: true,
    })

Depois de criar a aplicação, este código de origem gera os seguintes arquivos de metadados da aplicação na instância.
Figura 1. Metadados da aplicação gerados a partir do código ServiceNow Fluent
**Tarefas relacionadas**   

* [Defina metadados da aplicação em código com ServiceNow Fluent no ServiceNow IDE](https://servicenow-prod.fluidtopics.net/mrWG7K~j56n9neewjWHE9w "Definir metadados da aplicação no código com ServiceNow Fluent no ServiceNow IDE.")
* [Defina metadados da aplicação em código com ServiceNow Fluent e o ServiceNow SDK](https://servicenow-prod.fluidtopics.net/WLfLwiHWGFtj96xqJieF9Q "Definir metadados da aplicação no código com ServiceNow Fluent e o ServiceNow SDK.")

