Kotlin

From BC$ MobileTV Wiki
Revision as of 04:50, 31 May 2021 by Bcmoney (Talk | contribs)

Jump to: navigation, search
Kotlin Logo

Kotlin is a statically-typed programming language that runs on the Java Virtual Machine (JVM).


Features

Condensed Syntax

First-class Functional

Implicit Strict OO Typing

Null Safety

[1] [2] [3] [4]

Co-Routines

[5] [6] [7] [8]





Tools

[11] [12]


Resources


Tutorials

[23]

[24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35]


External Links

[39] [40] [41] [42] [43] [44]


References

  1. Kotlin vs Java -- Most Important Differences That You Must Know in 2019: https://hackr.io/blog/kotlin-vs-java
  2. Why Kotlin language, Android? Why did Google choose Kotlin ?: https://apiumhub.com/tech-blog-barcelona/kotlin-language/
  3. Why did Google replace Java with Kotlin, and why only Kotlin but not other languages?: https://www.quora.com/Why-did-Google-replace-Java-with-Kotlin-and-why-only-Kotlin-but-not-other-languages
  4. Nothing (Else) Matters in Kotlin: https://quiro.dev/posts/nothing-else-matters-kotlin/
  5. Kotlin Coroutines patterns & anti-patterns: https://proandroiddev.com/kotlin-coroutines-patterns-anti-patterns-f9d12984c68e
  6. Foodium - fully featured reactive app: https://github.com/PatilShreyas/Foodium (Kotlin, Coroutines, Flow, MVVM, Room, Dagger2, Coil, Moshi, Android Architecture components, Material Design/components)
  7. Coroutines -- simplify threading on android: https://ian-alexander.medium.com/coroutines-simplifying-android-architecture-ce0cd02b9447
  8. Room & Coroutines (for improved DB access): https://medium.com/androiddevelopers/room-coroutines-422b786dc4c5
  9. Jetpack Compose -- Kotlin - "Falling Balls" timing game (Desktop): https://github.com/JetBrains/compose-jb/tree/master/examples/falling_balls
  10. Jetpack Compose -- Kotlin - "Falling Balls" timing game (Web): https://github.com/JetBrains/compose-jb/tree/master/examples/falling_balls_with_web | DEMO
  11. Technology Preview: Jetpack Compose for Web: https://blog.jetbrains.com/kotlin/2021/05/technology-preview-jetpack-compose-for-web/
  12. Jetbrains previews "Jetpack Compose" (Kotlin) for Web: https://www.infoq.com/news/2021/05/jetpack-compose-web-tech-preview/
  13. Kotlin tutorials: https://kotlinlang.org/docs/tutorials/
  14. Eazy permissions -- An introduction to the runtime permission library: https://proandroiddev.com/eazy-permissions-c574809bd682
  15. Create Carousel Easily in Android App with CarouselView: https://medium.com/@lobothijau/create-carousel-easily-in-android-app-with-carouselview-6cbf5ef500a9 | SRC (alternative carouselview lib)
  16. @MerryAnnotation — Your First Annotation Processor in Kotlin Android: https://android.jlelse.eu/merryannotation-your-first-annotation-processor-in-kotlin-android-eb3af4ab3402
  17. How to manage a complex DeepLinks scheme on your Android App: https://android.jlelse.eu/how-to-manage-a-complex-deeplinks-scheme-on-your-android-app-d441143cec7e
  18. Experimenting with Ktor HTTP clients in idiomatic Kotlin: https://medium.com/default-to-open/experimenting-with-ktor-5c8c1bf78d72
  19. Advanced Kotlin Coroutines tips and tricks: https://proandroiddev.com/coroutines-snags-6bf6fb53a3d1
  20. Simplify asynchronous programming with Kotlin’s coroutines: https://www.androidauthority.com/kotlin-coroutines-asynchronous-programming-858566/
  21. Why your class probably shouldn’t implement CoroutineScope: https://proandroiddev.com/why-your-class-probably-shouldnt-implement-coroutinescope-eb34f722e510
  22. Android Networking in 2019 — Retrofit with Kotlin’s Coroutines (TMDB API example): https://android.jlelse.eu/android-networking-in-2019-retrofit-with-kotlins-coroutines-aefe82c4d777 | SRC
  23. Unit Testing Coroutines on Android: https://www.ericdecanini.com/2020/04/06/unit-testing-coroutines-on-android/
  24. Getting Started Unit Testing with Kotlin : https://spin.atomicobject.com/2018/10/07/kotlin-unit-testing/
  25. KotlinConf 2018 - Best Practices for Unit Testing in Kotlin by Philipp Hauer: https://phauer.com/2018/best-practices-unit-testing-kotlin/ | SLIDES | VIDEO
  26. kotest: https://kotest.io/ | SRC | DOCS
  27. kotlin.test (JUnit 5 integrations): https://kotlinlang.org/api/latest/kotlin.test/
  28. MockK: https://mockk.io (mocking library for Kotlin)
  29. Testing Quarkus with Kotlin, JUnit5 & MockK: https://www.novatec-gmbh.de/en/blog/testing-quarkus-with-kotlin-junit-and-mockk/
  30. Unit Testing Firebase with Kotlin: https://blog.kotlin-academy.com/unit-testing-firebase-with-kotlin-85ae7205d3ef
  31. Why my date formatters test fails in CI and passes locally?: https://kotlintesting.com/why-my-date-formatters-test-fails-in-ci/
  32. Nested Kotlin tests with Junit5: https://kotlintesting.com/nested-tests-in-junit5/
  33. Parameterized tests with Kotest: https://kotlintesting.com/kotest-parameterized/
  34. An attempt to unit test generated DataBinding code: https://kotlintesting.com/testing-generated-databinding-code/
  35. Testing Retrofit calls with OkHttp MockWebServer: https://kotlintesting.com/testing-retrofit-calls/
  36. Google suggests using Kotlin programming language to build a new Android app: https://www.techworm.net/2019/05/kotlin-google-programming-language-android-apps.html
  37. Why did Google replace Java with Kotlin, and why only Kotlin but not other languages?: https://www.quora.com/Why-did-Google-replace-Java-with-Kotlin-and-why-only-Kotlin-but-not-other-languages
  38. Kotlin is now Google’s preferred language for Android app development: https://techcrunch.com/2019/05/07/kotlin-is-now-googles-preferred-language-for-android-app-development/
  39. Why starting a new Android project with Java is a bad idea: https://medium.com/snapp-mobile/why-starting-a-new-android-project-with-java-is-a-bad-idea-359bffe0bbd6
  40. Digging into D8 and R8: https://jakewharton.com/digging-into-d8-and-r8/
  41. Why and how I switched to Kotlin: https://android.jlelse.eu/why-and-how-i-switched-to-kotlin-503460bbfcf
  42. Modern Android development with Kotlin (series): Part 1 | Part 2
  43. What do 17 Google Developers Experts for Android think about Kotlin?: https://antonioleiva.com/google-kotlin/
  44. Digging into D8 and R8: https://jakewharton.com/digging-into-d8-and-r8/

See Also

Java | JSP | JavaFX | J2ME | Android | Groovy | Scala | Dart | Flutter