Skip to content

Overview

What is zAppDev

zAppDev is a platform agnostic, dependency free native application development tool for everyone to build modern web and mobile apps faster and easier. It is not another application framework or a proprietary online development platform.

Instead, zAppDev introduces a common simplified programming model with design patterns and a set of programmable abstraction layers that separate the design away from any specific implementation code.

zAppDev hides the complexity of the specifics of the application frameworks. This in turn simplifies programming and reduces the learning curve because it’s possible to quickly leverage existing programming experience and to get assistance in order to write less code offering a common programming model across all layers of the application.

Create your free account

The primary development activity in zAppDev is designing models with visual editors, combined with a high level programming language. Although similar to UML or Data Modelling, to which most developers are accustomed, zAppDev goes one step further and provides a complete, integrated approach for modelling

  • Business Requirements and Logic
  • Data
  • Workflows
  • Web Services
  • User Interfaces
  • Security Policies
  • Themes and Resources

that are automatically transformed into a complete software application, eliminating the need for manual coding and maintenance.

Benefits of using zAppDev

  • Generate native solutions for different platforms with full ownership and control over the source code, free to download and deploy anywhere.
  • Protect your business domain model and application logic from frameworks, databases and libraries, and make the most of designing with patterns, best practices, industry standards and open technologies.
  • Write less code for even greater convenience and agility, using one language to add logic to every layer of the application.
  • Create, share and maintain declarative, machine-readable, business logic, automatically, which you can reuse to generate code for different technology stacks and share with community developers to scale up your software.
  • Build well-designed applications with important characteristics such as simplicity, separation of concerns, loose coupling, cohesion and agility.
  • Instantly share your progress with all stakeholders and deliver native apps with greater confidence and no proprietary software.
  • Generate the application design documentation automatically based on your functional requirements and the knowledge captured within its low code design models

Core Components

IDE


As mentioned, zAppDev is a web-based RAD Suite. That been said, it becomes pretty obvious that zAppDev itself is a Web Application, designed and created to provide you with all the tools you might need to quickly and intuitively design and develop high-performance Applications.

To do that, zAppDev employs an explorer and wizard-like interface for navigating through the architectural components of your application, that consists of the following main editors:

  • Configuration Editor
    • A comprehensive editor that enables you to configure your Application to your specifications, needs, security items, RBAC strategies, globalizations etc. with regards to the Implementation Strategy of your choice
  • Business Objects Editor
    • A UML-like designer that allows you to visually define the Business Objects and Data (Classes, Enumerations) of your Application, as well as define their functionalities, associations, restrictions, rules, encryption policies and more
  • Form Editor
    • A comprehensive, wizard-based, drag-and-drop, MVC (Model-View-Controller) designer that helps you design the UI and logic of your Application, define its data Models, present DataSets, create Events, place Validation Rules, add Conditional Formattings and Calculated Expressions and much more
  • External and Exposed APIs Editor
    • Two wizard-based Editors that allow you to connect to external systems and services in a matter of minutes, as well as to expose your own, modern REST APIs to the world
  • Workflow Editor
    • A visual designer consisting of building blocks that can define workflow-related logic using execution steps. The Workflow Editor allows you to set up tasks and precisely model not only their behavior, but their execution schedule as well.
  • Data Transformations Editor
    • A designer that will help you visually map one object or member to another, in a few seconds. It allows you to draw mappings, links and splits between any two structures, regardless of their types and pluralities and, if that is not enough, define your own Transformation logic that will be generated as ready-do-use functions, available anytime and anywhere you might require a conversion.
  • Theme Editor
    • An integrated, friendly editor with quick settings and rules that will allow you to change the look and feel of your Application.

, as well as countless build-in tools and helpers that provide intuitive functionality with regards to Source Control, Continuous Integration, Deployment, Refactoring, Team Management and so on and so forth.

Mamba


zAppDev is a platform-agnostic Application Development Suite. Apart from its Model-based designers, it also exposes its own native language to facilitate more detailed functionality implementation in a technology and platform-agnostic way: Mamba.

Mamba is a C-like High Level Programming Language that provides an even higher abstraction of common tasks and functionality. With Mamba, complex tasks and concepts can be accomplished in a few lines of code. Alleviating the need to be proficient in any programming language, framework, patterns and best practices, the zAppDev Developer can script complex tasks and concepts with a few lines of Mamba code, that, in turn, will be translated into state-of-the-art programming sources in the language of his/her choice, all the while being shielded from complicated or merely repetitive tasks.

Here is a simple example written in Mamba:

// Find every control structure you expect from a modern high level language
foreach payment in this.Payments
{
    if payment.IsNew()
    {
        payment.Date = DateTime.Now();
    }
}

// Create queries in an Object Oriented way using lambda expressions
var paid = this.Payments.Where(p => p.IsPaid).Sum(p => p.Amount);
this.RemainingAmount = this.Budget - paid;

// Access db operations (Save, Get etc) with ease
this.Save();

Discover more

Implementation Strategies


As already mentioned, zAppDev offers a complete set of application development tools that integrate a collection of different technologies and software engineering best practices, to comprehensively capture the elements of an enterprise application in a series of models. These models, which can be further perfected with functionality written in Mamba, lead to the automatic generation of highly efficient software applications.

To achieve that, zAppDev feeds the Models to the selected, by the Developer, Implementation Strategy. The Implementation Strategy is an AI assisted code generator which consumes Models and Mamba code and generates fully working applications. Since zAppDev Models and language are target-platform-agnostic.

Implementation strategies are 100% free to implement full-stack applications in any language, framework and combination of frameworks. This means that you do not need to worry about frameworks, languages, architectures, patterns, best practices, tests and so on and so forth. zAppDev, in compliance to the Implementation Strategy you choose while defining your Application, will automatically create the correct type of application architecture following the state-of-the-art technologies of your chosen target.

Full Control


Even though zAppDev allows you to freely model your Application, decide on its underlying components, technologies, servers and frameworks, implement your own logic and define your rules, it goes one step further and offers you unlimited extensibility and customization with no black boxes or hidden parts. In other words, you will never feel trapped inside a proprietary development environment or runtime engine: You have full ownership over the generated source code, that you can download, modify and deploy with zero dependency on zAppDev.

Furthermore, you can customize any part of your Application, across all layers, by:

  • Using your own favorite native library or existing code infrastructure, included as an external mamba Language Library
  • Creating any custom user interface you can think of, using the build-in HTML form module that combines the modeling concepts of zAppDev forms with the freedom of HTML markup
  • Injecting any JavaScript library into your forms and writing your own custom JavaScript snippets, using the zAppDev’s JS API for comprehensive client-side interaction with your Application Models.

Start Learning


If you want to browse through zAppDev's capabilities functionality, feel free to start here: This tutorial will guide you to create your first enterprise Application while presenting you the most common and useful parts, functionality and logic of zAppDev. Think of it as a fun way to go through this entire Documentation and a really good start to learn how to design, create, build and run a powerful, fast and safe Web-Application using nothing but Models, Designers and Editors.


Topic Description
Workspace Provides an overview of zAppDev's Workspace parts, as well as information with regards to Login and Registration, Control Panel, Projects and more
Model Editors Describes how to design, create, validate and use zAppDev's Models that will, in turn, be used to build your Application
Wizards Describes how to use Wizards to rapidly create new Models
Tools Describes how to use various Tools to track the Version Control of your Application, manage your Database, write Code, Deploy your Application and more
Tutorials Teaches you how to create your own Music Store Application from scratch, using almost everything that zAppDev has to offer. Additionally, provides some how-tos for useful functionalities
Mamba Teaches you about Mamba: zAppDev's own native language that facilitates more detailed functionality implementation in a technology and platform-agnostic way. Additionally, provides a reference for Mamba's Libraries: commands that encapsulate all the logic and functionality your Application might need.
APIs Provides documentation with regards to the zAppDev Developer JavaScript API: an API allowing you to perform any action against your Form, Model, DataSets etc. using JavaScript
Back to top