#android #java #scala
Ау? Есть у кого-нибудь опыт со Scala в Android? Синтаксис дюже нравится, а по сути все равно внутри все та же вроде Java - так что наверняка подойдет к Android
Ответы
Ответ 1
Здесь пара плагинов для сборки приложений на Scala под Android: Build Scala Android apps using Scala. Android Plugin for Gradle, featuring ProGuard and Scala supportОтвет 2
Опыт есть. Основная проблема -- андроид имеет свой формат архивов (вместо jar -- dex). В формате есть ограничение в 65,535 методов/на файл и scala в это ограничение упирается. С этим можно бороться с помощью таких инструментов как proguard, которые вырезают весь неиспользуемый код, и делает еще ряд оптимизаций, но он работает отнюдь не быстро и каждый и так не быстрый цикл "собрал приложение/залил на телефон-эмулятор/протестировал" еще больше затягивается. Раньше (до версии 2.2 когда вроде бы сделали JIT в андроиде) код написанный на scala был медленней чем plain java, теперь это разница не заметна. Заметна разница в потреблении памяти (но трудные места можно написать в императивном стиле -- scala позволяет, или же написать на java -- как тут упоминали, можно в одном проекте замиксовать любые jvm языки, которые компилируются в class файлы, это например Java, Scala, Clojure, Kotlin и другие менее популярные). В остальном разработка довольно приятная (например, плагин про который упоминал @мурмурмур позволяет использовать типизированные ресурсы, а не кастовать каждый ресурс который выбираешь по id).Ответ 3
У нас в команде пишут. Я правда сам не мобильный разработчик, бэкендом занимаюсь, но с отзывами самих разработчиков можете здесь ознакомиться. Пишут в Android Studio насколько я знаю. С точки зрения пользователя проблем с мобильным приложением замечено особых не было.Ответ 4
Должно работать. В принципе, можно брать любой язык, который генерит class файлы для java 1.5 - 1.6. А андроид компилятор просто перегоняет их в dex файлы и пакует в архив apk. Более того, можно в одном проекте комбинировать в различных пропорциях разные языки.Ответ 5
Вот здесь уже это обсуждалось: Добавление поддержки Scala за несколько кликов ... Может поможет :)Ответ 6
Могу предложить посмотреть вот такую статейку "Hello, World!" на Scala под Android
Комментариев нет:
Отправить комментарий