Единая база кода Java для настольных и мобильных устройств

Есть ли одна или несколько технологий на основе Java, которые могут помочь мне один раз написать базу кода приложения (включая Logic-Views-Controllers), а затем скомпилировать и запустить ее для всех платформ, включая основные настольные и мобильные операционные системы, а также в браузере. Он также должен работать и сохраняться в автономном режиме, чтобы он мог синхронизироваться с удаленным сервером, как только он подключится к Интернету. Мне кажется, что должен быть способ, если я использую какую-то технологию html/css/js для обработки своих представлений для такого приложения, поскольку мне не нужны причудливые технологии представления, зависящие от операционной системы, и java для логики и контроллеры. До сих пор я нашел Oracle ADF Mobile, который кажется коммерческим, eclipse RAP, eclipse scout .... Но я ищу что-то, что также охватывает рабочий стол. Кроме того, если я могу заставить приложение работать только в веб-браузере, в случае, если оно будет работать и сохраняться в автономном режиме, мне будет достаточно.


person Mohammad Rahmani    schedule 12.08.2016    source источник


Ответы (3)


Для этого вы можете использовать Eclipse Scout со следующими настройками/ограничениями:

  • С июня 2016 года Scout поддерживает только веб-интерфейсы (до 2015 года Scout также поддерживал Swing/SWT, но сейчас этого нет)
  • Вам нужно будет запустить часть модели внешнего интерфейса Scout в локальном Tomcat или аналогичном
  • Вам нужно будет добавить код синхронизации для подключения модели внешнего интерфейса Scout к серверной части Scout (который будет синхронизировать данные после того, как установка клиента будет подключена к сети).

Запрос на мобильное решение в сочетании с Java, скорее всего, поставит вас в затруднительное положение, особенно в связи с прекращением поддержки РобоВМ

Подсказка: команда Scout начала работать над автономными возможностями JS пользовательского интерфейса Scout. Тем не менее, до качества продукции еще много месяцев (многие части / концепции все еще отсутствуют, не все части с открытым исходным кодом, нет документации и т. д.)

Дополнение: у вас будут те же ограничения с Eclipse RAP (требуется внешний сервер, только через Интернет, подсказка : стилизовать рэп-приложения сложно).

person matthias    schedule 23.08.2016
comment
Мне просто интересно, почему у нас нет возможности использовать те же html/css/js, которые мы используем в Интернете, в таких технологиях, как JSF/Facelets, в чем-то вроде JavaFX. Мне также интересно, почему java называется портативной, если вы не можете запустить ее на ios. столько чудес... - person Mohammad Rahmani; 23.08.2016
comment
не могли бы вы проголосовать за этот вопрос, потому что они запретили мне задавать вопросы, спасибо. - person Mohammad Rahmani; 05.09.2016

В поисках серебряной пули... Остерегайтесь того, что "не заботясь о чем-то" (ОС) заставит вас сильно заботиться о фреймворке, который делает "грязную работу".

Не говоря уже о мнениях, в 2016 году вы быстрее достигнете своей цели с помощью JavaScript, он стал единственным, что поддерживается повсеместно.
Это может быть выгодным предложением, если у вас все в порядке с JS и вы живете на переднем крае с гетерогенными / менее зрелые инструменты (см. ворота NPM).

Java в браузере (апплеты) — это скоро умрет из-за его хорошо задокументированного проблемы с безопасностью. Можно утверждать, что он давно мертв.

Если вы хотите кодировать только на Java, GWT все еще жив. Он компилирует ваш Java-код в высокоэффективный JavaScript.
Однако с тех пор, как Google сократил свое участие, передав проект руководящему комитету, разработки резко замедлились, и я даже не уверен, что они актуальны. с JDK 8.
Google по-прежнему использует GWT в таких проектах, как Inbox, и это оправдано.

person Michael Técourt    schedule 23.08.2016
comment
Проблема в том, что javascript даже под капотом модульного узла js менее удобен в сопровождении и читаем. Он так часто меняется, а другие разработчики в команде могут причинить столько вреда. Я не могу полагаться на javascript. Но ты видел ваадина? Что ты думаешь об этом ? Это touchkit бесплатно? - person Mohammad Rahmani; 23.08.2016
comment
Я работал с GWT много лет, но никогда не заходил дальше Hello worlds с Vaadin. Они делают много рекламы и предлагают коммерческую поддержку в течение многих лет, и их документация очень полная. Я бы скромно предложил вам составить собственное мнение технически, так как могу только сказать, что компания надежная. К вашему сведению, они постепенно отходят от GWT, парень из Vaadin, которого я видел в Берлине примерно в январе 2016 года, пытался развеять представление о том, что Vaadin — это всего лишь GWT. - person Michael Técourt; 23.08.2016
comment
Vaadin предлагает офлайн-режим . Но я так и не понял, бесплатно это или нет. Я не понимаю, можно ли использовать мобильный телефон Oracle ADF бесплатно или нет. - person Mohammad Rahmani; 23.08.2016
comment
не могли бы вы проголосовать за этот вопрос, потому что они запретили мне задавать вопросы, спасибо. - person Mohammad Rahmani; 05.09.2016

Я бы пошел с GWT.

Google также использует это для таких проектов, как веб-приложение «Входящие» и приложение «Входящие» для Android. Используя GWT, можно совместно использовать большой объем кода между двумя приложениями.

Его также можно скомпилировать как приложение для рабочего стола Windows.

person Knarf    schedule 23.08.2016
comment
GWT вроде в порядке. Но могу ли я легко справиться с автономным кодом? - person Mohammad Rahmani; 23.08.2016
comment
GWT просто компилируется в JS, поэтому нет никакой разницы в том, как вы справляетесь с потерей подключения или использованием локальное хранилище. - person Michael Técourt; 23.08.2016
comment
@MichaelTecourt Могу ли я использовать GWT вместе с JSF/Facelets? - person Mohammad Rahmani; 23.08.2016
comment
Если вы увлекаетесь JSF, да, конечно, как я уже сказал, вы можете использовать GWT везде, где вы используете JavaScript. - person Michael Técourt; 24.08.2016
comment
@MichaelTecourt, не могли бы вы проголосовать за этот вопрос, потому что они запретили мне задавать вопросы, спасибо. - person Mohammad Rahmani; 05.09.2016