Guia do programador
Este guia destina-se a programadores que pretendem expandir o SMath Studio ou integrá-lo noutras aplicações e fluxos de trabalho.
Plugins¶
Os plugins alargam aquilo que o SMath Studio consegue fazer: desde importar e exportar formatos de ficheiro de terceiros até acrescentar novas capacidades de avaliação simbólica ou numérica e novos elementos do documento. Os utilizadores finais instalam-nos através do Gerenciador de extensões integrado, a partir da Galeria online ou sem ligação à Internet.
Para criar um plugin próprio:
- Instale o SMath Studio e o Visual Studio Community.
- Crie um projeto Class Library (.NET Framework).
- Implemente uma ou mais interfaces derivadas de
IPlugin(por exemplo, para interceção de operadores e funções, avaliação numérica, regiões personalizadas do documento ou entrada/saída de ficheiros). - Para plugins que desenham gráficos ou regiões do documento personalizados, a biblioteca SMath Studio Drawing disponibiliza a mesma renderização baseada em SVG e independente da plataforma que o próprio motor utiliza.
- Compile no modo Debug e associe o depurador ao processo do SMath Studio em execução (
Solver.exe) para testar o plugin.
Publicar um plugin¶
Quando o plugin estiver pronto, o processo de entrega habitual é o seguinte:
- Carregue o código-fonte do plugin para o repositório público de código aberto.
- Registe o plugin no Release Manager e indique o caminho no repositório.
- Compile o plugin no Release Manager e resolva eventuais avisos ou erros.
- Publique o plugin no registo de plugins. As primeiras publicações podem exigir verificação por parte da equipa do SMath.
Depois de publicado, o plugin fica disponível para todos os utilizadores através do Gerenciador de extensões.
Integração e automatização¶
O SMath Studio Enterprise, com a licença adequada, pode ser integrado noutras aplicações e em fluxos de trabalho automatizados (mais pormenores em Integração):
- Linha de comandos — um cálculo pontual pode ser lançado com
SMathStudio_Desktop.exe -silent. - Calculation Service — um serviço de longa duração que pode ser carregado uma vez e reutilizado em vários cálculos, incluindo várias instâncias a correr em paralelo.
Código aberto¶
As fontes de plugins abertos, os exemplos de integração e os manuais matemáticos estão publicados no nosso repositório público, com acesso de leitura anónimo. O acesso de escrita pode ser pedido através de support@smath.com.