> > Nick, > > Thank you for such a detailed answer, it got everything covered! :) > > Speaking of IDE's I'd especially like to try to develop not relying on > IDE. I code in IntelliJ for Android, but when I get away from it and use > Emacs in my other projects for different languages, I simply get blown away > by its speed and responsiveness compared to lagging IDE (maybe that's on my > system only, dunno). Of course IDE has some nice things to it, no doubt, > but I like performant things so much... >
> I hope that one day gradle will untie me up from IDE in Java-land (it > already can, but I didn't made the switch yet, due to some deadlines on > course), but having a superior language (Scala) and not being tied up to a > particular IDE (sbt/gradle) is even more cool :) > So I'd like to experiment with this. Google showed that there's a good > support for Scala-in-Emacs too, so... > Not being tied to the IDE is indeed a great advantage of using a build system (like sbt). With the help of plugins, sbt can generate project files for Eclipse, IDEA and Emacs, however Android-specific settings can be tricky to configure (e.g. setting android.jar as the target SDK). For Emacs, you’ll probably find this thread of help [1]. As about GC strain, I googled a bit and it seems that in Scala I can choose > between mutable/immutable collections so this thing is hopefully solvable: > whenever I identify a bottleneck, it can be optimized. > Yes, that’s true. With enough effort, you can even almost get as close to Java as you want :) I think next thing to do is to learn Scala/sbt which should be fun. > Make sure you use one of the recent resources to learn sbt, many people find the older versions (pre-0.13) quite painful ;) For Scala nothing I know of beats the *“Programming in Scala”* book by Odersky, Spoon, Venners (1st edition is slightly outdated, but available online for free). Nick [1] https://groups.google.com/forum/#!searchin/scala-on-android/emacs/scala-on-android/t7TEcOudpaw/eEiyPjYJpDMJ > > > On 28 July 2014 17:53, Nick Stanchenko <[email protected] <javascript:>> > wrote: > >> Hi, >> >> >> Finally I'm in process of watching video by Nick [1] and I'm very >>> impressed! >>> >> >> Glad to know! >> >> >>> My question in short: should I dive in learning Scala, its android >>> tooling etc, if I plan to use it mainly for Android development? >>> >> >> That’s what I did, and I’m pretty happy with that choice. Besides, you >> never know — I’ve since started/rewritten many non-Android projects in >> Scala. >> >> >>> Does it have all the tools needed for this, how mature and stable are >>> they? >>> >> >> The build system (sbt) is very mature on its own, with interesting >> interactive command line features (there are good videos on sbt from >> several recent Scala conferences). Perry’s Android plugin [1] is also >> stable and very actively supported. The IDE part is somewhat lagging — >> Intellij IDEA works fine, but may require some initial fiddling. A few days >> ago JetBrains finally changed the priority of this issue to Major [2]. >> >> Do you use it on a daily basis for your [commercial] projects? >>> >> >> I do use it on a daily (sometimes weekly) basis, however my project is >> yet to be released to the store (it’s a part of my Master Thesis). There >> have been commercial apps made with Scala at least as early as in 2011 (see >> ScalaDays of that year), and I think Perry (pfn), as well as other members >> of the community, have published a few. Overall I’ve never had any >> Scala-specific problems with the app. You might, however, bump into several >> things indirectly: >> >> - Bad ProGuard configuration >> - “LinearAlloc exceeded capacity” error [3] (as far as I remember, >> this should be fixed in Android 4.1) >> - GC strain as a result of too many immutable collection operations >> (in reality, images and Google maps are likely to have much bigger memory >> footprint than anything you do with collections) >> >> Thanks for the pointer to Facebook’s fork of ProGuard. I’ve quickly >> hacked a version of android-sdk-plugin using that fork, and after a couple >> of build runs it seems that I’m getting around 10-20s win! >> >> Nick >> >> [1] https://github.com/pfn/android-sdk-plugin >> [2] http://youtrack.jetbrains.com/issue/SCL-6273 >> [3] https://groups.google.com/forum/#!topic/scala-on-android/Ac3ToKKXUdg >> >>> -- >> You received this message because you are subscribed to a topic in the >> Google Groups "scala-on-android" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/scala-on-android/V_SREZrGU2Y/unsubscribe >> . >> To unsubscribe from this group and all its topics, send an email to >> [email protected] <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- You received this message because you are subscribed to the Google Groups "scala-on-android" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
