Cool! Do you know if this ads much/anything to the apk runtime size? The documentation seems a little bit scarce at the moment. I need to get around to doing up Hecl for Android 'nicely'.
IT includes a proguard.jar file which I assume is used to remove unnecessary classes from your final application. I managed to get Scala working with Android a while ago by following online guides (a lot more hassle than this looks to be!) and I used proguard for this purpose.
Develop for Android with Scala
11–20 of 21 posts
Re: Develop for Android with Scala
#12How is the performance compared to straight Java? I know the Clojure on Android project is at the moment, slower due to the functional nature of the language. Apparently the Dalvik garbage collector has to work overtime cleaning up because of the emphasis on creating new objects rather than mutating existing ones.
Re: Develop for Android with Scala
#13How is the performance compared to straight Java? I know the Clojure on Android project is at the moment, slower due to the functional nature of the language. Apparently the Dalvik garbage collector has to work overtime cleaning up because of the emphasis on creating new objects rather than mutating existing ones.
There are two things that can hurt performance for functional languages on top of the Java VMs ... the lack of TCO and the mapping of a type-system that's too different to be mapped efficiently.
In Clojure though what hurts is its dynamic nature, but you can go a long way by using type-annotations when you discover clear bottlenecks.
Re: Develop for Android with Scala
#14Cool! Do you know if this ads much/anything to the apk runtime size? The documentation seems a little bit scarce at the moment. I need to get around to doing up Hecl for Android 'nicely'.
Re: Develop for Android with Scala
#15I wish I could write my Android apps in Haskell instead, though. Scala just isn't quite as nice.
Re: Develop for Android with Scala
#16Re: Develop for Android with Scala
#17How is the performance compared to straight Java? I know the Clojure on Android project is at the moment, slower due to the functional nature of the language. Apparently the Dalvik garbage collector has to work overtime cleaning up because of the emphasis on creating new objects rather than mutating existing ones.
I have one app in the market that uses it and it runs great.
Re: Develop for Android with Scala
#18Earlier quoted context omitted.
I have one app in the market that uses it and it runs great.
Cool! Which one, out of curiosity?
Re: Develop for Android with Scala
#19How is the performance compared to straight Java? I know the Clojure on Android project is at the moment, slower due to the functional nature of the language. Apparently the Dalvik garbage collector has to work overtime cleaning up because of the emphasis on creating new objects rather than mutating existing ones.
If you write idiomatic Scala code, or use many primitives in Java code, the performance of Scala becomes relatively worse. Every first-class function you use turns into the equivalent of a new class and object at runtime, and the immutable data structures are slower than their Java equivalents.
I'm not sure how the performance delta differs between the JVM and Android's Dalvik VM. It may be that Dalvik's lack of JIT or less efficient garbage collector makes the Scala performance penalty bigger on Android. I would be interested in seeing some benchmarks.