Apesar da plataforma Cronapp ter todos os recursos necessários para criação de plugins, nada impede que se utilize uma IDE convencional para criar novos plugins / bibliotecas para importar em seu projeto Cronapp. Neste tutorial criaremos uma biblioteca com funções de bloco de programação servidor em uma IDE externa e importaremos esse conteúdo para a plataforma Cronapp.

Pré-requisitos

Antes de começar a seguir os passos do tutorial é preciso ter certeza de que se tem um ambiente minimamente preparado para reproduzir o exemplo. Abaixo estão os requisitos principais.

Requisitos:

  1. Uma IDE convencional instalada na máquina local, para este tutorial utilizaremos a IDE Apache NetBeans na versão 16. mas fique a vontade para escolher qualquer outra.
  2. Recomendado o JDK 11.

Projeto Maven

Crie um projeto Maven (para jar - "<packaging>jar</packaging>") na IDE de preferência. Em seguida, inclua no seu pom.xml a dependência para a biblioteca io.cronapp:cronapi-java, dentro do elemento <dependencies>, ela contém tudo que você precisa para criar suas funções, inclusive a chamada para todos os blocos de programação servidor.



Figura 1 - Inclusão de dependência para a biblioteca 


A versão da biblioteca cronapi-java está em constante atualização, acesse o repositório do cronapi-java na Central Mavel para obter a última versão.

Definindo as anotações do blockly

Agora faremos uma classe Java que representará a sua nova Categoria dentro do Editor de bloco de programação, com duas novas funções.



Figura 2 - Criação da classe que representará uma nova Categoria do blockly


  • A primeira função, operacaoSoma, realiza a soma entre dois números passados por parâmetro pelo usuário.
  • A segunda função, Expoente, utiliza o bloco de programação Elevar à potência para realizar a operação de exponenciação, tendo como base o primeiro valor passado pelo usuário, num1, e como expoente o segundo valor, num2.


A classe apresentada na figura 2 pode ser baixada no arquivo a seguir:


operacoes.java

 Arquivo 1 - Classe operacoes.java


Observações

  • As anotações @CronapiMetaData e @ParamMetaData são as anotações principais que você utilizará para definir como e com que nome sua função aparecerá na lista de funções para bloco. Veja mais detalhes no tópico "Anotações" da documentação Criando blocos servidor customizados.
  • A biblioteca cronapi tem todas as principais funções já existentes para blocos, e você pode reutiliza-las em sua função se desejar.
  • Não há limites para o que pode ser feito, o que seu conhecimento na linguagem Java permitir, você pode utilizar. 


Uma vez concluído, você deve publicar sua biblioteca. Recomendamos usar o MarketPlace da plataforma Cronapp, mas, como fizemos nesse exemplo, também é possível realizar uma publicação no repositório central maven.

Inclusão da biblioteca no projeto Cronapp

Agora vamos utilizar a biblioteca que subimos no repositório Central Maven em um projeto na plataforma Cronapp. Para ativar a biblioteca que acabamos de criar, vamos inclui-la manualmente no arquivo pom.xml do nosso projeto. Com o modo avançado ativado (destaque 1 da figura 3), acesse o arquivo pom.xml (ou "Definições Maven", destaque 2 da figura 3) e inclua a dependência da biblioteca criada dentro do elemento <dependencies> (destaque 3 da figura 3).


Figura 3 - Edição do arquivo Definições Maven (pom.xml)


Recomendamos ao final dessa etapa realizar a limpeza de cache do projeto. Para isso, acesse no menu do sistema Projeto > Limpar Todos os Caches. (Figura 3.1)


Figura 3.1 - Limpando o cache do projeto


Limpar o cache nem sempre é o suficiente para exibir o bloco de programação criado, caso este procedimento não funcione, siga os passos a seguir: acesse o menu de contexto do arquivo pom.xml, selecione a opção Maven > Processar Alvos... e uma janela de Confirmação irá abrir já com um comando Maven dependency: resolve-U. Clique em OK


Recompile e reabra o projeto, para exibir as funções criadas.



Figura 3.2 - Novos blocos criados

Utilizando as funções

Após realizar as configurações apresentadas acima, podemos testar nossas funções, confira as figuras 4 e 4.1.



Figura 4 - Exemplo de uso da função operacaoSoma


Figura 4.1 - Exemplo de uso da função Expoente

Nesta página

  • Sem rótulos