Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DroidCon Berlin 2018 Summary

DroidCon Berlin 2018 Summary

Summary of the DroidCon 2018 conference in Berlin.
It was the biggest one to date with 1200+ Attendees and 100+ sessions. We took part in as many sessions as we could and these are our thoughts.

bkosarzycki

July 06, 2018
Tweet

More Decks by bkosarzycki

Other Decks in Programming

Transcript

  1. 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
  2. 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.
  3. Global Community Platform - DroidCon - Knowledge exchange platform -

    “Online DroidCon” - Videos/Tutorials/Presentations - InVision project (not implemented yet)
  4. 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
  5. 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
  6. Gradle performance - Min SDK 21 - 30% faster build

    - Better hardware - Project modularisation (module per feature) - Parallel gradle task execution - Offline gradle builds
  7. 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
  8. 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
  9. 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
  10. 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.
  11. 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
  12. 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
  13. 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
  14. 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
  15. MOBIUS - LOOPY UI - State management library - Kotlin

    data classes represent events - Events, inputs, Effects - Presentation Petter Mahlen
  16. 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/
  17. 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
  18. Fun

  19. 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