How to develop an App

From AGILE IoT Wiki
Jump to: navigation, search

This guide will detail two ways of developing AGILE applications:

  • Rapid prototyping using workflows in the Developer UI
  • Native app development using agile-sdk


Rapid prototyping using the Developer UI

Agile includes a Developer UI based on Node-Red which allows the rapid prototyping of AGILE applications. To develop an application, follow these steps:

Log in to the AGILE user interface (http://agilegw.local:8000), and start Node-Red from the menu (top left). Apart from standard nodes, this version of Node-Red contains special features developed by AGILE to ease development:

  • nodes mapping AGILE APIs (on the left in the AGILE category)
  • nodes providing cloud connectors (on the left in the AGILE category)
  • tabs to provide Workflow recommendation from the Workflow repository based on connected devices (on the right)

You can use this visual workflow composition environment to develop AGILE applications. For an example, follow the guild at Getting started with AGILE.

Additional components (nodes) can easily be installed using the Manage Palette menu option (top right corner).

Native app developement using agile-sdk

Applications can also be built based on AGILE REST APIs, and deployed in the system as Docker containers. To simplify development we also provide a Node.js based SDK (agile-sdk) that can be used to interact with the AGILE system from Node.js applications. For an example please see https://github.com/agile-iot/agile-policy-sample