
SurveyJS is a set of four open-source JavaScript libraries that offer the benefits of a tailor-made in-house survey application, while considerably reducing the time and resources needed to deploy the system. These libraries are independent of specific server code or database requirements and seamlessly integrate with popular JavaScript frameworks, including React, Angular, Vue.js, jQuery, Knockout, and more. They are designed to communicate with any server that can handle JSON requests, ensuring compatibility with various server architectures and databases.
The product family is composed of:
- An open-source MIT-licensed rendering library that renders dynamic JSON-based forms in your web application, and collects responses.
- A self-hosted drag & drop form builder that features an integrated CSS-based theme editor and a GUI for conditional rules. It automatically generates JSON definitions (schemas) of your forms in real time.
- PDF Generator, a library that renders SurveyJS surveys and forms as PDF files in a browser;
- The Dashboard library that allows you to simplify survey data analysis with interactive and customizable charts and tables.
Visit our website to try out and evaluate our full-scale demo for free.
Learn more
Highcharts, a Javascript-based charting library, makes it easy to add interactive charts and graphs to web or mobile projects of any size.
Highcharts is used by more than 80% of the 100 biggest companies in the world, as well as thousands of developers from a variety of industries, including finance, publishing, application development, and data science.
Highcharts is in active development since 2009. It remains a favorite among developers due to its robust feature set and ease-of-use documentation, accessibility features and vibrant community.
Learn more
Anime.js
Anime.js is a nimble JavaScript animation library that features an intuitive yet robust API. It seamlessly integrates with CSS properties, SVG, DOM attributes, and JavaScript Objects, enabling effortless animation creation. The library simplifies the process of intricate follow-through animations with its built-in staggering system. Users can animate multiple CSS transform properties at varying timings on a single HTML element, allowing for dynamic visual effects. The library offers comprehensive controls, enabling users to play, pause, reverse, and trigger events in a synchronized manner through its extensive callback and control functionalities. Anime.js can be utilized across all web platforms, supporting CSS, SVG, DOM attributes, and JavaScript Objects through a unified API. The staggering feature empowers users to create animations involving multiple elements with overlapping and follow-through actions, enhancing the complexity and richness of animations. Keyframes for animations are defined using an array within the keyframes property, where the duration of each keyframe is calculated by dividing the total animation duration by the number of keyframes specified. This approach ensures that each segment of the animation is precisely timed, providing a polished final product.
Learn more
Choreographer-js
This is a straightforward library designed to manage intricate animations effortlessly. It also permits the integration of custom functions for animations that aren't reliant on CSS! Simply install it, add it to your package.json, and incorporate it into your JavaScript code. You can instantly create scroll animations, trigger effects based on scroll position, and generate multiple animations according to the X coordinate of the mouse. By creating an instance of Choreographer, you can execute animations triggered by any measurement you prefer, such as scroll position or mouse location. To grasp the functionality better, reviewing the provided examples is highly recommended. Be cautious, as overlapping animation ranges that target the same style properties can lead to unexpected bugs! The library includes two fundamental animation functions known as 'scale' and 'change.' The concept of progress facilitates the gradual scaling of values, such as smooth transitions in opacity or 2D translations. If the value falls between 0 and 1, it indicates that you are within a defined range, enabling more precise control over the animations. With this tool, you can elevate your web animations to a whole new level.
Learn more