End-to-end Application Development with Wolfram Workbench

Adam Berry

Wolfram Research, Inc

Mathematica is a Platform

What do we mean?

Combination of language, runtime, libraries and deployments

Examples

Wolfram|Alpha

Reviewing Endpoints

User Interface

Web applications and sites

Desktop applications

Backend and Data

Databases and data services

Systems and Libraries

Mathematica, Endpoints and Inbetween

Development Platform Features

Programming language

Mathematica, CDF/Player

webMathematica

Database integration through DatabaseLink

Data support through Import/Export

Language interoperability with J/Link, .NET/Link, MathLink, etc

CUDA and code generation

ScheduledTask

Much more

Workbench Support

Mathematica Applications

Packages

Palettes, Stylesheets

Documentation

gridMathematica

J/Link

webMathematica

Design Best Practices

Separation of Concerns

ReportGeneration; engine, authoring, utilities

Context Division

Development Best Practices

TDD

Test design, setup and teardown

Deploying Tests

TestRun