
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
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
Polymer
The Polymer library offers a robust set of functionalities for developing custom elements, streamlining the process to ensure they behave like standard DOM elements. Just like conventional DOM elements, Polymer elements can be created through a constructor or by utilizing document creation methods, and they can be configured via attributes or properties. Each instance can contain an internal DOM, adapt to changes in properties and attributes, and receive styling both from internal defaults and external sources, all while responding to methods that alter their internal state. When you register a custom element, you link a class to a specific custom element name, and the element includes lifecycle callbacks to effectively manage its various stages. Additionally, Polymer facilitates property declarations, allowing for seamless integration of your element's property API with the Polymer data system. By employing Shadow DOM, your element gains a locally scoped and encapsulated DOM tree, and Polymer can automatically generate and fill a shadow tree for your element derived from a DOM template, enhancing the modularity and reusability of your code. This combination of features not only simplifies the creation of custom elements but also ensures they integrate smoothly into the wider ecosystem of web components.
Learn more