Scala или Java на основе среды IDE и памяти - PullRequest
0 голосов
/ 12 июля 2011

У нас огромный стек 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. Нет обсуждения производительности или производительности ..

Ответы [ 2 ]

1 голос
/ 13 июля 2011

Моя среда Scala IDE Maven в одном окне терминала и Vim в другом. Браузер отображает справочную документацию. Если вы можете основывать свой процесс сборки на Maven, то любая IDE должна работать нормально. А поскольку вы много работаете с XML-файлами, я предлагаю вам основывать процесс сборки на Maven, а не на SBT.

Конечно, есть поддержка Eclipse для Scala, Intellij поддерживает ее, есть плагин Netbeans для Scala, даже расширение языка Komodo для Scala. Много вариантов IDE, чтобы попробовать. Только разработчик знает, что у них работает.

Сделайте полдюжины идентичных виртуальных машин. Установите одну IDE на каждую из них. Попросите разработчиков (конечных пользователей IDE) протестировать их и выбрать тот, который им нужен. Сделайте всю сборку и непрерывную интеграцию с SVN и Maven. Установите границу между личным набором инструментов разработчиков (IDE, Emacs или Vim) и поддерживаемыми инструментами разработки.

1 голос
/ 12 июля 2011

Если вы пришли из C #, я бы посоветовал выбрать Scala. Таким образом, вы могли бы на самом деле сохранить некоторую часть своей бизнес-логики, потому что хороший код на C #, вероятно, выглядит немного как то, что делается в Scala. Например LINQ в C # и классы коллекций Scala (против коллекций Java).

Синтаксис немного отличается от Java / C #, но в наши дни синтаксис вряд ли является реальной проблемой.

Поддержка Java в среде IDE довольно хорошая, но если вы работаете в Visual Studio, плагин Intellij (или Eclipse) + Scala может подойти вам.

Если вы программируете один и тот же код на Java и Scala, потребление памяти должно быть примерно одинаковым.

Следует помнить, что вы должны использовать ProGuard, чтобы сохранить размер приложения Android управляемым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...