Difference between revisions of "Kotlin"

From BC$ MobileTV Wiki
Jump to: navigation, search
Line 181: Line 181:
 
* Migrating From Python to Kotlin for Our Backend Services: https://doordash.engineering/2021/05/04/migrating-from-python-to-kotlin-for-our-backend-services/
 
* Migrating From Python to Kotlin for Our Backend Services: https://doordash.engineering/2021/05/04/migrating-from-python-to-kotlin-for-our-backend-services/
 
* Is Your Kotlin Code Really Obfuscated?: https://proandroiddev.com/is-your-kotlin-code-really-obfuscated-a36abf033dde (ProGuard usage with Kotlin)
 
* Is Your Kotlin Code Really Obfuscated?: https://proandroiddev.com/is-your-kotlin-code-really-obfuscated-a36abf033dde (ProGuard usage with Kotlin)
 +
* Kotlin and FaaS, an impossible union?: https://blog.frankel.ch/kotlin-faas-impossible-union/
  
  

Revision as of 12:50, 22 October 2021

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] [9] [10] [11]



Tools

[14] [15]


Resources


Tutorials

[26]

[27] [28] [29]

[30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41]


External Links

[45] [46] [47] [48] [49] [50]


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. Coroutines on Android - Getting the background: Part 1 | Part 2 | Part 3
  7. Foodium - fully featured reactive app: https://github.com/PatilShreyas/Foodium (Kotlin, Coroutines, Flow, MVVM, Room, Dagger2, Coil, Moshi, Android Architecture components, Material Design/components)
  8. Coroutines -- simplify threading on android: https://ian-alexander.medium.com/coroutines-simplifying-android-architecture-ce0cd02b9447
  9. Room & Coroutines (for improved DB access): https://medium.com/androiddevelopers/room-coroutines-422b786dc4c5
  10. Suspending over views - How coroutines can make UI programming easier: https://medium.com/androiddevelopers/suspending-over-views-19de9ebd7020
  11. Room 🔗 Coroutines integration: https://medium.com/androiddevelopers/room-coroutines-422b786dc4c5
  12. Jetpack Compose -- Kotlin - "Falling Balls" timing game (Desktop): https://github.com/JetBrains/compose-jb/tree/master/examples/falling_balls
  13. Jetpack Compose -- Kotlin - "Falling Balls" timing game (Web): https://github.com/JetBrains/compose-jb/tree/master/examples/falling_balls_with_web | DEMO
  14. Technology Preview: Jetpack Compose for Web: https://blog.jetbrains.com/kotlin/2021/05/technology-preview-jetpack-compose-for-web/
  15. Jetbrains previews "Jetpack Compose" (Kotlin) for Web: https://www.infoq.com/news/2021/05/jetpack-compose-web-tech-preview/
  16. Kotlin tutorials: https://kotlinlang.org/docs/tutorials/
  17. Eazy permissions -- An introduction to the runtime permission library: https://proandroiddev.com/eazy-permissions-c574809bd682
  18. 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)
  19. @MerryAnnotation — Your First Annotation Processor in Kotlin Android: https://android.jlelse.eu/merryannotation-your-first-annotation-processor-in-kotlin-android-eb3af4ab3402
  20. 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
  21. Experimenting with Ktor HTTP clients in idiomatic Kotlin: https://medium.com/default-to-open/experimenting-with-ktor-5c8c1bf78d72
  22. Advanced Kotlin Coroutines tips and tricks: https://proandroiddev.com/coroutines-snags-6bf6fb53a3d1
  23. Simplify asynchronous programming with Kotlin’s coroutines: https://www.androidauthority.com/kotlin-coroutines-asynchronous-programming-858566/
  24. Why your class probably shouldn’t implement CoroutineScope: https://proandroiddev.com/why-your-class-probably-shouldnt-implement-coroutinescope-eb34f722e510
  25. 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
  26. Unit Testing Coroutines on Android: https://www.ericdecanini.com/2020/04/06/unit-testing-coroutines-on-android/
  27. Hibernate with Kotlin - powered by Spring Boot: https://kotlinexpertise.com/hibernate-with-kotlin-spring-boot/
  28. Getting Started with Spring Data JPA in Kotlin: https://www.section.io/engineering-education/introduction-spring-data/
  29. Should I use Kotlin data class as JPA entity?: https://stackoverflow.com/questions/58127353/should-i-use-kotlin-data-class-as-jpa-entity
  30. Getting Started Unit Testing with Kotlin : https://spin.atomicobject.com/2018/10/07/kotlin-unit-testing/
  31. KotlinConf 2018 - Best Practices for Unit Testing in Kotlin by Philipp Hauer: https://phauer.com/2018/best-practices-unit-testing-kotlin/ | SLIDES | VIDEO
  32. kotest: https://kotest.io/ | SRC | DOCS
  33. kotlin.test (JUnit 5 integrations): https://kotlinlang.org/api/latest/kotlin.test/
  34. MockK: https://mockk.io (mocking library for Kotlin)
  35. Testing Quarkus with Kotlin, JUnit5 & MockK: https://www.novatec-gmbh.de/en/blog/testing-quarkus-with-kotlin-junit-and-mockk/
  36. Unit Testing Firebase with Kotlin: https://blog.kotlin-academy.com/unit-testing-firebase-with-kotlin-85ae7205d3ef
  37. Why my date formatters test fails in CI and passes locally?: https://kotlintesting.com/why-my-date-formatters-test-fails-in-ci/
  38. Nested Kotlin tests with Junit5: https://kotlintesting.com/nested-tests-in-junit5/
  39. Parameterized tests with Kotest: https://kotlintesting.com/kotest-parameterized/
  40. An attempt to unit test generated DataBinding code: https://kotlintesting.com/testing-generated-databinding-code/
  41. Testing Retrofit calls with OkHttp MockWebServer: https://kotlintesting.com/testing-retrofit-calls/
  42. 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
  43. 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
  44. 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/
  45. 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
  46. Digging into D8 and R8: https://jakewharton.com/digging-into-d8-and-r8/
  47. Why and how I switched to Kotlin: https://android.jlelse.eu/why-and-how-i-switched-to-kotlin-503460bbfcf
  48. Modern Android development with Kotlin (series): Part 1 | Part 2 | Part 3 | Part 4
  49. What do 17 Google Developers Experts for Android think about Kotlin?: https://antonioleiva.com/google-kotlin/
  50. Digging into D8 and R8: https://jakewharton.com/digging-into-d8-and-r8/

See Also

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