aboutsummaryrefslogtreecommitdiffstats
path: root/documentation/installing/installing-overview.adoc
blob: 5b93ce3742e195a0c32ac99ce9507774defff8a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
---
title: Overview
order: 1
layout: page
---

[[installing.overview]]
= Overview

You can develop Vaadin applications in essentially any development environment
that has the Java SDK and deploys to a Java Servlet container.
You can use Vaadin with any Java IDE or no IDE at all.
Vaadin has special support for the Eclipse and NetBeans IDEs, as well as for IntelliJ IDEA.

.Vaadin installation steps
image::img/installation-steps-hi.png[width=100%, scaledwidth=100%]

Managing Vaadin and other Java libraries can get tedious to do manually, so using a build system that manages dependencies automatically is adviced.
Vaadin is distributed in the Maven central repository, and can be used with any build or dependency management system that can access Maven repositories, such as Ivy or Gradle, in addition to Maven.

Vaadin has a multitude of installation options for different IDEs and dependency
managers.
You can also install it from an installation package:

* With the Eclipse IDE, use the Vaadin Plugin for Eclipse, as described in <<installing.eclipse,"Vaadin Plugin for Eclipse">>
* With the Vaadin plugin for NetBeans IDE ( <<dummy/../../../framework/getting-started/getting-started-netbeans#getting-started.netbeans,"Creating a Project with NetBeans IDE">>) or IntelliJ IDEA
* With Maven, Ivy, Gradle, or other Maven-compatible dependency manager, under Eclipse, NetBeans, IDEA, or using command-line, as described in <<dummy/../../../framework/getting-started/getting-started-maven#getting-started.maven,"Using Vaadin with Maven">>
* From installation package without dependency management, as described in <<dummy/../../../framework/getting-started/getting-started-package#getting-started.package,"Vaadin Installation Package">>
span> margin: 0.4em 0.2em 0 0; cursor: pointer; } #add_tab { cursor: pointer; } </style> <script src="../../external/requirejs/require.js"></script> <script src="../bootstrap.js" data-modules="dialog"> var tabTitle = $( "#tab_title" ), tabContent = $( "#tab_content" ), tabTemplate = "<li><a href='#{href}'>#{label}</a> <span class='ui-icon ui-icon-close' role='presentation'>Remove Tab</span></li>", tabCounter = 2; var tabs = $( "#tabs" ).tabs(); // Modal dialog init: custom buttons and a "close" callback resetting the form inside var dialog = $( "#dialog" ).dialog({ autoOpen: false, modal: true, buttons: { Add: function() { addTab(); $( this ).dialog( "close" ); }, Cancel: function() { $( this ).dialog( "close" ); } }, close: function() { form[ 0 ].reset(); } }); // AddTab form: calls addTab function on submit and closes the dialog var form = dialog.find( "form" ).on( "submit", function( event ) { addTab(); dialog.dialog( "close" ); event.preventDefault(); }); // Actual addTab function: adds new tab using the input from the form above function addTab() { var label = tabTitle.val() || "Tab " + tabCounter, id = "tabs-" + tabCounter, li = $( tabTemplate.replace( /#\{href\}/g, "#" + id ).replace( /#\{label\}/g, label ) ), tabContentHtml = tabContent.val() || "Tab " + tabCounter + " content."; tabs.find( ".ui-tabs-nav" ).append( li ); tabs.append( "<div id='" + id + "'><p>" + tabContentHtml + "</p></div>" ); tabs.tabs( "refresh" ); tabCounter++; } // AddTab button: just opens the dialog $( "#add_tab" ) .button() .on( "click", function() { dialog.dialog( "open" ); }); // Close icon: removing the tab on click tabs.on( "click", "span.ui-icon-close", function() { var panelId = $( this ).closest( "li" ).remove().attr( "aria-controls" ); $( "#" + panelId ).remove(); tabs.tabs( "refresh" ); }); tabs.on( "keyup", function( event ) { if ( event.altKey && event.keyCode === $.ui.keyCode.BACKSPACE ) { var panelId = tabs.find( ".ui-tabs-active" ).remove().attr( "aria-controls" ); $( "#" + panelId ).remove(); tabs.tabs( "refresh" ); } }); </script> </head> <body> <div id="dialog" title="Tab data"> <form> <fieldset class="ui-helper-reset"> <label for="tab_title">Title</label> <input type="text" name="tab_title" id="tab_title" value="Tab Title" class="ui-widget-content ui-corner-all"> <label for="tab_content">Content</label> <textarea name="tab_content" id="tab_content" class="ui-widget-content ui-corner-all">Tab content</textarea> </fieldset> </form> </div> <button id="add_tab">Add Tab</button> <div id="tabs"> <ul> <li><a href="#tabs-1">Nunc tincidunt</a> <span class="ui-icon ui-icon-close" role="presentation">Remove Tab</span></li> </ul> <div id="tabs-1"> <p>Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum. Nunc tristique tempus lectus.</p> </div> </div> <div class="demo-description"> <p>Simple tabs adding and removing.</p> </div> </body> </html>