Table of Contents
Valentina ADKs
Valentina Application Developer Kits (ADKS) are both component collections and products. A portion of the components act as a client for working with data sources. Another portion acts as a high performance runtime. This is a brief technical introduction to Valentina ADKs.
ADK Components
An Application Developer Kit is a toolkit (aka SDK or ADK) that includes multiple components that work on a single operating system and with a specific development platform. There are three main components within each Valentina ADK installation.
Valentina Database Engine
Valentina Database (Valentina DB) is Paradigma Software's powerful database system. Valentina Database ADK can work with local Valentina DB databases in a single user mode. It is used for embedding an advanced database management system in your application.
Valentina DB ADK products are listed by the operating system and development platform. For example, Valentina DB ADK for C++ for Windows includes the components needed to deploy the database system on Windows and developed in C++, such as developing in C++ with Microsoft Visual Studio.
Valentina DB ADKs are commercial, licensed products.
Valentina Reports Engine
Works with local Valentina Project for the generation of reports. Although is is for local applications with reports and using vreport.dll, the datasource for a report can be a connection to remote DB server.
Valentina Reports ADK products are listed by the operating system and development platform. For example, Valentina Reports ADK for C++ for Windows includes the components needed to deploy the reporting system runtime on Windows and developed in C++, such as developing in C++ with Microsoft Visual Studio.
Valentina Reports ADKs are commercial, licensed products.
Valentina Client
Works remotely with Valentina Server, which manages databases and reports in a multi-user mode.
Paradigma Software ships many ADK products for the most popular programming languages and IDEs. To plug a Valentina component DLL into these IDEs and development systems, a plugin portion of an ADK is used.
ADK Plugin
Most Valentina components themselves are built in in C++. Most Rapid-Application-Development (RAD) IDEs and programming languages provide some plugin system to allow access to third party C/C++ libraries.
Usually it should have at least one C function in the plugin to call one function in the C++ library. This plugin's function gets parameters, transforms them into C++ library parameters, call C++ library, gets result back if needed and transforms it into the format that IDE understands. As a result, a user/developer in that IDE gets set of functions or object-oriented classes for use.
Having this, it is easy to see that each Valentina ADK contains:
- vcomponents folder with few Valentina Components shared libraries (DLL for Windows, DYLIB for OS X, .sp for Linux).
- PLUGIN, which calls that vcomponents libraries.
ADK Getting Started
Installing ADKs
To start work with a Valentina ADK, download and install it. In the HOME/Paradigma Software
folder you will find installed ADK folder with plugins, examples and possibly other helpful files. You should install plugin manually into your IDE/language. Read the details about installation of particular ADK in its sections.
ADK Example Code and Projects
Most ADKs have a simple tutorial and set of 40-60 examples described in Example Guide.
The examples tend to be as simple as possible and demonstrate a specific feature of the ADK as it works within the development environment.
ADK Reference
You should learn the API of your ADK. In the WIKI we provide section with general API Reference.
For some ADKs you can find PDF of API Reference. If you are still new to programming or new to your development environment, you will need additional time to understand how to work with the API.
ADK Reference
You also should be familiar with SQL to be able to query database. Read Valentina SQL Reference .
Even if you are using the native level API with Valentina DB for example, you will find a basic knowledge of SQL to be useful.
You can also find it useful to use the SQL Builder tool in Valentina Studio to generate queries visually.
ADK Documentation Entry Points
The following table allows you to do a fast jump into major sections of a particular Valentina ADK:
Valentina for Cocoa | Docs | FAQs |
Valentina for C++ | Docs | FAQs |
Valentina for C | Docs | FAQs |
Valentina for COM | Docs | FAQs |
Valentina for Director | Docs | FAQs |
Valentina for Java | Docs | FAQs |
Valentina for .NET | Docs | FAQs |
Valentina for ODBC | Docs | FAQs |
Valentina for PHP | Docs | FAQs |
Valentina for Xojo | Docs | FAQs |
Valentina for LiveCode | Docs | FAQs |
Valentina for Ruby | Docs | FAQs |
Single ADK Archive Per Platform
Although they both occupy the same archive and share some components, Valentina DB ADK and Valentina Reports ADK are two separate products, available in the Paradigma Store. The components can be initialized individually or separately on start up.
Historically and beginning with Valentina Release 5, Valentina Reports was no longer limited to working with Valentina DB. Version 5 and later can connect with many different data sources such as PostgreSQL, MySQL and more. With Valentina Release 5, Valentina Reports became its own product, but still shares many components with Valentina DB. Therefore, there is a single ADK archive for each platform. If you want to develop reports with e.g. PostgreSQL using the Xojo development environment, you should download “Valentina for Xojo” ADK and install it. Using the same archive of a Valentina ADK you can develop different kinds of applications:
- APP with LOCAL Valentina DB uses - { vshared.dll + vkernel.dll + V4RB plugin }
- APP with LOCAL REPORTS uses - { vshared.dll + vkernel.dll + vreport.dll + V4RB plugin }
- APP with CLIENT to VSERVER uses - { vshared.dll + vclient.dll + V4RB plugin } and can work with both DB and REPORTs on that VSERVER.
Of course you can develop an application, which combines all above, i.e. is able to work with few local Valentina databases, few Valentina Servers, open local or remote Valentina Projects and generate reports using different data sources.