SlideShare a Scribd company logo
1 of 22
Download to read offline
Using Vaadin to create
                                  HTML5-enabled web
                                  apps in pure Scala
twitter: #vaadin @henrimuurimaa




                                                Henri Muurimaa
                                                    Vaadin Ltd
                                                   henri@vaadin.com




       14. marraskuuta 11
Scala in
                     2 slides

14. marraskuuta 11
Scala is ...
                       A multiparadigm language created by
                       Martin Odersky from Typesafe


                       Object-oriented: every value is an object
                       Functional: every function is a value

                       Java compatible: Runs on the JVM and
                       integrates with Java tools and
                       technologies



14. marraskuuta 11
Cross-document
        messaging                                Document
                                                  editing
 Multimedia
                                                Microdata
              Offline storage


    Markup                                        Canvas
 improvements                                    History
                                               management
                     Forms

    Geolocation                Drag-and-drop     File API
14. marraskuuta 11
Cross-document
        messaging                                Document
                                                  editing
 Multimedia
                                                Microdata
              Offline storage


    Markup                                        Canvas
 improvements                                    History
                                               management
                     Forms

    Geolocation                Drag-and-drop     File API
14. marraskuuta 11
Canvas

14. marraskuuta 11
14. marraskuuta 11
14. marraskuuta 11
Vaadin is a
               UI framework
             for desktop-like
                    web apps


14. marraskuuta 11
New configs,
    taglibs and
    syntax!?!

           No! {
    JavaScript,
    DOM, Applet,
    plugins?
                     This is
                     Nothin  Saaa
                             Jc v la
                            g else
                                    .


14. marraskuuta 11
14. marraskuuta 11
Vaadin UI component
    architecture
                                      HTTP(S)
         “UI Component”                         “Widget”
         • Button, Table, Tree, ...             • Client-side peer for
         • Server-side data                       the component
         • Full Java API                        • Runs on JavaScript




               Java, Scala, ...                  Java

               • Compiled with JDK               • Google Web Toolkit



14. marraskuuta 11
14. marraskuuta 11
14. marraskuuta 11
14. marraskuuta 11
What can we do
               in 20 minutes?

14. marraskuuta 11
Conway’s
            Game of Life


14. marraskuuta 11
The universe of the Game of Life is an
                     infinite two-dimensional orthogonal
                     grid of square cells, each of which is
                     in one of two possible states, alive or
                     dead. Every cell interacts with its
                     eight neighbors.
                                              -- Wikipedia



14. marraskuuta 11
Evolution
                     A living cell with less than 2 or
                     more than 3 live neighbors dies


                     A living cell with 2 or 3 living
                     neighbors stays alive


                     A dead cell with exactly 3 living
                     neighbors becomes alive



14. marraskuuta 11
Sources


          http://github.com/hezamu/Devoxx2011




14. marraskuuta 11
Vaadin BOF today
                     at 19.00 in room BOF 2!


  GET A
  Free
  Copy
14. marraskuuta 11
Questions
              Comments




                          henri@vaadin.com
                              vaadin.com/henri
                            Twitte r: @henrimuurimaa


14. marraskuuta 11

More Related Content

Featured

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 

Using Vaadin to create HTML5-enabled web apps in pure Scala

  • 1. Using Vaadin to create HTML5-enabled web apps in pure Scala twitter: #vaadin @henrimuurimaa Henri Muurimaa Vaadin Ltd henri@vaadin.com 14. marraskuuta 11
  • 2. Scala in 2 slides 14. marraskuuta 11
  • 3. Scala is ... A multiparadigm language created by Martin Odersky from Typesafe Object-oriented: every value is an object Functional: every function is a value Java compatible: Runs on the JVM and integrates with Java tools and technologies 14. marraskuuta 11
  • 4. Cross-document messaging Document editing Multimedia Microdata Offline storage Markup Canvas improvements History management Forms Geolocation Drag-and-drop File API 14. marraskuuta 11
  • 5. Cross-document messaging Document editing Multimedia Microdata Offline storage Markup Canvas improvements History management Forms Geolocation Drag-and-drop File API 14. marraskuuta 11
  • 9. Vaadin is a UI framework for desktop-like web apps 14. marraskuuta 11
  • 10. New configs, taglibs and syntax!?! No! { JavaScript, DOM, Applet, plugins? This is Nothin Saaa Jc v la g else . 14. marraskuuta 11
  • 12. Vaadin UI component architecture HTTP(S) “UI Component” “Widget” • Button, Table, Tree, ... • Client-side peer for • Server-side data the component • Full Java API • Runs on JavaScript Java, Scala, ... Java • Compiled with JDK • Google Web Toolkit 14. marraskuuta 11
  • 16. What can we do in 20 minutes? 14. marraskuuta 11
  • 17. Conway’s Game of Life 14. marraskuuta 11
  • 18. The universe of the Game of Life is an infinite two-dimensional orthogonal grid of square cells, each of which is in one of two possible states, alive or dead. Every cell interacts with its eight neighbors. -- Wikipedia 14. marraskuuta 11
  • 19. Evolution A living cell with less than 2 or more than 3 live neighbors dies A living cell with 2 or 3 living neighbors stays alive A dead cell with exactly 3 living neighbors becomes alive 14. marraskuuta 11
  • 20. Sources http://github.com/hezamu/Devoxx2011 14. marraskuuta 11
  • 21. Vaadin BOF today at 19.00 in room BOF 2! GET A Free Copy 14. marraskuuta 11
  • 22. Questions Comments henri@vaadin.com vaadin.com/henri Twitte r: @henrimuurimaa 14. marraskuuta 11