SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
Scala on Google App Engine


        Eishay Smith
           KaChing
Who Am I

    kaChing - Rocking the inventing world ! 
    Scala @ LinkedIn
    Blogging http://www.eishay.com
    Newspipes
        http://github.com/eishay/newspipes
    kaChing Twitter Bot
        http://code.google.com/p/kaching-twitter/
    Presented:
            "Absorbing Scala into Java Ecosystem"
Google App Engine

 Run your web apps on Google's infrastructure. 
    Easy to build, easy to maintain, easy to scale.  
 Now with Java 
    And a host of languages  that run on the JVM
          JRuby, Groovy, Scala, Jython, ...
Tooling

 Eclipse
    Great GAE support for Java with GWT and JDO
    Some problems coming to Scala
 Ant
    All you need
    Longer development/test cycle
 Oher IDEs
    Netbeans
    IDEA
Scala and Google Web Toolkit (GWT)

    GWT - quickly build and maintain complex & performant
    JavaScript front-end apps written in Java (NOT Scala)
       GWT actually compiles the Java source code
    A GWT class should not reference any Scala class
       Still, GWT is super cool, use it!
 
    You can still have 99% of the server side in Scala
       Use Java only for service interfaces
       Use Scala for the rest
Use interface

To buffer between Scala and GWT code
Implement using the best language

 
Use From GWT

 
One XML to bind them all

 
Regular HttpServlet

 
With Regular Binding

 
Scala @ JDO: Spelling it out




Similar to the Java JDO
Using the same annotations
Scala @ JDO: ANT

 The ORM enhancer works on the class files
   Bytecode instrumentation
   Does not matter if its Java or Scala
Scala @ JDO: Eclipse Support

 Not really working since the IDE is looking for Java
 source files to instrument
 The solution is to use Eclipse Builders
  Have the ANT JDO builder building after compilation
 Provide an appengine.sdk path to the jar Eclipse use
More Limitations

 Same limitations as in Java
    IO libraries
    Threading
 Can't open new threads => Actors in a same thread mode 
    Lift on a single threaded Actor is happy
Building
Scala
Scalac knows
how to read
java code !
Needed for
circular
dependencies.
We Are Hiring !

Weitere ähnliche Inhalte

Empfohlen

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 HealthThinkNow
 
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.pdfmarketingartwork
 
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 2024Neil Kimberley
 
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)contently
 
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 2024Albert Qian
 
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 InsightsKurio // The Social Media Age(ncy)
 
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 2024Search Engine Journal
 
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 summarySpeakerHub
 
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 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 Tessa Mero
 
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 IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
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 managementMindGenius
 
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...RachelPearson36
 
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...Applitools
 
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 WorkGetSmarter
 

Empfohlen (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
 

A First Look At Scala On Google App Engine

  • 1. Scala on Google App Engine Eishay Smith KaChing
  • 2. Who Am I kaChing - Rocking the inventing world !  Scala @ LinkedIn Blogging http://www.eishay.com Newspipes http://github.com/eishay/newspipes kaChing Twitter Bot http://code.google.com/p/kaching-twitter/ Presented:             "Absorbing Scala into Java Ecosystem"
  • 3. Google App Engine Run your web apps on Google's infrastructure.  Easy to build, easy to maintain, easy to scale.   Now with Java  And a host of languages  that run on the JVM JRuby, Groovy, Scala, Jython, ...
  • 4. Tooling Eclipse Great GAE support for Java with GWT and JDO Some problems coming to Scala Ant All you need Longer development/test cycle Oher IDEs Netbeans IDEA
  • 5. Scala and Google Web Toolkit (GWT) GWT - quickly build and maintain complex & performant JavaScript front-end apps written in Java (NOT Scala) GWT actually compiles the Java source code A GWT class should not reference any Scala class Still, GWT is super cool, use it!   You can still have 99% of the server side in Scala Use Java only for service interfaces Use Scala for the rest
  • 6. Use interface To buffer between Scala and GWT code
  • 7. Implement using the best language  
  • 9. One XML to bind them all  
  • 12. Scala @ JDO: Spelling it out Similar to the Java JDO Using the same annotations
  • 13. Scala @ JDO: ANT The ORM enhancer works on the class files Bytecode instrumentation Does not matter if its Java or Scala
  • 14. Scala @ JDO: Eclipse Support Not really working since the IDE is looking for Java source files to instrument The solution is to use Eclipse Builders  Have the ANT JDO builder building after compilation Provide an appengine.sdk path to the jar Eclipse use
  • 15. More Limitations Same limitations as in Java IO libraries Threading Can't open new threads => Actors in a same thread mode  Lift on a single threaded Actor is happy
  • 16. Building Scala Scalac knows how to read java code ! Needed for circular dependencies.