lingochamp / lingochamp/FileDownloader

Convert to Kotlin

Open
#417 4 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Java
Stars
11.1k
Forks
2.2k
PR merge metrics
No merged PRs in 30d

Description

Why?

  1. Better code
  2. Small runtime
  3. Null-safe
  4. More Intelligent
  5. Jake Wharton
  6. JetBrains

Since Kotlin release 1.0.0 version, there are more and more article to explain why it's better to use Kotlin versus Java for android development, so I think I don't need to explain more about that.


Only one thing you need to know: In the current Kotlin version(1.0.5-2), FileDownloader-lib will be raised approximately 736KB because of the Kotlin library. If you also use Kotlin, there will be only one part of Kotlin library in the Apk after compilation.


  • DON'T WORRY ABOUT USING : You use the FileDownloader the same as before, because Kotlin is 100% compat with Java.
  • DON'T WORRY ABOUT RUNTIME PERFORMANCE: In theory we shouldn't care about runtime performance for alternative Kotlin, since the Kotlin also convert source code to the bytecode. But for JVM, sometimes because of more method invokes because Kotlin framework it would be a little "slower" than Java, but as Kotlin compiler optimize code and Kotlin provides some 'pattern'(such as data-class) or 'new modifier'(such as inline) to improve performance, so sometimes it would be "faster" than Java.

For me
  • In my recent job(working for Alipay android application basic framework), I have tried Kotlin language to write some basic components. I think it is really a nice language, although there still some problem with Unit-Test libraries(PowerMock isn't adapt Mockito 2.1.0 yet)
  • Kotlin language is very friendly for android development(As Jake Wharton has already known that on Jan 27, 2015), it is more fun for me to develop Android with Kotlin.

Whatever, no matter what language I use, I'm still keeping our FileDownloader more stable、more flexible、faster and more simple.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files or tests are named. Start by surveying the repository's Java Android implementation and identifying the public FileDownloader entry points and build configuration affected by a Kotlin migration. Done means the library is converted while retaining its existing Java-compatible usage and behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, java, kotlin
Domain
mobile
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.