Top Related Projects
Open Source Javascript Gantt
Gantt Gantt Gantt Timeline Schedule Calendar [ javascript gantt, js gantt, projects gantt, timeline, scheduler, gantt timeline, reservation timeline, react gantt, angular gantt, vue gantt, svelte gantt, booking manager ]
jQuery Gantt editor
🍞📅A JavaScript calendar that has everything you need.
Quick Overview
DHTMLX Gantt is a JavaScript library for creating interactive Gantt charts. It provides a powerful set of features for project management and scheduling, allowing developers to create visually appealing and functional Gantt charts for web applications.
Pros
- Rich set of features including task management, resource allocation, and timeline customization
- Highly customizable with extensive API and event system
- Cross-browser compatibility and responsive design
- Integration with popular frameworks like React, Angular, and Vue.js
Cons
- Commercial license required for most use cases
- Steep learning curve due to the extensive API and configuration options
- Limited built-in themes and styling options
- Performance may degrade with very large datasets
Code Examples
- Creating a basic Gantt chart:
gantt.init("gantt_container");
gantt.parse({
data: [
{ id: 1, text: "Task 1", start_date: "2023-05-01", duration: 5 },
{ id: 2, text: "Task 2", start_date: "2023-05-06", duration: 3 }
]
});
- Adding custom columns to the Gantt chart:
gantt.config.columns = [
{ name: "text", label: "Task name", width: "*", tree: true },
{ name: "start_date", label: "Start time", align: "center" },
{ name: "duration", label: "Duration", align: "center" }
];
gantt.init("gantt_container");
- Enabling resource management:
gantt.config.resources = [
{ id: 1, name: "John Doe" },
{ id: 2, name: "Jane Smith" }
];
gantt.config.resource_assignment = "resource_id";
gantt.init("gantt_container");
Getting Started
- Include the DHTMLX Gantt library in your HTML file:
<script src="https://cdn.dhtmlx.com/gantt/edge/dhtmlxgantt.js"></script>
<link rel="stylesheet" href="https://cdn.dhtmlx.com/gantt/edge/dhtmlxgantt.css">
- Create a container for the Gantt chart:
<div id="gantt_container" style="width:100%; height:500px;"></div>
- Initialize the Gantt chart and add data:
gantt.init("gantt_container");
gantt.parse({
data: [
{ id: 1, text: "Project kickoff", start_date: "2023-05-01", duration: 1 },
{ id: 2, text: "Design phase", start_date: "2023-05-02", duration: 5 }
]
});
This will create a basic Gantt chart with two tasks. You can further customize the chart by configuring various options and using the extensive API provided by DHTMLX Gantt.
Competitor Comparisons
Open Source Javascript Gantt
Pros of Gantt (frappe)
- Lightweight and simple to use
- Open-source with MIT license
- Built with SVG, making it highly customizable
Cons of Gantt (frappe)
- Limited features compared to DHTMLX Gantt
- Less extensive documentation and community support
- Fewer built-in integrations with other tools
Code Comparison
Gantt (frappe):
var tasks = [
{
id: 'Task 1',
name: 'Redesign website',
start: '2016-12-28',
end: '2016-12-31',
progress: 20,
dependencies: 'Task 2, Task 3'
},
// ...
]
var gantt = new Gantt("#gantt", tasks);
DHTMLX Gantt:
gantt.init("gantt_here");
gantt.parse({
data: [
{ id: 1, text: "Project #1", start_date: "01-04-2023", duration: 18 },
{ id: 2, text: "Task #1", start_date: "02-04-2023", duration: 8, parent: 1 },
// ...
]
});
Both libraries offer easy initialization and task definition, but DHTMLX Gantt provides more advanced features and configuration options out of the box. Gantt (frappe) focuses on simplicity and ease of use, while DHTMLX Gantt offers a more comprehensive solution for complex project management needs.
Gantt Gantt Gantt Timeline Schedule Calendar [ javascript gantt, js gantt, projects gantt, timeline, scheduler, gantt timeline, reservation timeline, react gantt, angular gantt, vue gantt, svelte gantt, booking manager ]
Pros of gantt-schedule-timeline-calendar
- More flexible and customizable, allowing for greater control over the appearance and behavior of the Gantt chart
- Supports multiple views (timeline, calendar, resource) out of the box
- Offers a more modern and responsive user interface
Cons of gantt-schedule-timeline-calendar
- Less mature and potentially less stable compared to DHTMLX Gantt
- Smaller community and fewer resources available for support and troubleshooting
- May require more setup and configuration to achieve desired functionality
Code Comparison
gantt-schedule-timeline-calendar
import { GSTCResult } from 'gantt-schedule-timeline-calendar';
const gstc = GSTCResult({
element: document.getElementById('gstc'),
items: [...],
columns: [...],
});
DHTMLX Gantt
gantt.init("gantt_here");
gantt.parse({
data: [...],
links: [...]
});
Both libraries offer straightforward initialization, but gantt-schedule-timeline-calendar provides a more modern, modular approach. DHTMLX Gantt has a simpler setup process, which may be preferable for quick implementations. The choice between the two depends on specific project requirements, desired customization level, and development team preferences.
jQuery Gantt editor
Pros of jQueryGantt
- Open-source and free to use, making it accessible for all projects
- Lightweight and easy to integrate into existing jQuery-based applications
- Supports exporting to PDF and PNG formats
Cons of jQueryGantt
- Less frequent updates and maintenance compared to gantt
- Limited documentation and community support
- Fewer built-in features and customization options
Code Comparison
gantt:
gantt.init("gantt_here");
gantt.parse({
data: [
{ id: 1, text: "Task 1", start_date: "2023-05-01", duration: 5 },
{ id: 2, text: "Task 2", start_date: "2023-05-06", duration: 3 }
]
});
jQueryGantt:
$("#ganttChart").gantt({
source: [
{ name: "Task 1", desc: "", values: [{ from: "/Date(1682899200000)/", to: "/Date(1683331200000)/", label: "Task 1", customClass: "ganttRed" }] },
{ name: "Task 2", desc: "", values: [{ from: "/Date(1683331200000)/", to: "/Date(1683590400000)/", label: "Task 2", customClass: "ganttBlue" }] }
]
});
Both libraries offer Gantt chart functionality, but gantt provides a more comprehensive and actively maintained solution with extensive documentation and features. jQueryGantt is a simpler, lightweight alternative that may be suitable for smaller projects or those already using jQuery.
🍞📅A JavaScript calendar that has everything you need.
Pros of tui.calendar
- More versatile with multiple calendar views (daily, weekly, monthly)
- Extensive theming and customization options
- Better support for recurring events
Cons of tui.calendar
- Steeper learning curve due to more complex API
- Larger file size, potentially impacting load times
- Less focus on Gantt-specific features
Code Comparison
tui.calendar:
import Calendar from '@toast-ui/calendar';
const calendar = new Calendar('#calendar', {
defaultView: 'week',
template: {
time: function(schedule) {
return moment(schedule.start.getTime()).format('HH:mm');
}
}
});
gantt:
gantt.init("gantt_here");
gantt.parse({
data: [
{id: 1, text: "Task #1", start_date: "2023-03-15", duration: 3, progress: 0.6},
{id: 2, text: "Task #2", start_date: "2023-03-18", duration: 3, progress: 0.4}
]
});
tui.calendar offers more flexibility for various calendar views and customization, making it suitable for diverse scheduling needs. However, it may be overkill for projects primarily focused on Gantt charts. gantt provides a more straightforward API for Gantt-specific functionality, making it easier to implement and potentially more performant for Gantt-centric applications.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
dhtmlxGantt
Getting started | Features | License | Useful links | Follow us
DHTMLX Gantt is an open source JavaScript Gantt chart library that helps you illustrate and manage a project schedule in a nice-looking diagram.
It can show the dependencies between tasks as lines and allows you to set up different relationships between tasks (finish-to-start, start-to-start, finish-to-finish, start-to-finish). The Standard edition also inludes intuituve drag-n-drop interface and smart rendering which considerably boost performance while working with a large amount of tasks.
DHTMLX Gantt provides a flexible API and a large number of event handlers, which gives you the freedom to customize it for your needs. Moreover, the library comes with a comprehensive documentation and step-by-step video tutorials thus simplifying learning.
Getting started
Add files:
<script src="dhtmlxgantt.js" ></script>
<link rel="stylesheet" href="dhtmlxgantt.css" type="text/css">
Add markup:
<div id="gantt_here" style='width:100%; height:100vh;'></div>
And initialize:
gantt.config.date_format = "%Y-%m-%d %H:%i";
gantt.init("gantt_here");
gantt.parse({
data: [
{id: 1, text: "Project #1", start_date: null, duration: null, parent:0, progress: 0, open: true},
{id: 2, text: "Task #1", start_date: "2019-08-01 00:00", duration:5, parent:1, progress: 1},
{id: 3, text: "Task #2", start_date: "2019-08-06 00:00", duration:2, parent:1, progress: 0.5},
{id: 4, text: "Task #3", start_date: null, duration: null, parent:1, progress: 0.8, open: true},
{id: 5, text: "Task #3.1", start_date: "2019-08-09 00:00", duration:2, parent:4, progress: 0.2},
{id: 6, text: "Task #3.2", start_date: "2019-08-11 00:00", duration:1, parent:4, progress: 0}
],
links:[
{id:1, source:2, target:3, type:"0"},
{id:2, source:3, target:4, type:"0"},
{id:3, source:5, target:6, type:"0"}
]
});
Complete guides
All tutorials
https://docs.dhtmlx.com/gantt/desktop__howtostart_guides.html
Video guides
https://www.youtube.com/user/dhtmlx/videos
Features of the Standard Edition
- 4 types of tasks linking: finish-to-start, start-to-start, finish-to-finish, start-to-finish
- dragging and dropping multiple tasks horizontally
- multi-task selection
- backward planning
- tasks filtering
- smart rendering
- inline editing
- managing editability/readonly modes of individual tasks
- tooltips
- undo/redo functionality
- configurable columns in the grid
- customizable time scale and task edit form
- progress percent coloring for tasks
- 7 different skins
- online export to PDF, PNG, Excel, iCal, and MS Project
- cross-browser compatibility
- 32 locales
- keyboard navigation
- accessibility
Resource management, critical path calculation, auto scheduling, and other enhanced features are available with the PRO edition. You can see the full list of features and compare the two DHTMLX Gantt editions in the documentation.
License
dhtmlxGantt v.8.0.10 Standard
This version of dhtmlxGantt is distributed under GPL 2.0 license and can be legally used in GPL projects.
To use dhtmlxGantt in non-GPL projects (and get Pro version of the product), please obtain Individual, Commercial, Enterprise or Ultimate license on our site https://dhtmlx.com/docs/products/dhtmlxGantt/#licensing or contact us at info@dhtmlx.com
(c) XB Software
Useful links
- DHTMLX Gantt product page
- Official documentation
- Online samples
- Video tutorials
- Export services
- List of available integrations
- Support forum
Follow us
Star our GitHub repo :star:
Check our roadmap for future updates :wrench:
Read us on Medium :newspaper:
Follow us on Twitter :bird:
Like our page on Facebook :thumbsup:
Top Related Projects
Open Source Javascript Gantt
Gantt Gantt Gantt Timeline Schedule Calendar [ javascript gantt, js gantt, projects gantt, timeline, scheduler, gantt timeline, reservation timeline, react gantt, angular gantt, vue gantt, svelte gantt, booking manager ]
jQuery Gantt editor
🍞📅A JavaScript calendar that has everything you need.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot