[LJ2ME]Универсальный клиент

Jun. 7th, 2007 04:39 pm
gianthare: (Default)
[personal profile] gianthare
Году в 98 [livejournal.com profile] catpad нашел в какой-то книге гениальную фразу "Браузер это универсальный клиент". Мы этой фразой прониклись и с тех пор пытались любой GUI делать с помощью браузера. В наше время ее истиность по-моему вызывать сомнений не может - у значительного числа людей браузер это едиственная запущенная программа.
Но я не об этом - я недавно понял, что такой подход, т.е. одна программа, которая может быть интерфейсом к чему угодно, не нов - так давным давно начал вести себя Emacs.

Date: 2007-06-08 05:04 am (UTC)
From: [identity profile] mikkim08.livejournal.com
Хотя идея, что нужен новый протокол GUI-over-IP мне нравится. И чтоб открытый и простой, чтобы все могли сами своих клиентов писать.

GUI over network кстати уже было, X называется. Вышло вроде неудачно.

Да и вообще, по-моему, это неправильная идея. Правильно, по-моему, это по сети передавать только б.-м. структурированные данные. А гуем будут заниматься бегущие в браузере аппликации.

Эта аппликации ("гаджеты") либо сгружаются автоматически с сети (навроде аплетов) либо изначально сбандлены с браузером. Причем один и тот же сайт может показываться разными "гаджетами" по-разному.

У браузеров будут разные "дистро": в зависимости от прибандленных к ним "гаджетов". Например я часто пользуюсь фликром, гуглом и ЖЖ, и поставлю себе бразуер с прибандленными к ним соответствующими "гаджетами".

Можно ли будет все это построить на ajax'е, как технологии ? Гугл вроде именно ajax толкает, так что может быть. Но это конечно только внутри. Программистам "гаджетов" никакого ajax'а конечно не видно.

Date: 2007-06-09 10:43 am (UTC)
From: [identity profile] gianthare.livejournal.com
Х по-моему низкоуровневый довольно. Там ведь на уровне пикселей, нет?

Апплеты как-то воспринмаются как что-то изолированное от бразузера.
> один и тот же сайт может показываться разными "гаджетами" по-разному.
это уже XML какой-то

> У браузеров будут разные "дистро": в зависимости от прибандленных к ним "гаджетов"
скорее плагины, потому что кто ж заранее знает

> Программистам "гаджетов" никакого ajax'а конечно не видно.
хорошо бы

Date: 2007-06-09 02:12 pm (UTC)
From: [identity profile] mikkim08.livejournal.com
> Х по-моему низкоуровневый довольно. Там ведь на уровне пикселей, нет?

Это в смысле, что клиент говорит серверу "set pixel (0,0) to color (0xff, 0xff, 0xff)" ?

Если так, то вроде нет. Оно, по-моему, по-другому работает. Так клиент говорит серверу что-то типа, "create button in widget (id=1234) : position (0,0), size (10, 10)". А сервер ему возвращает "new button (id=1235) created". А когда юзер кнопку нажал, сервер клиенту говорит "button (id=12345) pressed".

>> один и тот же сайт может показываться разными "гаджетами" по-разному.
> это уже XML какой-то

Наверное.

>> У браузеров будут разные "дистро": в зависимости от прибандленных к ним "гаджетов"
> скорее плагины, потому что кто ж заранее знает

И плагины тоже. Такое кстати уже есть.

>> Программистам "гаджетов" никакого ajax'а конечно не видно.
< хорошо бы

Так как этому все и идет. Если уже не пришло.

Date: 2007-06-09 04:11 pm (UTC)
From: [identity profile] gianthare.livejournal.com
>> это уже XML какой-то
>Наверное.
Мой опыт работы с XML скорее отрицательный - вроде правильная идея и так положено , а на практике каждый раз непонятно в чем выигрыш по сравнению с custom plain-text based format и почему такая морока, когда ин пользуешься

"X provides the basic framework, or primitives, for building GUI environments: drawing and moving windows on the screen and interacting with a mouse and/or keyboard".
Видимо Вы правы, хотя не знаю, имеет ли Х понятие о кнопках или он говорит "mouse clicked at X,Y".
Я скорее думал о чем-то, что с точки зрения программиста выглядит как какой-нибудь swing, но вся оконная часть реально выполняется у пользователя, а вся логика на сервере.

> Так как этому все и идет. Если уже не пришло.
Я не очень видимо в курсе последних технологий. Мне представлялось, что сейчас очень мног приходится делать "вручную"

Date: 2007-06-09 08:56 pm (UTC)
From: [identity profile] mikkim08.livejournal.com
> Мой опыт работы с XML скорее отрицательный - [...]

Может быть. Ну, пусть будет не XML, а какой-нибудь другой текстовый формат, пригодный для представления структурированных данных.

Главное, чтобы эти данные не содержали presentation logic
типа, комманд (draw window (pos=0,0; size=10,10)) или event'ов (button (id=0000) pressed).

Это мне так кажется.

> Видимо Вы правы, хотя не знаю, имеет ли Х понятие о кнопках
> или он говорит "mouse clicked at X,Y". [..]

Может и не имеет кстати.

> Я скорее думал о чем-то, что с точки зрения программиста
> выглядит как какой-нибудь swing, но вся оконная часть реально
> выполняется у пользователя, а вся логика на сервере.

Это мне и кажется сомнительным.
Интересно было бы в этой связи посмотреть на опыт (отрицательный) X11.

> Я не очень видимо в курсе последних технологий.
> Мне представлялось, что сейчас очень мног приходится делать "вручную"

Я и сам не в курсе. Но GWT же есть.

Date: 2007-06-09 08:57 pm (UTC)
From: [identity profile] mikkim08.livejournal.com
> Ну, пусть будет не XML, а какой-нибудь другой текстовый формат, ..

Ну да, сейчас же JSON в моде.

Date: 2007-06-10 06:24 pm (UTC)
From: [identity profile] mikkim08.livejournal.com
Я скорее думал о чем-то, что с точки зрения программиста выглядит как какой-нибудь swing, но вся оконная часть реально выполняется у пользователя, а вся логика на сервере.

Я еще раз об этом подумал, сегодня за обедом, и понял, почему мне эта идея не нравится.

По-моему, дело в том, что эта самая граница, между тем, что в гуе должно делаться на клиенте, а что на сервере, зависит от аппликации и для разных аппликаций очень разная. Например в бизнес-аппликации для заполнения формочек (то, чем я как раз занимаюсь), можно каждый клик возить по интернету. А вот в игрушке какой-нибудь уже нельзя. Поэтому эта граница должна быть подвижная. И двигать ее должна аппликация. Это, по-моему, основное требование к технологии remote gui.

Дальше уже можно подумать, какая технология для этого лучше подходит.

P.S. Заканчиваю спамить. Постараюсь свои умные мысли писать в своем журнале.

Date: 2007-06-10 06:45 pm (UTC)
From: [identity profile] gianthare.livejournal.com
Ну так, насколько я понимаю, это то как сейчас работает AJAX - программист каждый раз заново решает, что где будет выполняться и раздельно прграммирует интерфейс и логику, которая в браузере, и логику, которая на сервере. Есть в этом делении какая-то искуственность. И очень/слишком много работы вручную.
Зато отсутствие стандарта поощряет делать разный интерфейс для разных аппликаций. В моем подходе все быстро станет одинаковым, как все аппликации на Яве похожи.

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

Date: 2007-06-11 08:59 am (UTC)
From: [identity profile] mikkim08.livejournal.com
Да ладно спамить, зачем люди посты пишут, как ни для того, чтобы их комментировали.

ну хорошо, тогда я продолжу.

ajax это всего лишь какой-то набор хаков (зачеркнуто) технология. Что и как мы делаем с ajax'ом во многом зависит от нас. Скажем, если использовать GWT (см. моя ссылку catpad'у), то у всех аякс-аппликаций, на нем написанных, look and feel будет одинаковым.

В этих аппликациях граница между клиентом и сервером проводится явно. Но так как и клиент и сервер пишутся на джаве, это в принципе позволяет (по крайней мере в build-time), решать какая логика будет на сервере, а какая на клиенте. При наличии определенной методологии работы с GWT, разумеется.

Ваша модель например мне не очень нравится, но ее вроде тоже можно имплементировать на аяксе (e.g. с помощью GWT).

Profile

gianthare: (Default)
gianthare

February 2026

S M T W T F S
1234567
891011121314
15161718192021
222324 25 262728

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 6th, 2026 08:44 am
Powered by Dreamwidth Studios