summaryrefslogtreecommitdiffstats
path: root/documentation/introduction/intro-goals.asciidoc
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/introduction/intro-goals.asciidoc')
-rw-r--r--documentation/introduction/intro-goals.asciidoc53
1 files changed, 53 insertions, 0 deletions
diff --git a/documentation/introduction/intro-goals.asciidoc b/documentation/introduction/intro-goals.asciidoc
new file mode 100644
index 0000000000..0972a998cf
--- /dev/null
+++ b/documentation/introduction/intro-goals.asciidoc
@@ -0,0 +1,53 @@
+---
+title: Goals and Philosophy
+order: 4
+layout: page
+---
+
+[[intro.goals]]
+= Goals and Philosophy
+
+Simply put, Vaadin's ambition is to be the best possible tool when it comes to
+creating web user interfaces for business applications. It is easy to adopt, as
+it is designed to support both entry-level and advanced programmers, as well as
+usability experts and graphic designers.
+
+When designing Vaadin, we have followed the philosophy inscribed in the
+following rules.
+
+== Right tool for the right purpose
+
+Because our goals are high, the focus must be clear. Vaadin is designed for
+creating web applications. It is not designed for creating websites or
+advertisement demos. You may find, for example, JSP/JSF or Flash more suitable
+for such purposes.
+
+
+== Simplicity and maintainability
+
+We have chosen to emphasize robustness, simplicity, and maintainability. This
+involves following the well-established best practices in user interface
+frameworks and ensuring that our implementation represents an ideal solution for
+its purpose without clutter or bloat.
+
+
+== XML is not designed for programming
+
+The Web is inherently document-centered and very much bound to the declarative
+presentation of user interfaces. While Vaadin allows for declarative designs of
+views, layouts, and even entire UIs, the programmatic approach by building the
+UIs from Java components frees the programmer from these limitations. To create
+highly dynamic views, it is more natural to create them by programming.
+
+
+== Tools should not limit your work
+
+There should not be any limits on what you can do with the framework: if for
+some reason the user interface components do not support what you need to
+achieve, it must be easy to add new ones to your application. When you need to
+create new components, the role of the framework is critical: it makes it easy
+to create re-usable components that are easy to maintain.
+
+
+
+