2012-06-21 2 views
0

Существует так много библиотек кросс-платформенных программ, которые я потерял, чтобы получить ответ на очень простой Java-вопрос.Разработка библиотеки перекрестной платформы Java (для мобильных устройств и Интернета)

У меня есть Java-библиотека, которая хорошо работает на Android. Он не использует никаких специфических функций для Android, а также основывается на стандартном java-sdk. Эта библиотека использует сокеты (простая простая Socket, серверная архитектура ServerSocket) для связи между библиотекой и размещенным сервером (может быть на ec2 или на каком-либо виртуальном общедоступном сервере).

Теперь, мой вопрос заключается в том, могут ли другие разработчики импортировать мою java-библиотеку (построенную с помощью java sdk) в приложение, использующее html/css для пользовательского интерфейса, упаковать все это в мобильное приложение для iPhone (использовать собственную упаковку iPhone, и WebView для запуска)? Также я могу отправить эту библиотеку, чтобы другие разработчики программного обеспечения могли создавать веб-приложение для работы на настольных компьютерах и кросс-браузере?

Некоторые вопросы о stackoverflow близки к тому, что я ищу, но не совсем там. Developing Mobile Apps for Multiple Platforms (without a cross-platform framework!)

  • Будет ли веб-сервер сможет использовать свою библиотеку, которая подключается к серверу через сокеты?
  • И будет ли каждый клиент, подключающийся к этому веб-серверу, создать новый экземпляр моей библиотеки?

ответ

1

Если вы не пользуетесь какой-либо зависимостью ни от Android, ни от какой-либо другой библиотеки, другой разработчик может использовать ее практически везде, где захочет. Хотя имейте в виду, что платформы, такие как EC2, могут иметь предпочтительный способ использования связи. (Я не эксперт по EC2, так что вам нужно будет увидеть, что они используют.)

Так что я думаю, что лучше абстрагироваться от этой функциональности сокета навсегда.

Я не думаю, что вы можете использовать библиотеку Java в iPhone. В условиях использования iOS четко указано, что вы не можете использовать компилятор или интерпретатор на устройстве, отличном от того, который указан в SDK и движке webkit javaScript в Safari. Таким образом, ваш код Java не будет работать на iPhone (без взлома.)

Я не понимаю вопроса о веб-дизайне. Вы имеете в виду переход на сайт, который работает на вашей библиотеке? Если да, то да, если вы держите его в границах Сафари. (Без вспышки, нет Java Applet .etc.)

Будет ли веб-сервер сможет использовать свою библиотеку, которая подключается к серверу с использованием сокетов?

По большей части, да. Но, как я уже сказал, платформа может не разрешать сырые соединения, поэтому хорошо абстрагировать ее.

И будет ли каждый клиент, подключившийся к этому веб-серверу, создать новый экземпляр моей библиотеки ?

Это зависит от дизайна вашей библиотеки и общедоступных API.

Надеюсь, это поможет.

+0

Спасибо, я один маленький шаг ближе. Да, я отвлек весь материал сокета на более высокий уровень api, например AddUserDetails (имя, адрес, номер телефона).Теперь, возможно ли, чтобы сервлет выполнил вызов AddUserDetails, который вызывается из JSP, из которого вызывается inturn из html? Таким образом, у меня может быть html ui, нажмите кнопку, отправьте имя, адрес и номер телефона в jsp-> servlet-> mylibrary-> socket? Если это технически возможно, я готов к выпуску своего продукта, и сегодня я буду участником :)? Надеюсь, я не слишком глуп. – Siddharth

+1

Да. Это вполне возможно. Хотя я не могу гарантировать, не зная об окружающей среде. До тех пор, пока ваша библиотека поддерживает подключение к сети, она должна быть хорошей. Даже это не удается, подключите другую реализацию. Я думаю, что так работает «новая» клиентская библиотека GoogleAPI. «Напиши однажды». – Madushan

+0

Просто развил мир привет. Я отправлю ссылку на мир привет после его загрузки. – Siddharth

Смежные вопросы