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.

intro-background.asciidoc 5.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. ---
  2. title: Background
  3. order: 5
  4. layout: page
  5. ---
  6. [[intro.background]]
  7. = Background
  8. The Vaadin Framework was not written overnight. After working with web user
  9. interfaces since the beginning of the Web, a group of developers got together in
  10. 2000 to form IT Mill. The team had a desire to develop a new programming
  11. paradigm that would support the creation of real user interfaces for real
  12. applications using a real programming language.
  13. The library was originally called Millstone Library. The first version was used
  14. in a large production application that IT Mill designed and implemented for an
  15. international pharmaceutical company. IT Mill made the application already in
  16. the year 2001 and it is still in use. Since then, the company has produced
  17. dozens of large business applications with the library and it has proven its
  18. ability to solve hard problems easily.
  19. Millstone 3 was released as open source in 2002.
  20. Progress has often required hard decisions to avoid carrying unnecessary legacy burden far into the future.
  21. Nevertheless, our aim has always been to keep migrations easy.
  22. [[intro.background.toolkit-5]]
  23. == Release 4 with Single-Page Rendering
  24. The next generation of the library, IT Mill Toolkit 4, was released in 2006.
  25. It introduced an entirely new AJAX-based presentation engine.
  26. This allowed the development of AJAX applications without the need to worry about communications between the client and the server.
  27. [[intro.background.toolkit-5]]
  28. == Release 5 Powered by GWT
  29. ((("IT Mill Toolkit")))
  30. ((("AJAX")))
  31. IT Mill Toolkit 5, released initially at the end of 2007, took a significant
  32. step further into AJAX. The client-side rendering of the user interface was
  33. completely rewritten using GWT, the Google Web Toolkit.
  34. ((("Google Web Toolkit")))
  35. IT Mill Toolkit 5 introduced many significant improvements both in the
  36. server-side API and in the functionality. Rewriting the Client-Side Engine with
  37. GWT allowed the use of Java both on the client and the server-side. The
  38. transition from JavaScript to GWT made the development and integration of custom
  39. components and customization of existing components much easier than before, and
  40. it also allows easy integration of existing GWT components. The adoption of GWT
  41. on the client-side did not, by itself, cause any changes in the server-side API,
  42. because GWT is a browser technology that is hidden well behind the API. Also
  43. theming was completely revised in IT Mill Toolkit 5.
  44. The Release 5 was published under the Apache License 2, an unrestrictive open
  45. source license, to create faster expansion of the user base and to make the
  46. formation of a developer community possible.
  47. [[intro.background.vaadin6]]
  48. == Birth of Vaadin Release 6
  49. IT Mill Toolkit was renamed as _Vaadin Framework_, or Vaadin in short, in
  50. spring 2009. Later IT Mill, the company, was also renamed as Vaadin Ltd.
  51. Vaadin means an adult female semi-domesticated mountain reindeer in Finnish.
  52. With Vaadin 6, the number of developers using the framework exploded. Together
  53. with the release, the Vaadin Plugin for Eclipse was released, helping the
  54. creation of Vaadin projects. The introduction of Vaadin Directory in early 2010
  55. gave it a further boost, as the number of available components multiplied almost
  56. overnight. Many of the originally experimental components have since then
  57. matured and are now used by thousands of developers. In 2013, we are seeing
  58. tremendous growth in the ecosystem around Vaadin. The size of the user
  59. community, at least if measured by forum activity, has already gone past the
  60. competing server-side frameworks and even GWT.
  61. [[intro.background.vaadin7]]
  62. == The Major Revision with Vaadin 7
  63. Vaadin 7 was a major revision that changed the Vaadin API much more than Vaadin
  64. 6 did.
  65. It became more web-oriented than Vaadin 6 was.
  66. We are doing everything we can to help Vaadin rise high in the web universe.
  67. Some of this work is easy and almost routine - fixing bugs and implementing features.
  68. But going higher also requires standing firmer.
  69. That was one of the aims of Vaadin 7 - redesigning the product so that the new architecture enables Vaadin to reach over many long-standing challenges.
  70. Inclusion of the Google Web Toolkit in Vaadin 7 was a significant development,
  71. as it meant that Vaadin now provides support for GWT as well. When Google opened
  72. the GWT development in summer 2012, Vaadin (the company) joined the new GWT
  73. steering committee. As a member of the committee, Vaadin can work towards the
  74. success of GWT as a foundation of the Java web development community.
  75. [[intro.background.vaadin8]]
  76. == Vaadin Framework 8 with New Data Binding API
  77. The biggest change in Vaadin Framework 8 is the complete modernization of the data binding API.
  78. Binding components to data sources is one of the core features of the Vaadin Framework, as it eliminates the need to explicitly shuffle data between components and data objects, typically beans.
  79. The old data model was designed in time before Java features such as generics.
  80. While the data model was improved over the years, it was fundamentally outdated and complex to use.
  81. The new data binding API works much more fluently in Java 8, especially with Java 8 features such as lambda expressions and streams.
  82. Consequently, to be able to fully use the new features of Java 8, we have raised the requirements from Java 6 to 8.
  83. The change should make Vaadin Framework up to date with the most current Java technologies used by developers.