You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

clientside-overview.asciidoc 1.9KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. ---
  2. title: Overview
  3. order: 1
  4. layout: page
  5. ---
  6. [[clientside.overview]]
  7. = Overview
  8. As noted in the introduction, Vaadin supports two development models:
  9. server-side and client-side. Client-side Vaadin code is executed in the web
  10. browser as JavaScript code. The code is written in Java, like all Vaadin code,
  11. and then compiled to JavaScript with the __Vaadin Client Compiler__. You can
  12. develop client-side widgets and integrate them with server-side counterpart
  13. components to allow using them in server-side Vaadin applications. That is how
  14. the components in the server-side framework and in most add-ons are done.
  15. Alternatively, you can create pure client-side GWT applications, which you can
  16. simply load in the browser from an HTML page and use even without server-side
  17. connectivity.
  18. The client-side framework is based on the Google Web Toolkit (GWT), with added
  19. features and bug fixes. Vaadin is compatible with GWT to the extent of the basic
  20. GWT feature set. Vaadin Ltd is a member of the GWT Steering Committee, working
  21. on the future direction of GWT together with Google and other supporters of GWT.
  22. [NOTE]
  23. .Widgets and Components
  24. ====
  25. ((("widget,
  26. definition")))
  27. Google Web Toolkit uses the term __widget__ for user interface components. In
  28. this book, we use the term widget to refer to client-side components, while
  29. using the term __component__ in a general sense and also in the special sense
  30. for server-side components.
  31. ====
  32. The main idea in server-side Vaadin development is to render the server-side
  33. components in the browser with the Client-Side Engine. The engine is essentially
  34. a set of widgets paired with __connectors__ that serialize their state and
  35. events with the server-side counterpart components. The client-side engine is
  36. technically called a __widget set__, to describe the fact that it mostly
  37. consists of widgets and that widget sets can be combined, as described later.