groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dmitry Semionin <dmitry.semio...@gmail.com>
Subject Groovy to develop for Android
Date Fri, 15 May 2015 16:43:41 GMT
Hello everybody,

Recently i decided to learn how to develop for Android. But after learning
some Java and reading about the way the modern Java features are adopted by
the Android toolchain, i realized that the "classical" Java is not my way
towards Android. Some googling around showed that two of the most obvious
alternatives are Groovy and Kotlin. Both of these options have their pros
and cons, which i will mention below. And since the most typical Q&A place
for programmers (StackOverflow) doesn't approve the "... vs ..." questions
calling them non-constructive, my best option is to look for practical
advice from the Groovy community. Hopefully that won't be against any rules
=).
Long story short, in theory both variants are not perfect, and i would
really like to cut some corners and learn from someone else's practical
experience. Asking the Kotlin community doesn't seem like a good idea since
they are corporately backed and may have some bias towards the competitors.
And Groovy is an open tool nobody's paid to endorse, so who could answer my
questions better than you guys =).

Anyway, that's what i've read so far about Groovy as a tool for Android
development.

Pros:

1. As of version 2.4, Groovy officially supports Android as a platform.
2. I seem to like Groovy's syntax compared to Kotlin's.
3. It's been around for a while, much larger userbase, tons of answered
questions on SO, several books from independent authors, so it looks like i
won't be alone in the woods on this path.

Cons:

1. No official Android development guides, and not much 3rd party info that
could work as a guide for Android development using Groovy.
2. From what i know, the shaky situation with project sponsorship, so it's
unclear how well will the project be evolving.
3. The benchmarks i've seen show that Groovy is substantially slower than
Kotlin and its runtime is heavier, which means performance drawbacks and
bigger binaries.
4. Lots of resources claim that Groovy is a dead end and that the interest
to it is on a steady decline. Don't know if it's true but i'd definitely
like to avoid studying a dying technology.

As for Kotlin

Pros:

1. Strong support from a big and successful company who knows how to make
development tools.
2. Is said to be small and fast.
3. In every "Groovy vs Kotlin" discussion i've seen so far, Kotlin is the
one people recommend.
4. Has a section in documentation dedicated to Android development, so at
least setting up the required tools won't be a problem.

Cons:

1. Kinda immature, still in beta, not so widely adopted.
2. I don't find its syntax appealing.
3. Best suited for use inside the JetBrains ecosystem, which means that
outside of it there might be some issues.

To make myself formal, i'm addressing only those of you guys who had an
actual experience developing for Android using Groovy/Kotlin:

1. When developing for Android with Groovy, did you encounter any issues
that you could not easily solve and that made you consider switching to a
different programming language?
2. Could you recommend Groovy as a primary Android development tool to a
programmer with no previous Android experience?
3. (Optional, answer only if you feel you have enough of an outlook on this
topic) What language (and related tools) seems the most optimal to you for
Android development, if we took into account flexibility, learning curve,
stability and the public adoption?

Please correct me if i did something wrong, it's my first time using a
mailing list. And obviously thanks to everyone who'll find a time to read
this email and answer my questions.

- Dmitry Semionin

Mime
View raw message