lingochamp / lingochamp/FileDownloader
Convert to Kotlin
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 11.1k
- Forks
- 2.2k
- PR merge metrics
- No merged PRs in 30d
Description
Why?
- Better code
- Small runtime
- Null-safe
- More Intelligent
- Jake Wharton
- 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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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