SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies
Scala on Android: Experiences at Bump Technologies

Más contenido relacionado

Destacado

Lovely Bump Presentation
Lovely Bump PresentationLovely Bump Presentation
Lovely Bump PresentationMarissa Pawlak
 
Flip Chip technology
Flip Chip technologyFlip Chip technology
Flip Chip technologyMantra VLSI
 
Physical design
Physical design Physical design
Physical design Mantra VLSI
 
wireless electricity ppt presentation by Ashish raj sahu 1112232015 (uptu)
wireless electricity ppt presentation by   Ashish raj sahu 1112232015 (uptu)wireless electricity ppt presentation by   Ashish raj sahu 1112232015 (uptu)
wireless electricity ppt presentation by Ashish raj sahu 1112232015 (uptu)ASHISH RAJ
 
Wireless mobile charging using microwaves full report
Wireless mobile charging using microwaves full reportWireless mobile charging using microwaves full report
Wireless mobile charging using microwaves full reportAyswarya Ayshu P R
 
wireless charging of mobile phones using microwave full seminar report
wireless charging of mobile phones using microwave full seminar reportwireless charging of mobile phones using microwave full seminar report
wireless charging of mobile phones using microwave full seminar reportHarish N Nayak
 
A seminar on Nanorobotics
A seminar on NanoroboticsA seminar on Nanorobotics
A seminar on Nanoroboticspooja mote
 
Biometric's final ppt
Biometric's final pptBiometric's final ppt
Biometric's final pptAnkita Vanage
 
Еmail vs Social — Евгений Вольнов
Еmail vs Social — Евгений ВольновЕmail vs Social — Евгений Вольнов
Еmail vs Social — Евгений ВольновMaria Podolyak
 
INFLUENZA H1N1, desde la ciencia, el mito y la realidad
INFLUENZA H1N1, desde la ciencia, el mito y la realidadINFLUENZA H1N1, desde la ciencia, el mito y la realidad
INFLUENZA H1N1, desde la ciencia, el mito y la realidadPablo Gallegos
 
Converting Your Crowd for Culture Days, National Arts Congress
Converting Your Crowd for Culture Days, National Arts CongressConverting Your Crowd for Culture Days, National Arts Congress
Converting Your Crowd for Culture Days, National Arts CongressLiesl Barrell
 
More than a 1000 words
More than a 1000 wordsMore than a 1000 words
More than a 1000 wordsTimothy Kunau
 
Connect the Dots: Set yourself apart in a saturated market.
Connect the Dots: Set yourself apart in a saturated market.Connect the Dots: Set yourself apart in a saturated market.
Connect the Dots: Set yourself apart in a saturated market.Footprint Consulting Group
 

Destacado (20)

Lovely Bump Presentation
Lovely Bump PresentationLovely Bump Presentation
Lovely Bump Presentation
 
Flip Chip technology
Flip Chip technologyFlip Chip technology
Flip Chip technology
 
Witricity PPT
Witricity PPTWitricity PPT
Witricity PPT
 
Physical design
Physical design Physical design
Physical design
 
WiTricity
WiTricityWiTricity
WiTricity
 
wireless electricity ppt presentation by Ashish raj sahu 1112232015 (uptu)
wireless electricity ppt presentation by   Ashish raj sahu 1112232015 (uptu)wireless electricity ppt presentation by   Ashish raj sahu 1112232015 (uptu)
wireless electricity ppt presentation by Ashish raj sahu 1112232015 (uptu)
 
Wireless mobile charging using microwaves full report
Wireless mobile charging using microwaves full reportWireless mobile charging using microwaves full report
Wireless mobile charging using microwaves full report
 
wireless charging of mobile phones using microwave full seminar report
wireless charging of mobile phones using microwave full seminar reportwireless charging of mobile phones using microwave full seminar report
wireless charging of mobile phones using microwave full seminar report
 
A seminar on Nanorobotics
A seminar on NanoroboticsA seminar on Nanorobotics
A seminar on Nanorobotics
 
Biometric's final ppt
Biometric's final pptBiometric's final ppt
Biometric's final ppt
 
Bubble Power
Bubble PowerBubble Power
Bubble Power
 
вебинары конф
вебинары конфвебинары конф
вебинары конф
 
Еmail vs Social — Евгений Вольнов
Еmail vs Social — Евгений ВольновЕmail vs Social — Евгений Вольнов
Еmail vs Social — Евгений Вольнов
 
INFLUENZA H1N1, desde la ciencia, el mito y la realidad
INFLUENZA H1N1, desde la ciencia, el mito y la realidadINFLUENZA H1N1, desde la ciencia, el mito y la realidad
INFLUENZA H1N1, desde la ciencia, el mito y la realidad
 
Famous slogans
Famous slogansFamous slogans
Famous slogans
 
Kibice
KibiceKibice
Kibice
 
Converting Your Crowd for Culture Days, National Arts Congress
Converting Your Crowd for Culture Days, National Arts CongressConverting Your Crowd for Culture Days, National Arts Congress
Converting Your Crowd for Culture Days, National Arts Congress
 
More than a 1000 words
More than a 1000 wordsMore than a 1000 words
More than a 1000 words
 
Unit 2.11 - Forms
Unit 2.11 - FormsUnit 2.11 - Forms
Unit 2.11 - Forms
 
Connect the Dots: Set yourself apart in a saturated market.
Connect the Dots: Set yourself apart in a saturated market.Connect the Dots: Set yourself apart in a saturated market.
Connect the Dots: Set yourself apart in a saturated market.
 

Más de Michael Galpin

Android lessons you won't learn in school
Android lessons you won't learn in schoolAndroid lessons you won't learn in school
Android lessons you won't learn in schoolMichael Galpin
 
Design Patterns for Tablets and Smartphones
Design Patterns for Tablets and SmartphonesDesign Patterns for Tablets and Smartphones
Design Patterns for Tablets and SmartphonesMichael Galpin
 
That’s My App - Running in Your Background - Draining Your Battery
That’s My App - Running in Your Background - Draining Your BatteryThat’s My App - Running in Your Background - Draining Your Battery
That’s My App - Running in Your Background - Draining Your BatteryMichael Galpin
 
Persistent Data Structures And Managed References
Persistent Data Structures And Managed ReferencesPersistent Data Structures And Managed References
Persistent Data Structures And Managed ReferencesMichael Galpin
 
Mobile Development 101
Mobile Development 101Mobile Development 101
Mobile Development 101Michael Galpin
 
RIAs Done Right: Grails, Flex, and EXT GWT
RIAs Done Right: Grails, Flex, and EXT GWTRIAs Done Right: Grails, Flex, and EXT GWT
RIAs Done Right: Grails, Flex, and EXT GWTMichael Galpin
 
Introduction to Scala for Java Developers
Introduction to Scala for Java DevelopersIntroduction to Scala for Java Developers
Introduction to Scala for Java DevelopersMichael Galpin
 

Más de Michael Galpin (12)

Android lessons you won't learn in school
Android lessons you won't learn in schoolAndroid lessons you won't learn in school
Android lessons you won't learn in school
 
Design Patterns for Tablets and Smartphones
Design Patterns for Tablets and SmartphonesDesign Patterns for Tablets and Smartphones
Design Patterns for Tablets and Smartphones
 
Android workshop
Android workshopAndroid workshop
Android workshop
 
That’s My App - Running in Your Background - Draining Your Battery
That’s My App - Running in Your Background - Draining Your BatteryThat’s My App - Running in Your Background - Draining Your Battery
That’s My App - Running in Your Background - Draining Your Battery
 
Mobile Web 5.0
Mobile Web 5.0Mobile Web 5.0
Mobile Web 5.0
 
Persistent Data Structures And Managed References
Persistent Data Structures And Managed ReferencesPersistent Data Structures And Managed References
Persistent Data Structures And Managed References
 
Scala on Your Phone
Scala on Your PhoneScala on Your Phone
Scala on Your Phone
 
Mobile Development 101
Mobile Development 101Mobile Development 101
Mobile Development 101
 
RIAs Done Right: Grails, Flex, and EXT GWT
RIAs Done Right: Grails, Flex, and EXT GWTRIAs Done Right: Grails, Flex, and EXT GWT
RIAs Done Right: Grails, Flex, and EXT GWT
 
Eclipse @eBay 2009
Eclipse @eBay 2009Eclipse @eBay 2009
Eclipse @eBay 2009
 
Introduction to Scala for Java Developers
Introduction to Scala for Java DevelopersIntroduction to Scala for Java Developers
Introduction to Scala for Java Developers
 
Eclipse@eBay
Eclipse@eBayEclipse@eBay
Eclipse@eBay
 

Último

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 

Último (20)

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 

Notas del editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. Example of some dense Scala code from Bump. Imagine what this would look like in Java.\n
  32. That’s Indy driving. Michael is in the passenger seat. Obviously this picture was taken a few months ago when he had more hair.\n
  33. \n
  34. ADT and Scala plugins do not play well together. You can get them to not step on each other so much, but your life will still suck.\n
  35. ADT and Scala plugins do not play well together. You can get them to not step on each other so much, but your life will still suck.\n
  36. ADT and Scala plugins do not play well together. You can get them to not step on each other so much, but your life will still suck.\n
  37. ADT and Scala plugins do not play well together. You can get them to not step on each other so much, but your life will still suck.\n
  38. ADT and Scala plugins do not play well together. You can get them to not step on each other so much, but your life will still suck.\n
  39. But wait, didn’t we pick Scala because of the promised developer productivity?\n
  40. How we got our agility back\n
  41. How we got our agility back\n
  42. How we got our agility back\n
  43. How we got our agility back\n
  44. How we got our agility back\n
  45. How we got our agility back\n
  46. \n
  47. Scalac compiler pukes on the Java code produced by the protocol buffers Java compiler, hence initial javac step. Pro Guard rips out Scala code from scala-library.jar that we don’t need. Dex is the Android compiler. It takes Java class files and produces Dalvik byte code.\n
  48. Build everything, rip out app code, put the rest in a jar, and then use Eclipse/IntelliJ.\n
  49. Android Parcelables require a public static field called PARCELABLE. A val in a companion object offers equivalent functionality, but is compiled into a method, not a field. Scala team hacked the compiler for Android as result: https://lampsvn.epfl.ch/trac/scala/changeset/22628\n
  50. ~7M total downloads. 4 star rating. Featured on the Android Market. \n
  51. Tricky to access non-static inner classes defined in Java, such as android.os.PowerManager.WakeLock\nCan’t send Scala collections between processes\nClosures -> Mystery classes -> Many allocations and leaked memory\nHard to debug crashes that happen on a line with multiple statements, closures, etc.\n
  52. Hiring. Hiring. Hiring. Hiring. Hiring. Hiring. Hiring. Hiring. Hiring. Hiring. Hiring. Hiring. Hiring. Hiring. \n