What is devextreme?
DevExtreme is a comprehensive suite of high-performance HTML5 and JavaScript components for responsive web development. It includes a variety of UI widgets, data visualization tools, and utilities for building modern web applications.
What are devextreme's main functionalities?
Data Grid
The Data Grid is a powerful component for displaying and editing tabular data. It supports features like sorting, filtering, grouping, and editing.
const { DataGrid } = require('devextreme-react/data-grid');
const dataSource = [
{ id: 1, name: 'John', age: 30 },
{ id: 2, name: 'Jane', age: 25 }
];
<DataGrid
dataSource={dataSource}
columns={['id', 'name', 'age']}
/>;
Chart
The Chart component allows you to create a wide variety of charts, including bar, line, area, and pie charts. It supports features like tooltips, legends, and animations.
const { Chart, Series } = require('devextreme-react/chart');
const dataSource = [
{ year: 2010, value: 10 },
{ year: 2011, value: 20 }
];
<Chart dataSource={dataSource}>
<Series
valueField="value"
argumentField="year"
type="bar"
/>
</Chart>;
Scheduler
The Scheduler component is used for displaying and managing appointments. It supports multiple views (day, week, month), drag-and-drop, and editing capabilities.
const { Scheduler } = require('devextreme-react/scheduler');
const appointments = [
{ text: 'Meeting', startDate: new Date(2023, 4, 23, 9, 0), endDate: new Date(2023, 4, 23, 10, 0) }
];
<Scheduler
dataSource={appointments}
views={['day', 'week', 'month']}
defaultCurrentView="week"
defaultCurrentDate={new Date(2023, 4, 23)}
/>;
Other packages similar to devextreme
ag-grid
AG Grid is a feature-rich data grid supporting major JavaScript frameworks like Angular, React, and Vue. It offers advanced features like virtual scrolling, cell editing, and custom cell rendering. Compared to DevExtreme, AG Grid is more focused on grid functionalities and offers more advanced grid features.
highcharts
Highcharts is a popular charting library that provides a wide range of chart types and is known for its performance and flexibility. It is highly customizable and supports exporting and real-time data updates. Compared to DevExtreme, Highcharts is more specialized in data visualization and offers more advanced charting options.
fullcalendar
FullCalendar is a powerful and flexible calendar component for displaying and managing events. It supports drag-and-drop, event resizing, and custom views. Compared to DevExtreme's Scheduler, FullCalendar offers more customization options and is widely used for calendar functionalities.
DevExtreme
DevExtreme supplies HTML/JS tools for mobile and web development.
-
A blazing-fast HTML5 Data Grid and rich libraries of high-performance touch-enabled data visualization and UI widgets
DevExtreme ships with a rich library of client-side widgets that can be used in any web application and on any website.
-
DevExtreme SPA framework
DevExtreme allows you to build HTML/JS applications that can be packed as native mobile applications using the PhoneGap Build and can then be installed on mobile devices. When installed, DevExtreme applications look and behave like native mobile applications.
Installation
If you plan to use DevExtreme Widgets in an Angular application, please install devextreme-angular
package.
To add DevExtreme to your application, use the following command:
npm install devextreme
To use the DevExtreme Bundler tool, install the package globally:
npm install -g webpack
npm install -g devextreme
NOTE: DevExtreme doesn't use semantic versioning. The increment of the first or middle number means a major release and can contain changes in behavior. If you want to use only minor updates in your application, specify an appropriate range in the package.json (a patch release in semver corresponds to a minor DevExtreme version). For example, to use the DevExtreme package from 17.1.5 and above, the range will be: 17.1 or 17.1.x or ~17.1.5.
Basic Usage
-
Add themes to your application:
<link rel="stylesheet" type="text/css" href="node_modules/devextreme/dist/css/dx.common.css" />
<link rel="stylesheet" type="text/css" href="node_modules/devextreme/dist/css/dx.light.css" />
You can replace dx.light.css
with one of Predefined themes.
-
Specify required modules if you use WebPack:
var $ = require('jquery');
require('devextreme/ui/button');
var dialog = require('devextreme/ui/dialog');
For jspm, use this syntax instead:
import $ from 'jquery';
import 'devextreme/ui/button';
import dialog from 'devextreme/ui/dialog';
-
Add a markup container:
<div id="myButton"></div>
and initialize a widget:
$("#myButton").dxButton({
text: "Say hello",
onClick: function() {
dialog.alert('Hello world!', '', false);
}
});
For more information about different approaches and available modules, please read this documentation article.
Documentation
To start with DevExtreme, use the links corresponding to the technology you use on the start page of the documentation.
Demos
Take a look at the DevExtreme demos. Sample real-world apps built using the DevExtreme tools and a vast collection of code samples illustrating the usage of DevExtreme widgets can be found here.
License
Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/.
Support
In case of any questions regarding the use of DevExtreme, please refer to our Support Center.