Хорошая мобильная и настольная архитектура - PullRequest
2 голосов
/ 27 сентября 2010

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

Решения должны работать на Windows, Linux иMac-машины (мы знаем, что используя Java и Swing Tech в качестве бизнеса и графического интерфейса соответственно, мы можем выполнить это требование).проблема возникает, когда мы решили включить ОС Android для мобильных возможностей наших решений, как мы можем повторно использовать код, написанный для настольных приложений?как выставить мой бизнес-класс в качестве службы, когда мы пытаемся избежать установки веб-серверов или серверов приложений?Можно ли заархивировать SOA, избегая сервера веб-приложений?Каковы лучшие методы разработки для повторного использования как можно большего количества кода?.

Если у вас есть какие-либо документы или комментарии, которые указывают мне правильное направление для решения этой проблемы, я бы оценил ее.

Ответы [ 2 ]

2 голосов
/ 27 сентября 2010

Если вы пытаетесь избежать размещения веб-сервера с работающим на нем кодом, я бы предложил создать старую добрую библиотеку JAR старой моды.

Не допускайте попадания всего кода интерфейса пользователя в JAR и просто запрограммируйтебизнес-логика как API.Кодируйте его в J2SE 1.5, но убедитесь, что вы тестируете его как в настольных, так и в мобильных средах.Затем вы можете использовать JAR-файл бизнес-логики, когда пришло время создать полное настольное приложение и приложение для Android.

Для получения информации об использовании файлов JAR в Android это должно помочь: Как добавить внешний jarбиблиотеки для проекта Android из командной строки

Для получения информации о файлах JAR в целом и для настольных приложений читайте дополнительную информацию здесь: http://java.sun.com/developer/Books/javaprogramming/JAR/basics/

0 голосов
/ 01 апреля 2013

Вот скрипт PHP, чтобы сделать это:

 <?php

/* MOBILE DETECT */

$mobile_browser = '0';

if(preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone)/i', strtolower($_SERVER['HTTP_USER_AGENT']))):
$mobile_browser++;
endif;

if((strpos(strtolower($_SERVER['HTTP_ACCEPT']),'application/vnd.wap.xhtml+xml')>0) or ((isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE'])))):
$mobile_browser++;
endif;

$mobile_ua = strtolower(substr($_SERVER['HTTP_USER_AGENT'],0,4));

$mobile_agents = array('w3c ','acs-','alav','alca','amoi','audi','avan','benq','bird','blac',
'blaz','brew','cell','cldc','cmd-','dang','doco','eric','hipt','inno',
'ipaq','java','jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-',
'maui','maxo','midp','mits','mmef','mobi','mot-','moto','mwbp','nec-',
'newt','noki','oper','palm','pana','pant','phil','play','port','prox',
'qwap','sage','sams','sany','sch-','sec-','send','seri','sgh-','shar',
'sie-','siem','smal','smar','sony','sph-','symb','t-mo','teli','tim-',
'tosh','tsm-','upg1','upsi','vk-v','voda','wap-','wapa','wapi','wapp',
'wapr','webc','winw','winw','xda','xda-');

if(in_array($mobile_ua,$mobile_agents)):
$mobile_browser++;
endif;

if(strpos(strtolower($_SERVER['ALL_HTTP']),'operamini')>0):
$mobile_browser++;
endif;

if(strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'windows')>0):
$mobile_browser=0;
endif;

if(strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'iemobile')>0):
$mobile_browser++;
endif;

if(strpos(strtolower($_SERVER['HTTP_USER_AGENT']),' ppc;')>0):
$mobile_browser++;
endif;

if($mobile_browser>0):
echo "mobile";
else:
echo "nix mobile";
endif;

?>
...