Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Web-приложение на PHP или Java?

52K
14 сентября 2011 года
ildar323
19 / / 04.02.2010
Добрый день!
Необходимо разработать web-приложение с авторизацией пользователей. Пользватель выбирает некоторые параметры, затем программа выдает решение (данные берутся из небольшого БД) в виде какого-то сгенерированного файла. Процесс подбора параметров характеризуется динамическим представлением текущего шага (результата), это визуализация и некоторые расчеты.
Проект долгосрочный.

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

Все усложняется тем, что должна быть desktop версия приложения для Windows, *nix, возможно Mac OS, способный работать без соединения с интернет, с ограничениями естественно (например нет сбора статистики), но есть авторизация пользователя (например данные текущего пользователя хранятся в кэш) и выдается решение. Возможно ли использовать один код для desktop и web, что бы не писать одно и тоже каждый раз по два раза?

Рассматриваем варианты PHP и Java.
1. Насколько это реализуемо, desktop-версию делать так: локально запускаем denwer и открываем web-страницу тоже локально? Какие могут попастся подводные камни? Приложените ориентировано на неопытных пользователей ПК, которые сами должны будут устанавливать desktop-версию.
2. Если на Java писать можно ли SE приложения развертывать в качестве web-приложений?
1
14 сентября 2011 года
kot_
7.3K / / 20.01.2000
Что лучше швейная машинка или компьютер?
Хотим открыть небольшое ателье, крайне желательно что бы со швейных машинок можно было писать в интернет, очень удобно. Что для этого нужно - если мы поставим паровой утюг - это поможет?
52K
14 сентября 2011 года
ildar323
19 / / 04.02.2010
Если это не осуществимо, прошу так и ответить. Опыта разработки web-приложений нету вообще, раньше делали только настольные.
271
14 сентября 2011 года
MrXaK
721 / / 31.12.2002
А где стоит БД? У каждого пользователя своя или одна на всех?

Я бы лучше сделал 2 отдельных приложения - одно - обычное серверное, которое всё великолепно отображает. И написал бы что-то типа API, через которое второе десктопное приложение может к нему обращаться. Одним приложением тут не обойдёшься. Локальный денвер, например, потребует у пользователя кучу действий для доступа наружу. Да хотя бы окошко виндового фаервола)
1
14 сентября 2011 года
kot_
7.3K / / 20.01.2000
Цитата: ildar323
Если это не осуществимо, прошу так и ответить.


ну почему не осуществимо. нет преград энтузиастам, нет препятствий идиотам.
а настольные - что делали? что то из дерева вырезали? Лобзиком выпиливали? сегодня для себя открыли интернет? Это правильно. Надо сразу же что-то спросить. Ведь читать и искать - это уныло и не по нашему. Надо обязательно спросить какую нибудь херню - а потом уточнять - осуществимо неосуществимо. :)

14
15 сентября 2011 года
Phodopus
3.3K / / 19.06.2008
PHP на десктопе можно сделать из чего-нибудь подобного PHP-Gtk, джаву в веб вынести вообще куча вариантов, названий наизусть не помню, акромя jsp
1
15 сентября 2011 года
kot_
7.3K / / 20.01.2000
Цитата: Phodopus
PHP на десктопе можно сделать из чего-нибудь подобного PHP-Gtk, джаву в веб вынести вообще куча вариантов, названий наизусть не помню, акромя jsp


и што - это позволит создать десктоп+сервер в одном процессе разработки?
как написало это чудо: Крайне желательно, чтобы не пришлось отдельно программировать для web и для desktop?
Даже если закрыть глаза что еще походу надо реализовать трехзвенку и еще там много чего.

52K
15 сентября 2011 года
ildar323
19 / / 04.02.2010
kot_, вас устраивает отредактированный вариант вопроса?
1
15 сентября 2011 года
kot_
7.3K / / 20.01.2000
Цитата: ildar323
Возможно ли использовать один код для desktop и web, что бы не писать одно и тоже каждый раз по два раза?



Нет. Возможно будет использовать отдельные сущности и компоненты - но, придется вести разработку отдельно серверного приложения, и отдельно десктопов. При любом выборе.

Цитата:
1. Насколько это реализуемо, desktop-версию делать так: локально запускаем denwer и открываем web-страницу тоже локально? Какие могут попастся подводные камни? Приложените ориентировано на неопытных пользователей ПК, которые сами должны будут устанавливать desktop-версию.


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

Цитата:
2. Если на Java писать можно ли SE приложения развертывать в качестве web-приложений?


нет. Можно устанавливать клиентскую часть с сайта.

5
16 сентября 2011 года
hardcase
4.5K / / 09.08.2005
Один код в "вебе и на десктопе" вполне реализуем, но для полноценной работы приложения соединение с интернетом (хотябы периодическое, для синхронизации данных с веб-сервисом) - для этого потребуется. Гуглить в сторону "Out of browser" Silverlight и Adobe AIR. Этот подход не отменяет раздельного написания серверного и клиентского кода.
13
16 сентября 2011 года
RussianSpy
3.0K / / 04.07.2006
kot_ хоть и порой грубоват, но он почти всегда прав. Поэтому прислушайтесь к его советам.
14
16 сентября 2011 года
Phodopus
3.3K / / 19.06.2008
Цитата: kot_
и што - это позволит создать десктоп+сервер в одном процессе разработки?
как написало это чудо: Крайне желательно, чтобы не пришлось отдельно программировать для web и для desktop?
Даже если закрыть глаза что еще походу надо реализовать трехзвенку и еще там много чего.


ну да, а почему нет? сервер и 2 тонких клиента. может я задачу неправильно понял

1
16 сентября 2011 года
kot_
7.3K / / 20.01.2000
Цитата: Phodopus
ну да, а почему нет? сервер и 2 тонких клиента. может я задачу неправильно понял


ну грубо говоря - мой пример со швейными машинками - он не настолько бессмысленный на первый взгляд. На самом деле швейное оборудование с интерфейсом компьютерным и включение в производственный процесс всемирной сети - это весьма нужная вещь. Но постановка задачи в виде: со швейных машинок в интернет - бессмыслица.
Разработка сервера и тонкого (толстого) клиента - это вполне стандартное решение. Объединение в один код и клиента и сервера - мягко говоря не очень хорошая идея.
Вопрос собственно был об этом - можно ли реализовать одним кодом обе стороны. Не смотря на то что я знаю о Silverlight - даже в этом случае речь идет не о "сервере и десктопе в одном флаконе", а о технологии, которая упрощает разработку клиента для сервера (с рядом ограничений). Тоже можно реализовать с использованием Java, Qt, но правда нельзя реализовать с использованием PHP.

1
17 сентября 2011 года
kot_
7.3K / / 20.01.2000
Цитата: kot_
но правда нельзя реализовать с использованием PHP.


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

75K
14 октября 2011 года
a0639
3 / / 14.10.2011
Цитата: kot_
Что лучше швейная машинка или компьютер?
Хотим открыть небольшое ателье, крайне желательно что бы со швейных машинок можно было писать в интернет, очень удобно. Что для этого нужно - если мы поставим паровой утюг - это поможет?



Ну стыдно должно быть заниматься словоблудием
Можешь помочь - хорошо, спасибо
Не можешь - не ВЯКАЙ

13
14 октября 2011 года
RussianSpy
3.0K / / 04.07.2006
Цитата: a0639
Ну стыдно должно быть заниматься словоблудием
Можешь помочь - хорошо, спасибо
Не можешь - не ВЯКАЙ



Толстый трололо?

66K
19 октября 2011 года
onerror
45 / / 05.07.2011
Мне показалось, что автор сказал "небольшая" о размере БД и "не очень сложное" о самом приложении. В этом случае можно было бы всё приложение сделать чисто на "браузер + javascript". Будет абсолютно одинаковый код для работы в сети и локально. Ну, результат будет не в виде файла, а в виде текста на странице.
13
19 октября 2011 года
RussianSpy
3.0K / / 04.07.2006
Цитата: onerror
Мне показалось, что автор сказал "небольшая" о размере БД и "не очень сложное" о самом приложении. В этом случае можно было бы всё приложение сделать чисто на "браузер + javascript". Будет абсолютно одинаковый код для работы в сети и локально. Ну, результат будет не в виде файла, а в виде текста на странице.



Как вы будете работать с БД с помощью JS, расскажите? Телепатически?

66K
19 октября 2011 года
onerror
45 / / 05.07.2011
БД можно выгрузить в js-файл (пример: http://allo-irkutsk.ru/klients/dict.js). Изменять БД на локальном ПК всё равно нет смысла. А хранить временные данные (настройки, например, или какую-нибудь Корзину) можно в куки. Или даже в storage (можно указать условием работы приложения конкретный браузер).
13
19 октября 2011 года
RussianSpy
3.0K / / 04.07.2006
Любопытно будет посмотреть как вы будете в такую "БД" производить запись.
Storage сильно ограничивает количество применяемых браузеров. К тому же если оно часто отключено, то вообще ничего работать не будет. Я например всегда его отключаю тк есть сайты злоупотребляющие этим механизмом.

Все зависит от конкретной задачи. Если речь идет о небольшом количестве неизменяемых данных, возможно, такое решение и подойдет. Однако если все же в проекте присутствует необходимость записи в базе, то нет смысла городить еще какие-то костыли, а просто все хранить в обычной СУБД
66K
20 октября 2011 года
onerror
45 / / 05.07.2011
Цитата: RussianSpy
Все зависит от конкретной задачи. Если речь идет о небольшом количестве неизменяемых данных...



даже если и о большом количестве. Ну, или о среднем количестве. Например, о словаре Ожегова. У меня есть, например, словарь Ожегова на javascript, поиск слов работает прекрасно. Есть даже Орфографический словарь Лопатина (160000 слов). И пользователь может выбирать из словаря данные щелчком - сохранять их в отдельном окне браузера - вот и временное хранилище (из которого можно потом сохранить выборку в файл).

13
20 октября 2011 года
RussianSpy
3.0K / / 04.07.2006
Ну это уже порнография. Грузить на каждый заход на страницу несколько мегабайт скриптов юзеру. В общем ваш подход это ужас. За такое надо отлучать от программирования пожизненно.
271
20 октября 2011 года
MrXaK
721 / / 31.12.2002
что-то не работает ваш словарь)) качается .chm, запускается, а внутри "Переход на веб-страницу отменен", F5 не помогает)
366
21 октября 2011 года
int
668 / / 30.03.2005
Цитата:

<PARAM NAME = CharSet VALUE="windows-1251">
<PARAM NAME = DataURL VALUE="abc.txt">
<PARAM NAME = UseHeader VALUE=true>
<PARAM NAME = CaseSensitive VALUE=false>
<PARAM NAME = FieldDelim VALUE="&#9;">
<PARAM NAME = RowDelim VALUE="&#13;&#10;">
<PARAM NAME = TextQualifier VALUE="">

<body TOPMARGIN="4">

Словарю лет 10, да?

66K
22 октября 2011 года
onerror
45 / / 05.07.2011
Цитата: RussianSpy
Грузить на каждый заход на страницу несколько мегабайт скриптов юзеру



Если вы планируете работать со словарём прямо на сайте, не надо грузить много мегабайт. Для этого существует онлайн-версия, что-нибудь вроде: http://figur.ir2.ru/tolk.htm (или другие варианты). Версия chm предназначена для локальной работы (когда Интернет отключён за неуплату, и вы не можете попасть на сайт).

Цитата: Mr.Hacker
что-то не работает ваш словарь))



Вполне возможно. Например, на линуксе он точно работать не будет (см. пояснения ниже). На Вин смотрите ограничения брандмауэра (чтоб разрешил js).

Цитата: int
Словарю лет 10, да?



Возможно, и 10, уже не помню. Но вот то, что вы процитировали, и сейчас вполне рабочая конструкция. В основе движка - объект Интернет Эксплорера Tabular Data Control, этот объект существует во всех современных версиях IE. Он позволяет работать с текстовым файлом как с таблицей БД. Ясно, что работать будет только на Вин: там дело не только в TDC, но и во всяких ADOdb...

В принципе, можно было бы уже сделать и универсальную версию, чтоб на линуксе тоже работало. 14000 слов на современных машинах уже вполне подъёмно: http://ir2.ru/latrus.htm (не пугайтесь, всего 1 М).

366
24 октября 2011 года
int
668 / / 30.03.2005
Цитата: onerror
Но вот то, что вы процитировали, и сейчас вполне рабочая конструкция.

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

Брандмауэр отключен, всё равно не работает.

66K
24 октября 2011 года
onerror
45 / / 05.07.2011
Цитата: int
Параметры должны быть в кавычках и точка!



Да. И строчными буквами. И желательно не использовать qwirks mode. И document.all - тоже неправильно. Это был один из первых моих опытов на javascript. Я, к сожалению, не могу воспроизвести проблему. У меня TDC работает (на XP, IE8, см. скриншот). Попробуйте открыть ссылку http://dn.ir2.ru/bd/ в IE, посмотрите, какие будут ошибки.

[ATTACH=CONFIG]5380[/ATTACH]

366
25 октября 2011 года
int
668 / / 30.03.2005
Открылось

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог