SlideShare ist ein Scribd-Unternehmen logo
DROIDCON
BERLIN 2018
Bartosz Kosarzycki
@bkosarzycki
Michał Radtke
Jun 25-27, 2018
Summary 2018
- 1200+ Attendees
- 10th anniversary (started with 200 devs in 2009)
- 3 days, 5 tracks, 100+ sessions
- Android, Kotlin, Machine Learning, Flutter, AI, VR,
AR, Android-For-Business, Chromebooks,
Tensor-Flow, SAP and more
- Introduced Global Community Platform
Our summary
- ⅕ - Kotlin as a language, improvements, libraries, DSL
- ⅕ - Gradle performance improvements / tweaks
- ⅕ - Android for business / Chromebooks
- ⅕ - RxJava must die, get rid of Java style in Kotlin
- ⅕ - Commercial e.g. Huawei AI, Google Cloud etc.
Global Community
Platform - DroidCon
- Knowledge exchange platform
- “Online DroidCon”
- Videos/Tutorials/Presentations
- InVision project (not implemented yet)
Blurring the line between native and the web
- History: J2ObjC, GWT -> multi-platform frameworks
- Based on Kotlin
- Runs on Android/iOS/Linux/MacOS/Chromebook/Win
- Uses kotlin-native - platform independent code
- Chromebooks: run android apps and linux native apps (Android Studio)
- Webapps: background sync api, web notifications, getUserMedia (mic, cam), webVR,
webBluetooth, webUSB
Jake Wharthon
HERDING LLAMAS IN YOUR FLAT - A DEEP DIVE
INTO ARCORE AND SCENEFORM
- http://poly.google.com/ - Google polygon database
- ArFragment, ArSceneView
- CollisionDetection -> resolveOverlap()
- Renderable -> casting shadows
- SFAs Polygons, file formats
- Emulator support
- AndroidStudio SceneForm plugin
Steven Mohr
link
link
link
link
link
link
link
link
OLGA NAGATOVA - Polygon Artist
- http://www.nabatova.ca/ - Personal Website
AUGMENTED REALITY FOR EVERYONE,
EVERYWHERE WITH ARCORE
- ARCore utilization
Till Krempel
Gradle performance
- Min SDK 21 - 30% faster build
- Better hardware
- Project modularisation (module per feature)
- Parallel gradle task execution
- Offline gradle builds
BUILD A REACTIVE FLUTTER APP!
- How to write Reactive Flutter Apps
- Hired by google to write flutter cookbook
- layered, modular, testable, SOLID
- StatefulWidget
Brian Egan
Groupon - Showcase app
Tomek Polanski
- How he convinced Groupon to write Flutter app
- Started from scratch
- Success story
+
Chrome OS apps
ANDROID ENTERPRISE ON CHROME OS
- Target API 23+
- Prepare Android apps for Chromebooks
- Touchpad gestures
- Be ready for keyboard/mouse support (keyboard shortcuts, arrows, mouse right click)
- Stylus support
- Dynamic window management (resizing)
- ChromeOS emulator
- AndroidStudio for ChromeOS (works only
PixelBooks as of now)
- https://twitter.com/KennethFSWE/status/953766120502292480
- medium
Kenneth Ford
VIDEO: LINK
STATE OF KOTLIN LANG
- THE STATE OF THE KOTLIN ECOSYSTEM
Zan Markan
STATE OF KOTLIN LANG
SHARE CODE IN KOTLIN
- Alternative to C++
- Alternative to Xamarin common code
- Android / iOS
- “(CODE) SHARING IS CARING”
- inject platform specific logic into shared code
Tobias Heine Said Tahsin Dane
Rx… Does it need to die?
- Developers tend to use it even for simple event handling (e.g. on clicks) tasks or API request
- Rx should be used only for handling complex streams of data
- Rx introduces new kinds of issues if you don’t use it daily
- You can easily use coroutines instead of Rx
- Created in times of Java 6;
not-needed while Java 8/Kotlin is available
- proactively ask the question:
is this a reactive scenario?
- It’s harder to write unit tests when you use RX
If possible, use native tools, like
Coroutines in Kotlin, LiveData, etc.
Christof Vollrath - notes
link
GRAPHQL
- Apollo library - caching graphQL client for mobile
- developed by Facebook
- like SQL for data
- GraphSQL vs REST - you get only what you want
- single endpoint: /graphql
- Presentation about UFO sightings ;)
CHEATSHEET - link
Annyce Davis
KOIN
- Kotlin allows us to use DSL instead of Annotation Processors
- Annotation Processors are slow
- Annotation Processors (as of now) kill Gradle incremental compilation
- KOIN vs Dagger 2
Danny Preussler
FONTS, EMOJI AND TEXT USING SUPPORT
LIBRARIES
- Easily import fonts
- EmojiAppCompat usage
- EmojiTextViewHelper for customs views
- Downloadable fonts (from Google resources,
can be downloaded during app installation)
- TextView auto-sizing (width and height shouldn’t be
wrap_content)
Anita Singh
TENSOR FLOW - on mobile
- Machine Learning APIs - Google // IBM // Microsoft
- Deep neural network
- pix2pix tool
- cat model -> 680 MB -> SO OPTIMISE!
- Draw to pix sample app
Attila Blenesi
VIDEO: LINK
MOBIUS - LOOPY UI
- State management library
- Kotlin data classes represent events
- Events, inputs, Effects
- Presentation
Petter Mahlen
Kirin 970 first introduced a dedicated Neural Processing Unit (NPU) on the mobile AI computing platform
BUILDING A DECENTRALIZED
APP ON ANDROID
- “OPPORTUNITIES IN THE DECENTRALIZED APPS WORLD”
- you're told who the user is
- only the user can decrypt the data
- decentralized app: authentication & encryption & storage
- S3-like storage
- keys generated on device
- GDPR world in European Union
- Facebook “leaks”
Friedger Müffke
APPLICATION STORE:
https://app.co/
Data Binding on Android
Ash Davies
GITLAB - THE BEST APPS ARE BUILT IN
PYJAMA-PANTS
- GitLab team around the world
- Run a “daily”, not project related, to talk about personal life and get to know one another
- They run a blog - link
Job van der Voort
HOW TO RUN A COMPANY GUIDE:
HANDBOOK
Onboarding - link
Hiring - link
Spending company money - link
Fun
Links / References
- DroidCon Berlin YouTube channel - link
- DroidCon official website - link
- https://twitter.com/cvollrath
- Machine Learning - link, link, link
- https://medium.com/@sabag.ronen
- https://twitter.com/danlowlows/status/858754840419196929
QUESTIONS?
@bkosarzycki

Weitere ähnliche Inhalte

Was ist angesagt?

Cross platform technologies explained better!
Cross platform technologies explained better!Cross platform technologies explained better!
Cross platform technologies explained better!
Master Software Solutions
 
Android
AndroidAndroid
Android
Murtaza Abbas
 
Adobe Max 2009 - Learnings
Adobe Max 2009 -  LearningsAdobe Max 2009 -  Learnings
Adobe Max 2009 - Learnings
ziblu
 
Technology Application Development Trends For IT Students
Technology Application Development Trends For IT StudentsTechnology Application Development Trends For IT Students
Technology Application Development Trends For IT Students
KMS Technology
 
Adobe AIR & Printing
Adobe AIR & PrintingAdobe AIR & Printing
Adobe AIR & Printing
luca mezzalira
 
W-JAX Keynote 2010
W-JAX Keynote 2010W-JAX Keynote 2010
W-JAX Keynote 2010
Anne Kathrine Petterøe
 
20141216 멜팅팟 부산 세션 ii - cross platform 개발
20141216 멜팅팟 부산   세션 ii - cross platform 개발20141216 멜팅팟 부산   세션 ii - cross platform 개발
20141216 멜팅팟 부산 세션 ii - cross platform 개발
영욱 김
 
Firefox os
Firefox osFirefox os
Firefox os
Shruthi Srigadi
 
Cross Platform Mobile App Development
Cross Platform Mobile App DevelopmentCross Platform Mobile App Development
Cross Platform Mobile App Development
Annmarie Lanesey
 
A Glimpse On MeeGo
A Glimpse On MeeGoA Glimpse On MeeGo
A Glimpse On MeeGo
Amanda Lam
 
Silverlight
SilverlightSilverlight
Silverlight
Murtaza Abbas
 
Building a Cross-Platform Mobile App Backend in the Cloud with Node.js
Building a Cross-Platform Mobile App Backend in the Cloud with Node.jsBuilding a Cross-Platform Mobile App Backend in the Cloud with Node.js
Building a Cross-Platform Mobile App Backend in the Cloud with Node.js
Nick Landry
 
B feigin mobileapplicationdevelopment
B feigin mobileapplicationdevelopmentB feigin mobileapplicationdevelopment
B feigin mobileapplicationdevelopment
sathesh leo
 
Devoxx 2010: Develop mobile applications with Flex
Devoxx 2010: Develop mobile applications with FlexDevoxx 2010: Develop mobile applications with Flex
Devoxx 2010: Develop mobile applications with Flex
Michael Chaize
 
Adobe gaming flash gamm michael
Adobe gaming flash gamm michaelAdobe gaming flash gamm michael
Adobe gaming flash gamm michael
Michael Chaize
 
TiConf.eu -- Titanium Developer Conference in Europe, 2013
TiConf.eu -- Titanium Developer Conference in Europe, 2013TiConf.eu -- Titanium Developer Conference in Europe, 2013
TiConf.eu -- Titanium Developer Conference in Europe, 2013
Jeff Haynie
 
The future of the Adobe Flash platform
The future of the Adobe Flash platformThe future of the Adobe Flash platform
The future of the Adobe Flash platform
Michael Chaize
 
HTML5 App Dev on BlackBerry 10
HTML5 App Dev on BlackBerry 10HTML5 App Dev on BlackBerry 10
HTML5 App Dev on BlackBerry 10
Larry McDonough
 
Appcelerator Titanium at Mobile 2.0
Appcelerator Titanium at Mobile 2.0Appcelerator Titanium at Mobile 2.0
Appcelerator Titanium at Mobile 2.0
Jeff Haynie
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile Development
Intergen
 

Was ist angesagt? (20)

Cross platform technologies explained better!
Cross platform technologies explained better!Cross platform technologies explained better!
Cross platform technologies explained better!
 
Android
AndroidAndroid
Android
 
Adobe Max 2009 - Learnings
Adobe Max 2009 -  LearningsAdobe Max 2009 -  Learnings
Adobe Max 2009 - Learnings
 
Technology Application Development Trends For IT Students
Technology Application Development Trends For IT StudentsTechnology Application Development Trends For IT Students
Technology Application Development Trends For IT Students
 
Adobe AIR & Printing
Adobe AIR & PrintingAdobe AIR & Printing
Adobe AIR & Printing
 
W-JAX Keynote 2010
W-JAX Keynote 2010W-JAX Keynote 2010
W-JAX Keynote 2010
 
20141216 멜팅팟 부산 세션 ii - cross platform 개발
20141216 멜팅팟 부산   세션 ii - cross platform 개발20141216 멜팅팟 부산   세션 ii - cross platform 개발
20141216 멜팅팟 부산 세션 ii - cross platform 개발
 
Firefox os
Firefox osFirefox os
Firefox os
 
Cross Platform Mobile App Development
Cross Platform Mobile App DevelopmentCross Platform Mobile App Development
Cross Platform Mobile App Development
 
A Glimpse On MeeGo
A Glimpse On MeeGoA Glimpse On MeeGo
A Glimpse On MeeGo
 
Silverlight
SilverlightSilverlight
Silverlight
 
Building a Cross-Platform Mobile App Backend in the Cloud with Node.js
Building a Cross-Platform Mobile App Backend in the Cloud with Node.jsBuilding a Cross-Platform Mobile App Backend in the Cloud with Node.js
Building a Cross-Platform Mobile App Backend in the Cloud with Node.js
 
B feigin mobileapplicationdevelopment
B feigin mobileapplicationdevelopmentB feigin mobileapplicationdevelopment
B feigin mobileapplicationdevelopment
 
Devoxx 2010: Develop mobile applications with Flex
Devoxx 2010: Develop mobile applications with FlexDevoxx 2010: Develop mobile applications with Flex
Devoxx 2010: Develop mobile applications with Flex
 
Adobe gaming flash gamm michael
Adobe gaming flash gamm michaelAdobe gaming flash gamm michael
Adobe gaming flash gamm michael
 
TiConf.eu -- Titanium Developer Conference in Europe, 2013
TiConf.eu -- Titanium Developer Conference in Europe, 2013TiConf.eu -- Titanium Developer Conference in Europe, 2013
TiConf.eu -- Titanium Developer Conference in Europe, 2013
 
The future of the Adobe Flash platform
The future of the Adobe Flash platformThe future of the Adobe Flash platform
The future of the Adobe Flash platform
 
HTML5 App Dev on BlackBerry 10
HTML5 App Dev on BlackBerry 10HTML5 App Dev on BlackBerry 10
HTML5 App Dev on BlackBerry 10
 
Appcelerator Titanium at Mobile 2.0
Appcelerator Titanium at Mobile 2.0Appcelerator Titanium at Mobile 2.0
Appcelerator Titanium at Mobile 2.0
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile Development
 

Ähnlich wie DroidCon Berlin 2018 summary

Minko - Creating cross-platform 3D apps with Minko
Minko - Creating cross-platform 3D apps with MinkoMinko - Creating cross-platform 3D apps with Minko
Minko - Creating cross-platform 3D apps with Minko
Minko3D
 
Paris Android LiveCode - Creating cross-platform 3D apps with Minko
Paris Android LiveCode - Creating cross-platform 3D apps with MinkoParis Android LiveCode - Creating cross-platform 3D apps with Minko
Paris Android LiveCode - Creating cross-platform 3D apps with Minko
Minko3D
 
Cross-Platform Mobile Development in Visual Studio
Cross-Platform Mobile Development in Visual StudioCross-Platform Mobile Development in Visual Studio
Cross-Platform Mobile Development in Visual Studio
bryan costanich
 
The Magic of flutter Comex oman 2019
The Magic of flutter Comex oman 2019The Magic of flutter Comex oman 2019
The Magic of flutter Comex oman 2019
Ahmed Abu Eldahab
 
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)
Mark Radacz
 
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019
UA Mobile
 
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019
Eugene Kurko
 
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
IBM Connections Developers
 
Connect 2014 - Key108 - Application Development Strategy
Connect 2014 - Key108  - Application Development StrategyConnect 2014 - Key108  - Application Development Strategy
Connect 2014 - Key108 - Application Development Strategy
Philippe Riand
 
Mobile Application development
Mobile Application developmentMobile Application development
Mobile Application development
MIT Autonomous Aurangabad
 
WebGL games with Minko - Next Game Frontier 2014
WebGL games with Minko - Next Game Frontier 2014WebGL games with Minko - Next Game Frontier 2014
WebGL games with Minko - Next Game Frontier 2014
Minko3D
 
Introduction to MonoTouch
Introduction to MonoTouchIntroduction to MonoTouch
Introduction to MonoTouch
Jonas Follesø
 
Open Kode, Airplay And The New Reality Of Write Once Run Anywhere
Open Kode, Airplay And The New Reality Of Write Once Run AnywhereOpen Kode, Airplay And The New Reality Of Write Once Run Anywhere
Open Kode, Airplay And The New Reality Of Write Once Run Anywhere
guest991eb3
 
Mobile Cross-Platform Development in C++
Mobile Cross-Platform Development in C++Mobile Cross-Platform Development in C++
Mobile Cross-Platform Development in C++
Ragi Burhum Espinoza
 
Rao Yeleswarapu - Moblin Overview Apac Roadshow 2009 For Gnome
Rao Yeleswarapu - Moblin Overview Apac Roadshow 2009 For GnomeRao Yeleswarapu - Moblin Overview Apac Roadshow 2009 For Gnome
Rao Yeleswarapu - Moblin Overview Apac Roadshow 2009 For Gnome
Mario B.
 
Mobility today & what's next. Application ecosystems.
Mobility today & what's next.Application ecosystems.Mobility today & what's next.Application ecosystems.
Mobility today & what's next. Application ecosystems.
Petru Jucovschi
 
Minko - Windows App Meetup Nov. 2013
Minko - Windows App Meetup Nov. 2013Minko - Windows App Meetup Nov. 2013
Minko - Windows App Meetup Nov. 2013
Minko3D
 
Drupalcamp New York 2009
Drupalcamp New York 2009Drupalcamp New York 2009
Drupalcamp New York 2009
Tom Deryckere
 
201507_NeoHsu_Portfolio
201507_NeoHsu_Portfolio201507_NeoHsu_Portfolio
201507_NeoHsu_Portfolio
Neo Hsu
 
NET !!! A must have tool under your belt
NET !!! A must have tool under your beltNET !!! A must have tool under your belt
NET !!! A must have tool under your belt
Hansamali Gamage
 

Ähnlich wie DroidCon Berlin 2018 summary (20)

Minko - Creating cross-platform 3D apps with Minko
Minko - Creating cross-platform 3D apps with MinkoMinko - Creating cross-platform 3D apps with Minko
Minko - Creating cross-platform 3D apps with Minko
 
Paris Android LiveCode - Creating cross-platform 3D apps with Minko
Paris Android LiveCode - Creating cross-platform 3D apps with MinkoParis Android LiveCode - Creating cross-platform 3D apps with Minko
Paris Android LiveCode - Creating cross-platform 3D apps with Minko
 
Cross-Platform Mobile Development in Visual Studio
Cross-Platform Mobile Development in Visual StudioCross-Platform Mobile Development in Visual Studio
Cross-Platform Mobile Development in Visual Studio
 
The Magic of flutter Comex oman 2019
The Magic of flutter Comex oman 2019The Magic of flutter Comex oman 2019
The Magic of flutter Comex oman 2019
 
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)
 
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019
 
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019
 
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
 
Connect 2014 - Key108 - Application Development Strategy
Connect 2014 - Key108  - Application Development StrategyConnect 2014 - Key108  - Application Development Strategy
Connect 2014 - Key108 - Application Development Strategy
 
Mobile Application development
Mobile Application developmentMobile Application development
Mobile Application development
 
WebGL games with Minko - Next Game Frontier 2014
WebGL games with Minko - Next Game Frontier 2014WebGL games with Minko - Next Game Frontier 2014
WebGL games with Minko - Next Game Frontier 2014
 
Introduction to MonoTouch
Introduction to MonoTouchIntroduction to MonoTouch
Introduction to MonoTouch
 
Open Kode, Airplay And The New Reality Of Write Once Run Anywhere
Open Kode, Airplay And The New Reality Of Write Once Run AnywhereOpen Kode, Airplay And The New Reality Of Write Once Run Anywhere
Open Kode, Airplay And The New Reality Of Write Once Run Anywhere
 
Mobile Cross-Platform Development in C++
Mobile Cross-Platform Development in C++Mobile Cross-Platform Development in C++
Mobile Cross-Platform Development in C++
 
Rao Yeleswarapu - Moblin Overview Apac Roadshow 2009 For Gnome
Rao Yeleswarapu - Moblin Overview Apac Roadshow 2009 For GnomeRao Yeleswarapu - Moblin Overview Apac Roadshow 2009 For Gnome
Rao Yeleswarapu - Moblin Overview Apac Roadshow 2009 For Gnome
 
Mobility today & what's next. Application ecosystems.
Mobility today & what's next.Application ecosystems.Mobility today & what's next.Application ecosystems.
Mobility today & what's next. Application ecosystems.
 
Minko - Windows App Meetup Nov. 2013
Minko - Windows App Meetup Nov. 2013Minko - Windows App Meetup Nov. 2013
Minko - Windows App Meetup Nov. 2013
 
Drupalcamp New York 2009
Drupalcamp New York 2009Drupalcamp New York 2009
Drupalcamp New York 2009
 
201507_NeoHsu_Portfolio
201507_NeoHsu_Portfolio201507_NeoHsu_Portfolio
201507_NeoHsu_Portfolio
 
NET !!! A must have tool under your belt
NET !!! A must have tool under your beltNET !!! A must have tool under your belt
NET !!! A must have tool under your belt
 

Mehr von Bartosz Kosarzycki

Droidcon Summary 2021
Droidcon Summary 2021Droidcon Summary 2021
Droidcon Summary 2021
Bartosz Kosarzycki
 
Droidcon Online 2020 quick summary
Droidcon Online 2020 quick summaryDroidcon Online 2020 quick summary
Droidcon Online 2020 quick summary
Bartosz Kosarzycki
 
Provider vs BLoC vs Redux
Provider vs BLoC vs ReduxProvider vs BLoC vs Redux
Provider vs BLoC vs Redux
Bartosz Kosarzycki
 
Animations in Flutter
Animations in FlutterAnimations in Flutter
Animations in Flutter
Bartosz Kosarzycki
 
Flutter overview - advantages & disadvantages for business
Flutter overview - advantages & disadvantages for businessFlutter overview - advantages & disadvantages for business
Flutter overview - advantages & disadvantages for business
Bartosz Kosarzycki
 
Flutter CI & Device Farms for Flutter
Flutter CI & Device Farms for FlutterFlutter CI & Device Farms for Flutter
Flutter CI & Device Farms for Flutter
Bartosz Kosarzycki
 
Drone racing - beginner's guide
Drone racing - beginner's guideDrone racing - beginner's guide
Drone racing - beginner's guide
Bartosz Kosarzycki
 
Optimize apps for Chromebooks - Meet.Intive Oct, 2018
Optimize apps for Chromebooks - Meet.Intive Oct, 2018Optimize apps for Chromebooks - Meet.Intive Oct, 2018
Optimize apps for Chromebooks - Meet.Intive Oct, 2018
Bartosz Kosarzycki
 
Android - Gradle build optimisation 3d83f31339d239abcc55f869e5f30348?s=47
Android - Gradle build optimisation  3d83f31339d239abcc55f869e5f30348?s=47Android - Gradle build optimisation  3d83f31339d239abcc55f869e5f30348?s=47
Android - Gradle build optimisation 3d83f31339d239abcc55f869e5f30348?s=47
Bartosz Kosarzycki
 
SCALA - Functional domain
SCALA -  Functional domainSCALA -  Functional domain
SCALA - Functional domain
Bartosz Kosarzycki
 
Android things introduction - Development for IoT
Android things introduction - Development for IoTAndroid things introduction - Development for IoT
Android things introduction - Development for IoT
Bartosz Kosarzycki
 
Daggerate your code - Write your own annotation processor
Daggerate your code - Write your own annotation processorDaggerate your code - Write your own annotation processor
Daggerate your code - Write your own annotation processor
Bartosz Kosarzycki
 
Android antipatterns
Android antipatternsAndroid antipatterns
Android antipatterns
Bartosz Kosarzycki
 
Introduction to Flutter - truly crossplatform, amazingly fast
Introduction to Flutter - truly crossplatform, amazingly fastIntroduction to Flutter - truly crossplatform, amazingly fast
Introduction to Flutter - truly crossplatform, amazingly fast
Bartosz Kosarzycki
 
Git-flow workflow and pull-requests
Git-flow workflow and pull-requestsGit-flow workflow and pull-requests
Git-flow workflow and pull-requests
Bartosz Kosarzycki
 
ADG Poznań - Kotlin for Android developers
ADG Poznań - Kotlin for Android developersADG Poznań - Kotlin for Android developers
ADG Poznań - Kotlin for Android developers
Bartosz Kosarzycki
 
Kotlin advanced - language reference for android developers
Kotlin advanced - language reference for android developersKotlin advanced - language reference for android developers
Kotlin advanced - language reference for android developers
Bartosz Kosarzycki
 
Kotlin Developer Starter in Android projects
Kotlin Developer Starter in Android projectsKotlin Developer Starter in Android projects
Kotlin Developer Starter in Android projects
Bartosz Kosarzycki
 

Mehr von Bartosz Kosarzycki (18)

Droidcon Summary 2021
Droidcon Summary 2021Droidcon Summary 2021
Droidcon Summary 2021
 
Droidcon Online 2020 quick summary
Droidcon Online 2020 quick summaryDroidcon Online 2020 quick summary
Droidcon Online 2020 quick summary
 
Provider vs BLoC vs Redux
Provider vs BLoC vs ReduxProvider vs BLoC vs Redux
Provider vs BLoC vs Redux
 
Animations in Flutter
Animations in FlutterAnimations in Flutter
Animations in Flutter
 
Flutter overview - advantages & disadvantages for business
Flutter overview - advantages & disadvantages for businessFlutter overview - advantages & disadvantages for business
Flutter overview - advantages & disadvantages for business
 
Flutter CI & Device Farms for Flutter
Flutter CI & Device Farms for FlutterFlutter CI & Device Farms for Flutter
Flutter CI & Device Farms for Flutter
 
Drone racing - beginner's guide
Drone racing - beginner's guideDrone racing - beginner's guide
Drone racing - beginner's guide
 
Optimize apps for Chromebooks - Meet.Intive Oct, 2018
Optimize apps for Chromebooks - Meet.Intive Oct, 2018Optimize apps for Chromebooks - Meet.Intive Oct, 2018
Optimize apps for Chromebooks - Meet.Intive Oct, 2018
 
Android - Gradle build optimisation 3d83f31339d239abcc55f869e5f30348?s=47
Android - Gradle build optimisation  3d83f31339d239abcc55f869e5f30348?s=47Android - Gradle build optimisation  3d83f31339d239abcc55f869e5f30348?s=47
Android - Gradle build optimisation 3d83f31339d239abcc55f869e5f30348?s=47
 
SCALA - Functional domain
SCALA -  Functional domainSCALA -  Functional domain
SCALA - Functional domain
 
Android things introduction - Development for IoT
Android things introduction - Development for IoTAndroid things introduction - Development for IoT
Android things introduction - Development for IoT
 
Daggerate your code - Write your own annotation processor
Daggerate your code - Write your own annotation processorDaggerate your code - Write your own annotation processor
Daggerate your code - Write your own annotation processor
 
Android antipatterns
Android antipatternsAndroid antipatterns
Android antipatterns
 
Introduction to Flutter - truly crossplatform, amazingly fast
Introduction to Flutter - truly crossplatform, amazingly fastIntroduction to Flutter - truly crossplatform, amazingly fast
Introduction to Flutter - truly crossplatform, amazingly fast
 
Git-flow workflow and pull-requests
Git-flow workflow and pull-requestsGit-flow workflow and pull-requests
Git-flow workflow and pull-requests
 
ADG Poznań - Kotlin for Android developers
ADG Poznań - Kotlin for Android developersADG Poznań - Kotlin for Android developers
ADG Poznań - Kotlin for Android developers
 
Kotlin advanced - language reference for android developers
Kotlin advanced - language reference for android developersKotlin advanced - language reference for android developers
Kotlin advanced - language reference for android developers
 
Kotlin Developer Starter in Android projects
Kotlin Developer Starter in Android projectsKotlin Developer Starter in Android projects
Kotlin Developer Starter in Android projects
 

Kürzlich hochgeladen

UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
Alina Yurenko
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
Patrick Weigel
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
Peter Muessig
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
Marcin Chrost
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
TaghreedAltamimi
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
mz5nrf0n
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
dakas1
 
Top 9 Trends in Cybersecurity for 2024.pptx
Top 9 Trends in Cybersecurity for 2024.pptxTop 9 Trends in Cybersecurity for 2024.pptx
Top 9 Trends in Cybersecurity for 2024.pptx
devvsandy
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 

Kürzlich hochgeladen (20)

UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
Top 9 Trends in Cybersecurity for 2024.pptx
Top 9 Trends in Cybersecurity for 2024.pptxTop 9 Trends in Cybersecurity for 2024.pptx
Top 9 Trends in Cybersecurity for 2024.pptx
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 

DroidCon Berlin 2018 summary

  • 2.
  • 3. Summary 2018 - 1200+ Attendees - 10th anniversary (started with 200 devs in 2009) - 3 days, 5 tracks, 100+ sessions - Android, Kotlin, Machine Learning, Flutter, AI, VR, AR, Android-For-Business, Chromebooks, Tensor-Flow, SAP and more - Introduced Global Community Platform
  • 4.
  • 5. Our summary - ⅕ - Kotlin as a language, improvements, libraries, DSL - ⅕ - Gradle performance improvements / tweaks - ⅕ - Android for business / Chromebooks - ⅕ - RxJava must die, get rid of Java style in Kotlin - ⅕ - Commercial e.g. Huawei AI, Google Cloud etc.
  • 6. Global Community Platform - DroidCon - Knowledge exchange platform - “Online DroidCon” - Videos/Tutorials/Presentations - InVision project (not implemented yet)
  • 7.
  • 8.
  • 9. Blurring the line between native and the web - History: J2ObjC, GWT -> multi-platform frameworks - Based on Kotlin - Runs on Android/iOS/Linux/MacOS/Chromebook/Win - Uses kotlin-native - platform independent code - Chromebooks: run android apps and linux native apps (Android Studio) - Webapps: background sync api, web notifications, getUserMedia (mic, cam), webVR, webBluetooth, webUSB Jake Wharthon
  • 10.
  • 11.
  • 12. HERDING LLAMAS IN YOUR FLAT - A DEEP DIVE INTO ARCORE AND SCENEFORM - http://poly.google.com/ - Google polygon database - ArFragment, ArSceneView - CollisionDetection -> resolveOverlap() - Renderable -> casting shadows - SFAs Polygons, file formats - Emulator support - AndroidStudio SceneForm plugin Steven Mohr
  • 14. OLGA NAGATOVA - Polygon Artist - http://www.nabatova.ca/ - Personal Website
  • 15. AUGMENTED REALITY FOR EVERYONE, EVERYWHERE WITH ARCORE - ARCore utilization Till Krempel
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21. Gradle performance - Min SDK 21 - 30% faster build - Better hardware - Project modularisation (module per feature) - Parallel gradle task execution - Offline gradle builds
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28. BUILD A REACTIVE FLUTTER APP! - How to write Reactive Flutter Apps - Hired by google to write flutter cookbook - layered, modular, testable, SOLID - StatefulWidget Brian Egan Groupon - Showcase app Tomek Polanski - How he convinced Groupon to write Flutter app - Started from scratch - Success story
  • 29.
  • 31. ANDROID ENTERPRISE ON CHROME OS - Target API 23+ - Prepare Android apps for Chromebooks - Touchpad gestures - Be ready for keyboard/mouse support (keyboard shortcuts, arrows, mouse right click) - Stylus support - Dynamic window management (resizing) - ChromeOS emulator - AndroidStudio for ChromeOS (works only PixelBooks as of now) - https://twitter.com/KennethFSWE/status/953766120502292480 - medium Kenneth Ford
  • 33.
  • 34. STATE OF KOTLIN LANG - THE STATE OF THE KOTLIN ECOSYSTEM Zan Markan
  • 36. SHARE CODE IN KOTLIN - Alternative to C++ - Alternative to Xamarin common code - Android / iOS - “(CODE) SHARING IS CARING” - inject platform specific logic into shared code Tobias Heine Said Tahsin Dane
  • 37.
  • 38.
  • 39.
  • 40.
  • 41. Rx… Does it need to die? - Developers tend to use it even for simple event handling (e.g. on clicks) tasks or API request - Rx should be used only for handling complex streams of data - Rx introduces new kinds of issues if you don’t use it daily - You can easily use coroutines instead of Rx - Created in times of Java 6; not-needed while Java 8/Kotlin is available - proactively ask the question: is this a reactive scenario? - It’s harder to write unit tests when you use RX If possible, use native tools, like Coroutines in Kotlin, LiveData, etc.
  • 42. Christof Vollrath - notes link
  • 43.
  • 44.
  • 45. GRAPHQL - Apollo library - caching graphQL client for mobile - developed by Facebook - like SQL for data - GraphSQL vs REST - you get only what you want - single endpoint: /graphql - Presentation about UFO sightings ;) CHEATSHEET - link Annyce Davis
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51. KOIN - Kotlin allows us to use DSL instead of Annotation Processors - Annotation Processors are slow - Annotation Processors (as of now) kill Gradle incremental compilation - KOIN vs Dagger 2 Danny Preussler
  • 52.
  • 53.
  • 54.
  • 55.
  • 56. FONTS, EMOJI AND TEXT USING SUPPORT LIBRARIES - Easily import fonts - EmojiAppCompat usage - EmojiTextViewHelper for customs views - Downloadable fonts (from Google resources, can be downloaded during app installation) - TextView auto-sizing (width and height shouldn’t be wrap_content) Anita Singh
  • 57.
  • 58.
  • 59.
  • 60.
  • 61. TENSOR FLOW - on mobile - Machine Learning APIs - Google // IBM // Microsoft - Deep neural network - pix2pix tool - cat model -> 680 MB -> SO OPTIMISE! - Draw to pix sample app Attila Blenesi
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68. MOBIUS - LOOPY UI - State management library - Kotlin data classes represent events - Events, inputs, Effects - Presentation Petter Mahlen
  • 69.
  • 70. Kirin 970 first introduced a dedicated Neural Processing Unit (NPU) on the mobile AI computing platform
  • 71.
  • 72. BUILDING A DECENTRALIZED APP ON ANDROID - “OPPORTUNITIES IN THE DECENTRALIZED APPS WORLD” - you're told who the user is - only the user can decrypt the data - decentralized app: authentication & encryption & storage - S3-like storage - keys generated on device - GDPR world in European Union - Facebook “leaks” Friedger Müffke APPLICATION STORE: https://app.co/
  • 73.
  • 74.
  • 75. Data Binding on Android Ash Davies
  • 76.
  • 77.
  • 78. GITLAB - THE BEST APPS ARE BUILT IN PYJAMA-PANTS - GitLab team around the world - Run a “daily”, not project related, to talk about personal life and get to know one another - They run a blog - link Job van der Voort HOW TO RUN A COMPANY GUIDE: HANDBOOK Onboarding - link Hiring - link Spending company money - link
  • 79.
  • 80.
  • 81. Fun
  • 82.
  • 83.
  • 84.
  • 85. Links / References - DroidCon Berlin YouTube channel - link - DroidCon official website - link - https://twitter.com/cvollrath - Machine Learning - link, link, link - https://medium.com/@sabag.ronen - https://twitter.com/danlowlows/status/858754840419196929