Repo created
This commit is contained in:
parent
75dc487a7a
commit
39c29d175b
6317 changed files with 388324 additions and 2 deletions
32
docs/architecture/adr/0001-switch-from-java-to-kotlin.md
Normal file
32
docs/architecture/adr/0001-switch-from-java-to-kotlin.md
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
# Switch from Java to Kotlin
|
||||
|
||||
- Pull Request: [#7221](https://github.com/thunderbird/thunderbird-android/pull/7221)
|
||||
|
||||
## Status
|
||||
|
||||
- **Accepted**
|
||||
|
||||
## Context
|
||||
|
||||
We've been using Java as our primary language for Android development. While Java has served us well, it has certain
|
||||
limitations in terms of null safety, verbosity, functional programming, and more. Kotlin, officially supported by
|
||||
Google for Android development, offers solutions to many of these issues and provides more modern language features
|
||||
that can improve productivity, maintainability, and overall code quality.
|
||||
|
||||
## Decision
|
||||
|
||||
Switch our primary programming language for Android development from Java to Kotlin. This will involve rewriting our
|
||||
existing Java codebase in Kotlin and writing all new code in Kotlin. To facilitate the transition, we will gradually
|
||||
refactor our existing Java codebase to Kotlin.
|
||||
|
||||
## Consequences
|
||||
|
||||
- **Positive Consequences**
|
||||
- Improved null safety, reducing potential for null pointer exceptions.
|
||||
- Increased code readability and maintainability due to less verbose syntax.
|
||||
- Availability of modern language features such as coroutines for asynchronous programming, and extension functions.
|
||||
- Officially supported by Google for Android development, ensuring future-proof development.
|
||||
- **Negative Consequences**
|
||||
- The process of refactoring existing Java code to Kotlin can be time-consuming.
|
||||
- Potential for introduction of new bugs during refactoring.
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue