> > 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).
Thanks for pointers! On 28 July 2014 20:19, Nick Stanchenko <[email protected]> wrote: > 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]> 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]. >>> >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- > 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]. > 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.
