18.4.0 released Sep 25, 2023
About Vely

- What is Vely
Vely is a general-purpose framework for rapid development of high-performance software. It is especially well suited for web applications. It's Free Open Source (under the business-friendly Eclipse Public License 2 (EPL-2)).

Vely is declarative and functional, with single-line statements performing entire tasks. It's simple to design, write and maintain applications.

Decades of adding energy-intensive abstractions on top of programming languages led to increase in complexity and decrease in performance. Vely applications are 100% native, high-performance and low-footprint without interpreters, virtual machines, or byte-code schemes.

- What's it for
Vely is great for web applications, command-line programs, cloud applications, middleware, distributed systems, database applications, IOT or anything else. Create and manage application servers as quickly as command-line programs.

Vely supports querying databases, file manipulation, network, string manipulation, outputting data, encryption, JSON, REST, distributed computing, time, memory structures like hash and FIFO, program execution, regex, memory management, SSL/TSL, encoding/decoding, error handling, web servers, request handling, daemonizing, web development like cookies, input parameters, uploading and downloading of files, URL parameter parsing etc. In short, lots of very common and useful tasks you need all the time.

- Intuitive and practical
Vely statements are easy to read and write, designed to immediately give you a clear idea about what they do, even if you've never seen Vely code. They are more like a natural language than typical programming code. This is important not just if you're starting with Vely, but also for maintenance, when someone works with the code years later. You write Vely statements inside skeleton C code so there is no need to learn anything new about the layer underneath; C is quite simple and well-known.

The scope of Vely statements is typically narrow and the generated code is shallow and direct, similar to what an experienced C programmer would write, incurring virtually no loss of performance. The arguments are specified in any order by naming their purpose, which is important for teams where readability is of importance.

- How it works
Vely statements are declarative, descriptive and short, designed with productivity in mind. They are precompiled into C code and then compiled and linked, resulting in a native executable. You don't have to be a C expert because Vely writes C code for you, though you can write as much (or as little) of your own code in C as you like.

Read how Vely works, vely architecture, application architecture, and see examples.

Vely uses well-known standard libraries like cURL, OpenSSL, crypto, FastCGI, PCRE2, native database libraries from MariaDB, PostgreSQL, SQLite, for compliance, performance and reliability. Use simple API to connect to a Vely application server from elsewhere, and use existing libraries in Vely applications.

- Performance matters
Many other back-end languages and frameworks are running as a virtual machine, interpreter or some other form of abstraction, or indirect execution. These layers of abstraction by far don't have the best performance, and are energy-inefficient, costing more electricity, water and computing equipment that relies on rare metals, ultimately affecting the environment in a negative way. And sluggish software never makes for good customer experience.

C is the fastest and most energy-efficient programming language, which is the reason why it's widely used in system programming and infrastructure software. Performance is important everywhere, and especially in the Cloud, where smaller and faster means less CPU seconds, less RAM, less money spent, less energy used and less emissions. Vely is based entirely on C.

- Safety
When you use Vely statements, you do not need to allocate/free memory, or worry about buffer overruns or memory violations; you also get automatic memory freeing and automatic file closing. Vely is safer than pure C due to its memory handling.

After each request, Vely automatically releases any memory used by it. This makes programming easier and safer, and your application more stable and faster. You can also use unmanaged memory, which is the classic malloc/free.

Aside from memory handling, Vely statements perform many syntax and semantic checks to make sure your thoughts get represented with code as close and as safe as possible. These checks are virtually always done during compile-time and do not affect performance.

- Why generate C
C is the shortest route to maximum performance and the smallest memory footprint. C is simple. It also allows usage of virtually any library in existence. And Vely statements are carefully crafted with the goal of generating fast and safe C code on their own. Vely itself is written in C.

Vely's goal is not to write more C code, quite the opposite. By using Vely anywhere possible, C code can be used as a supporting mechanism for Vely statements, such as declaring variables, conditional statements, program flow and usage of external libraries. This means the important and difficult parts are done by single-line Vely statements.

- Moore's law and C
In the past several decades, less-efficient languages and frameworks have proliferated because of hardware advances, even to the point of negating those benefits (see this). In other words, there's lots of bloated and slow languages and frameworks out there, relying on layer upon layer of abstractions to work.

And while Moore's law may or may not be failing, it may take significantly more time and funding to keep these hardware advances going, and at some point it may no longer. C can help put any hardware to more efficient use.

The reason why you wouldn't have used C in the past may have been buffer overwrites, memory management and low-level coding. Vely changes that by turning C into a rapid software development platform that's safer and easier.

- Quality
Each Vely release must pass rigorous continuous tests on every platform where it's available before it's released. There are currently 2021 such tests, see quality-control. See release-notes for what's new in each release.

- Report bugs, request features, contact
Contact at vely@vely.dev - send questions, bugs or suggest new features.

- Download and install
Download and install Vely here from pre-built packages with apt, dnf, zypper or pacman; or install from source.

- Author
Vely's author is Sergio Mijatovic (LinkedIn, Twitter, dev.to, fosstodon, GitHub); follow Vely updates on any of these social networks.

See also
General
about-Vely  
application-architecture  
deploying-application  
how-vely-works  
quality-control  
rename-files  
SELinux  
vely-architecture  
vely-removal  
vely-version  
vf  
vv    
See all
documentation


You are free to copy, redistribute and adapt this web page (even commercially), as long as you give credit and provide a link back to this page (dofollow) - see full license at CC-BY-4.0. Copyright (c) 2019-2023 Dasoftver LLC. Vely and elephant logo are trademarks of Dasoftver LLC. The software and information on this web site are provided "AS IS" and without any warranties or guarantees of any kind.