• Лови промокод з яким знижка 50 грн - promo50grn

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

Статус: 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. И врядли оно будет простым в реализации.

о популярности жабы сказав(ла):
jezzarax: там порог вхождения выше
jezzarax: тебе на asp.net'е hello world настрогать за 10 минут научиться можно (8 минут на запуск студии, 2 на кодинг), на java такое не прокатит
jezzarax: пока скачаешь одну библиотеку, пока другую, пока их xml конфигом на полметра склеишь, пока маппинг для hibernate настроишь, пока базу нарисуешь, пока веб-сервисы поднимешь
jezzarax: вроде и hello world пишешь, а уже две недели прошло и всем кажется, что это учетная система для малого бизнеса
 
по сути, если клиент будет на Java ME то JSP тебе не нужно ВООБЩЕ, ии сервлеты можно не использовать, просто сделать сокетное приложение. Но если с точки зрения что-то выучить -тогда делай

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

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



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

В чем причина такой "непопулярности"?
Есть ли спрос в Харькове на специалистов именно по 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 тоже понял что это такое - обойдусь без него.

Джава в телефоне и джава в браузере (апплет) это две разные джавы. Первая соержит некоторые ограничения и опять же вам прийдется написать фактически 2 клиента.
Если писать с учетом ограничений Java ME и для браузера, то не вижу почему должны быть серьезные отличия у разных версий клиетнской программы.
Подозреваю что разница между ними будет не такая уж существенная (хотя я конечно же 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 (альтернативы которой пока не вижу - вроде самая распространенная из бесплатных).

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

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

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

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

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

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

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

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

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

Из протоколов есть интересная штука как pforobuf:
Тільки зареєстровані користувачі бачать весь контент у цьому розділі
 
Понятно что Android сейчас самый перспективный вариант в плане разработки "мобильной" клиентской программы на Java, но хотелось бы чтоб была возможность поставить ее на любой телефон.

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

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

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

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

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

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

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

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

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