Pautas para desarolladores para compatibilidad con el Wolfram Player Pro

Programando para el Player Pro

Casi todas las funciones de programación y computacionales disponibles en Mathematica pueden usarse para construir aplicaciones para el Player Pro, con solo unas cuantas restricciones de programación:

  • Operaciones deWolfram Symbolic Transfer Protocol, incluyendo .NET/Link, no son respaldadas. Evite usar comandos tales como Install, LinkConnect, Links y demás. Esto incluye vínculos para kerneles remotos de Mathematica tales como gridMathematica.
  • InputField no aceptará programas arbitrarios de Mathematica, aunque aceptará expresiones matemáticas y cualquier otra entrada que no se vea como un programa de Mathematica.
  • Frontales alternativos al kernel, tales como áquellos que puedan escribirse en Java, C/C++, o .NET, no son respaldados. El único método respaldado para usar un kernel por medio de la interfaz de cuaderno de Mathematica.
  • GUIKit no está respaldado.

Precargando datos

Las aplicaciones del CDF Player Pro no requieren incorporación de datos, en la medida que se pueden cargar datos externos cuando se necesita. Sin embargo, si su meta es hacer una aplicación tan contenida como sea posible, por favor considere estas pautas.

Hay dos enfoques básicos para incorporar datos:

Initialization
Pequeños bloques de código y datos pueden incluirse en el comando de Manipulate usando la opción de Initialization. Por ejemplo:
Manipulate[myfunction[mydata,n],{n,0,1},
    Initialization:>(myfunction[dat_,n_]:=...;mydata={...})];

SaveDefinitions
Para grandes bloques de código, paquetes, o archivos de datos extensos, puede ser más conveniente definirlos antes de crear el Manipulate, y luego guardar su estado dentro del Manipulate usando la opción de SaveDefinitions. Por ejemplo:
<<MyPackage`
mydata=Import[...];
Manipulate[myfunction[data,n],{n,0,1},SaveDefinitions->True];

Utilizando archivos externos

La habilidad del CDF Player Pro para accesar archivos externos en visores proporciona varios beneficios.

Organización de código y protección
Para proyectos más grandes, organizar cógidos en paquetes (incluyendo Wolfram Workbench) promueve un desarrollo sostenible. En lugar de incluir su código dentro de un Manipulate con el comando de Initialization, usted puede incluir una llamada a los paquetes. Todos los paquetes deben codificarse ya sea usando el comando Encode o usando DumpSave para crear un archivo binario .mx. Para mayor información, vea este screencast.

Usted puede entonces cargar esto desde su interfaz dinámica. Por ejemplo:
Manipulate[myfunction[n],{n,0,1},Initialization:>Needs["EncodedPackage`"]]

Una ventaja adicional es que esto encripta su código fuente.

Datos de tiempo real o de usuario específico
Hay un gran número de maneras para incorporar llamadas de datos externos en cuadernos, de tal manera que áquellos con el CDF Player Pro pueden usar sus propios datos u obtener datos de tiempo real especificados con anterioridad. Ejemplos específicos:

  • Inicializar la aplicación con datos de una fuente remota:
    Manipulate[...,Initialization:>(data=Import["http://server.domain.com/latestdata.dat"])]
  • Capturar datos de una cámara web:
    Manipulate[...,Button["Get image", data=Import["http://server.domain.com/webcam.jpg"]
  • Haga que el usuario seleccione un archivo local de datos para análisis:
    Manipulate[..., Button["Load data", mydatapath = SystemDialogInput["FileOpen"]]]

Cuadernos y otros archivos

Solo cuadernos creados con Mathematica pueden abrirse. Cuadernos sin archivos de cache delineados no pueden abrirse. Archivos que no sean cuadernos no pueden abrirse.

en ja pt-br ru zh