# dApp Development Framework

![](https://1077617372-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LvPXC4l2V4Z8gRDNIoZ%2F-LvPYTBbYX4L3mHx0vBh%2F-LvPYVHBCuwnoNGKwMqh%2Fpunica.jpg?generation=1575624771956681\&alt=media)

**Punica suite** is the first `dApp` development framework based on the Ontology platform that encapsulates and provides all the necessary development tools and resources in a package so as to allow developers to swiftly get acquainted with `dApp` development.

The primary functions and attributes of the framework as as follows:

* Supports **unit** and **functional testing**, relatively simpler than the `SDK` testing mechanism, thus faster and convenient.
* Smart contract **compilation, deployment, and testing** can all be carried out using the respective commands in the command line interface, thereby making the process more efficient.

{% hint style="info" %}
The `debug` functionality is already a part of the **SmartX IDE**. In the future, the `CLI` will also provide the same.
{% endhint %}

* **Solo-chain** allows developers to track and check the on-chain data, which is a lot more convenient and efficient than using the `testnet` or setting up a private node.
* The `SDKs` and `dAPI` available in different programming languages can be used to develop applications and software for all different kinds of user groups.

## Tools

A whole set of development tools are a part of the **Punica** suite. The tools include:

![](https://1077617372-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LvPXC4l2V4Z8gRDNIoZ%2F-LvPYTBbYX4L3mHx0vBh%2F-LvPYVHEnSS7qb6NCSCw%2Fpunica_tools.jpg?generation=1575624772362796\&alt=media)

* [Punica Python CLI](https://github.com/punicasuite/punica-python) and [Punica Typescript CLI](https://github.com/punicasuite/punica-ts) command line tools allow the developer to conveniently compile, deploy, and test smart contracts on the TestNet, MainNet and the privatenet.
* [Punica box](https://punica.ont.io/boxes/) provides a variety of `dApp` templates and application use cases.
* [Solo-chain](https://github.com/punicasuite/solo-chain/releases) is the private chain management tool that allows the developers to deploy a private node thereby making testing a lot more convenient.
* [VS code extension](https://github.com/punicasuite/vscode-ext-ontology) is a Visual Studio plugin.

{% hint style="info" %}
Developers looking for a starting point to get acquainted with the Ontology development framework are suggested to start learning from Punica CLI.
{% endhint %}

After installing **Punica**, developers can start using [SmartX](https://smartx.ont.io/) to develop smart contracts while referring to [Punica boxes](https://punica.ont.io/boxes/).
