|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- ---
- 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 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.
-
-
- == Choice between declarative and dynamic UIs
-
- The Web is inherently document-centered and very much bound to the declarative presentation of user interfaces.
- Vaadin allows for declarative designs of views, layouts, and even entire UIs.
- Vaadin Designer enables creating such designs visually.
- Nevertheless, the programmatic approach by building the UIs from Java components frees the programmer from its 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.
|