Кросплатформенное клиент-серверное приложение

Статус: Offline
Реєстрація: 19.08.2009
Повідом.: 2077
Кросплатформенное клиент-серверное приложение

Еще раз поменяю развание топика

Итак, какие выводы для себя сделал.

1. Реально кросплатформенное клиенсткое приложение - только браузерное.
На простых телефонах (не смартфонах) - через Opera Mini (с сильно урезанным JavaScript), да и на многие смартфоны подревнее и попроще скорее всего тоже придется под Opera Mini писать.
JavaScript выполняется на прокси-сервере Opera, не загружая процессора клиетского приложения, клиент реагирует только на события onLoad UnLoad onSubmit OnChange onClick (и не всегда так как в нормальном браузере).

2. Если на Java писать - версии для J2ME, дектопа и Андроида несколько отличаются (особенно нативное для Андроида) и нужно устанавливать виртуальную машину Java (на несмартфонах и большом проценте дектопов уже стоит).

3. Из кросплатформенных сред разработки для мобильных больше всего по описаниям и почти полной бесплатности понравилсяMoSync
Приложения в нем пишуться на С/С++, поддерживается большинство смартфонов и даже J2ME
В будущем разработчики обещают и на дектоп перенести приложения, а пока только в симуляторах.

На чем делать сервер пока тоже не решил...
 
Останнє редагування:
если хочешь чтобы на любом мобильнике работало, сделай на HTML
 
html не подойдет, в принципе javascript может справиться с моими задачами, но решил что буду учить java
 
Ну, jsp будет куда лучше php как по скорости так и по возможностям. Не популярен т.к. выучить его сложнее, чем курсы Попова. И с серверами lamp до недавнего времени было много проще (по цене), чем с tomcat и прочими под java.

Вот простенькое
Тільки зареєстровані користувачі бачать весь контент у цьому розділі
для освоения mysql\hibernate\spring mvc\IoC\jsp\ajax\maven. Если ORM не нужен - можно hibernate заменить на jdbc\spring jdbc\myBatis на выбор. Хотя, если джаву не видели, напишите сначала пример страницы на jsp\servlets. Рекомендую всё это открывать в ultimate Intellij idea (есть на рутрекере) или netbeans.

И да, найти аутсорс задание на php куда проще, чем на java. И врядли оно будет простым в реализации.

 
по сути, если клиент будет на Java ME то JSP тебе не нужно ВООБЩЕ, ии сервлеты можно не использовать, просто сделать сокетное приложение. Но если с точки зрения что-то выучить -тогда делай

Если клиент будет работать на Джава МЕ, то ЖСП тебе не подойдет. Используй чистые сервлеты либо создай сервер на сокетах
ЖСП нужел для того, что-бы удобно вставлять динамический контент из сервера на твою ШТМЛ страницу. Сейчас в чистом виде не используется, так как понапридумавали более удобных фреймворков, основная идея которых выкинуть нахрен логику из жсп страниц и позаменять их кастом тагами.
Опять же с точки зрения перспективности, Джава МЕ мертва и писать что-то под нее не имеет смысла. Хочешь выучить мейнстрим технологию на джава - напиши апликуху для андроида. Или же, как предлагали выше - ппросто сделай сайтец на штмл, сейчас почти все мобильные нормально рендерят контент и даже работают с ЖС

А по поводу страшных слов типа ОРМ, спринг МВС и прочей хуиты, я бы пока не замарачивался



И самое главное:


специалистов по ЖСП без хотя бы сервлетов, коими эти жсп и являются + знания жава КОр не существует наверно в природе так что надо еще кучу сопутствующих вещей учить
 
Останнє редагування:
Java я выбрал чтоб клиентское приложение теоретически могло работать где угодно, практически поначалу буду тестировать и использовать в браузере на дектопе и в Java аплете на телефоне (то есть Java ME).

HTML скорее всего не подойдет по причине недостаточной динамичности и скорости обработки событий джаваскриптом (да и не уверен что браузеры на простеньких телефонах нормально его поддерживают).
Да и не хочу углубляться в джаваскрипт, хочу Java учить.

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

Так что наберное MySQL буду изучать.

Еще узнал такие абревиатуры как SQLJ и JDBC - но пока не понял зачем они нужны и чем лучше чем простые SQL запросы
 
Останнє редагування:
Джава в телефоне и джава в браузере (апплет) это две разные джавы. Первая соержит некоторые ограничения и опять же вам прийдется написать фактически 2 клиента. Если клиентами будут обладатели древних телефонов то такой выбор понятен. Но тестировать лучше в эмуляторе (я в свое время тестировал на том. Которые идетт в комплекте с нетбинсом).
 
Зачем вам нужны jsp если не для браузера пишете? Вам http протокол нужен или удаленный вызов процедур вообще?

JDBC это низкоуровневый интерфейс работы с СУБД в java. sqlJ я не использовал, по-моему это java процедуры на стороне СУБД, лучше такого не использовать.
 
Я уже понял что JSP мне не нужен, смотрю в сторону MySQL и вдобавок к Jave придется еще и в SQL разбираться.
JDBC тоже понял что это такое - обойдусь без него.

Если писать с учетом ограничений Java ME и для браузера, то не вижу почему должны быть серьезные отличия у разных версий клиетнской программы.
Подозреваю что разница между ними будет не такая уж существенная (хотя я конечно же Java не знаю, но ведь обещают кросплатформенность
То есть само собой два разных клиента, но код ведь один и тотже?
 
кросплатформенность это возможность запускать твое приложение везде. Где реализована жвм. Но МЕ придумали тогда. Когда телефоны были еще очень слабые и поэтому она урезана и для нее реализована своя собственная жвм. И я как человек который поддерживал 2 клиента скажу что внктреннч логика может быть и одна и та же но писать код с рассчетом на МаЕ это не оч прикольно. Ну и уж точно он не будет идеантичный
 
Наверное все же буду дальше разбираться с Java ME - какие в ней ограничения и т.д.

Понятно что Android сейчас самый перспективный вариант в плане разработки "мобильной" клиентской программы на Java, но хотелось бы чтоб была возможность поставить ее на любой телефон.
 
Хочу посмотреть на sql запросы в java без использования JDBC =)))
 
Хочу посмотреть на sql запросы в java без использования JDBC =)))

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

Еще обнаружил такую интересную штуку как Hibernate...

"Архитектура" моего проекта представляется теперь таким образом:

1. Клиентская программа на Java

2. Серверная программа на Java

3. Какая-то прослойка между серверной программой и базой данной (JDBC? Hibernate? Что-то другое?)

4. система управления базой данных - MySQL (альтернативы которой пока не вижу - вроде самая распространенная из бесплатных).

Пока плохо представляю как будут взаимодействовать клиентская и серверная программы То есть знаю какие данные пересылать, но каким именно образом мне пока не ясно.
 

Кстати дам плохой совет - если сможешь хорошо хибернейт настроить то с скл можно не разбираться ) ну и ваще хибернейт использует ждбс так что от него пусть и в неявном виде никуда не деться.
Ну а как данные передавать от клиента к серверу можно в инете посмотреть. Набери джава сокет клиент сервер в гугле
 
Хибернейт тормозит (с), а так, ничего сложного в нем нет, меньше кода писать.

Из протоколов есть интересная штука как pforobuf:
Тільки зареєстровані користувачі бачать весь контент у цьому розділі
 

а разве java me приложения можно запустить на какой-то современной мобиле? (WP7/Android/iOS)

может я конечно ошибаюсь, но под WP7 вообще java vm нету. Там дотнет правит балом.

Андроид имеет dalvik машину, которая хоть частично и совместима с java байткодом, но не совсем. Запускать java me приложения андроид не умеет.

Про iOS не знаю, но чето мне думается что запуск java me приложений там тоже невозможен, там Objective C а не java...

на каких мобилах собираешься запускать? ведь получается что ни на одной из трех современных платформ приложение не запустится

Что-ж это за кроссплатформенность?
 

Под андроид есть ЖВМ МЕ, получается будет ВМ в квадрате Но для юзера это гемор еще тот. По поводу других платформ не в курсе.
Городить огород, который собирается городить ТС, имеет смысл только лишь в одном случае - если использовать его будет компания, которая купит своим сотрудникам дешевые мабилы с поддержкой явы