У нас огромный стек XML-файлов (около 5000+ файлов), возможно, около 80 МБ, когда они не сжаты). Все они представляют собой конфигурации устройств, используемые для чтения и записи данных и создания пользовательских интерфейсов без каких-либо языковых зависимостей. Эти XML-файлы могут быть перенесены на любые технологии, такие как Android и Apple, мир. Не все 5000+ загружаются одним выстрелом в память, мы можем загрузить 200 файлов в память на основе одного подключенного устройства. У нас есть приложение на основе .NET / WPF, которое использует эти XML-файлы для создания пользовательского интерфейса и доступа к информации об устройстве с помощью таких протоколов, как Modbus и Hart (не беспокойтесь о протоколах сейчас). Везде, где нам нужна пользовательская логика, мы записали их в DLL (в .NET), и мы используем отражение и IoC для загрузки этих DLL, создания объектов и доступа к ним через интерфейсы во время выполнения для завершения конфигурации XML. На настольном компьютере мы создаем пользовательский интерфейс и загружаем конфигурацию
Теперь нам нужно разработать приложение для Android, которое работает также на телефоне и планшете. У меня 1 год опыта работы на Java. Мы могли бы написать базовые модули, которые можно использовать как для телефона, так и для планшета, и для уровня пользовательского интерфейса, который предназначен только для визуализации нашего XML в качестве элементов пользовательского интерфейса. Мы знаем, как использовать Java Loader Class Loader для создания экземпляра, чтобы вместо DLL мы могли создавать файл .jar в мире Android и загружать их (если возможно?) И получать доступ через интерфейсы. Когда мы загружаем наш XML, он потребляет от 80 до 100 МБ ОЗУ (в WPF и .NET).
Глядя в мир Android, я не мог решить, стоит ли использовать Scala или Java. У нас нет эксперта по Java, который бы нам посоветовал. Работая над Python, я чувствую, что Scala - это современный и хороший выбор. Также я читал, что приложения для Android, скомпилированные с использованием Scala, толстые (большие), они долго загружаются.
Но, исходя из фона Visual Studio, мы - очень опытная команда разработчиков, ожидающая, что все будет работать через IDE. Также команда должна изучать Java / Scala независимо от нашего выбора с самого начала.
Если мы решим работать на Scala на Android, разве мы не будем считать, что эффективность памяти близка к Java? Также у нас достаточно поддержки IDE (Eclipse или NetBeans или IdeaJ) для Scala?
Я специально ищу объем памяти (внутреннюю часть) и поддержку IDE для создания приложений Android. Нет обсуждения производительности или производительности ..