|
|
|
Как могла быть написана клиентская часть в приведенном примере?
|
|||
|---|---|---|---|
|
#18+
Добрый день. Если идея как строится серверная часть, использующая базу данных Web-Enterprise приложение понятно. То как строится клиентская часть - не очень. Рассмотрим, на примере "1С:Бухгалтерия" (у них сейчас появилась интернет-версия) - так вот если зайти в это приложение и с помощью функции "Просмотр кода" в Google Chrome посмотреть html-код сгенерированной страницы (см. вложение), то мы увидим массу сплошных div'ов. Хотелось бы понять как происходит генерация подобных страниц. Правильно ли я понимаю, например, берут Java и Swing-компоненты проектируют клиентскую часть приложения, по сути как в Delphi, а затем это все каким-либо фреймворком превращается в код html, сгенерировав файлы *.css, *.js и т.п? Или как-то по-другому? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2014, 15:00 |
|
||
|
Как могла быть написана клиентская часть в приведенном примере?
|
|||
|---|---|---|---|
|
#18+
prgmdelphiТо как строится клиентская часть - не очень. Форумом, по-моему немного ошиблись. prgmdelphiРассмотрим, на примере "1С:Бухгалтерия" (у них сейчас появилась интернет-версия) - так вот если зайти в это приложение и с помощью функции "Просмотр кода" в Google Chrome посмотреть html-код сгенерированной страницы (см. вложение), то мы увидим массу сплошных div'ов. Лет 10-15 назад компоновку страниц делали на таблицах. Это было крупным и массовым заблуждением. В отличие от таблиц, div позволяет задать только иерархию элементов. А через CSS для них можно отдельно задать любую компоновку. Поэтому огромное количество современных инструментов интенстивно использует div-ы для создания HTML. В данном примере мы видим таблицу реализованую на div-ах. Это, конечно, клиника с перегибом в другую сторону. Но многие радикальные css евангелисты этим увлекаются. prgmdelphiХотелось бы понять как происходит генерация подобных страниц. Почему именно "генерация"? prgmdelphiПравильно ли я понимаю, например, берут Java и Swing-компоненты проектируют клиентскую часть приложения, по сути как в Delphi, а затем это все каким-либо фреймворком превращается в код html, сгенерировав файлы *.css, *.js и т.п? Нет. Это один из немногих способов, который уже отмирает. И Swing к этому отношения не имеет. Сначала был HTML - обычная разметка страниц. Потом появился JavaScript и DHTML. Которые позволяли менять DOM страницы на стороне клиента. Этими возможностями никто долго не пользовался особо. Так как компьютеры были медленными, JavaScript интерпретаторы тормозными. А другие браузеры кроме IE - экзотикой. HTML полностью генерировался на сервере лишь с небольшими скриптами. Потом произошло два принципиальных прорыва в клиентском программировании - первый это альтернативные браузеры Opera и Firefox. Которые показали что JS и бразуер вообще может работать намного быстрее. А значит на клиенской стороне высвобождается большое количество вычислительных ресурсов. Вторым прорывом стал jQuery с его селекторами. Который позволил отделить JavaScript логику от HTML разметки и попытался скрыть специфику разных браузеров. Это всё дало возможность из тонкого клиента сделать толстый (rich). Так как эта революция произошла после уже прорыва в Java Opensource, в Google задумались как использовать существующий opensource на клиенте. И придумали компилятор Java->JavaScript, который называется GWT. В Java всегда было много фреймверков и с развитием JavaSctipt многие из них стали добавляться максимальную поддержку AJAX/DHTML. Поэтому помимо GWT в Java используются Java Server Faces, Wicket и другие. GWT и JSF имеют всяческие надстройки, поэтому это скорее группы фреймверков, а не отдельные фреймверки. И для GWT и для JSF существуют WYSIWYG инструменты, которые вы называете "как в Delphi". На данный момент эти технологии развиваются слабо и отмирают. Причиной тому стало развитие pure JavaScript фреймверков таких как jQuery, AngularJS, Knockout.js, Bootstrap, Mustache и множество других. К сожалению сам JavaScript как платформа ещё не достаточно развился и сформировался для промышленной разработки. Ведь за ним не стоят крупные комании, как за Java. Поэтому помимо фреймверков, очень мало других наработок. Но тенденции уже наметились. Для HTML и без Java существует масса визуальных дизайнеров, таких как Dreamweaver или дизайнер в Wordpress. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2014, 15:48 |
|
||
|
Как могла быть написана клиентская часть в приведенном примере?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczДля HTML и без Java существует масса визуальных дизайнеров, таких как Dreamweaver или дизайнер в Wordpress. Blazkowicz , спасибо большое за столь подробное пояснение. Правильно ли я понимаю, что клиентские части подобные "online 1С:Бугхлтерии" (скриншот топика) создается на основе GWT, JSF, jQuery и т.п.? Т.е. по сути берут некий WYSIWYG-инструмент, поддерживающий GWT или JSF или jQuery и в нем ведут разработку дизайна и некого бизнес-кода связывающийся с сервером для обмена данными? При этом итоговый html-код на выходе, с помощью WYSIWYG, получается автоматом? или все же иначе, например стоит задача разместить на странице кнопку (Button), с помощью инструмента WYSIWYG я это делаю, а дальше как - код, отвечающий за местоположение, стиль, и т.п. этого контрола, прописывается вручную? P.S. Я не в коем случае не претендую на то, чтобы меня тут обучали всем тонкостям - просто хочу уловить суть построения клиентской части. На Delphi все понятно, если примитивно рассказать, то разработка корпоративных-приложений, работающих с БД, делается так: проектирования интерфейса выполняется через набор стандартных компонентов (VCL) или сторонних (например, DevExpress если стоит задача получить стальный дизайн), пишется ORM (собственно иерархия классов для связи с БД) и пишется промежуточный слой, где закладывается бизнес логика нашего приложения и через который и будет происходить обмен интерфейса и наших объектов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2014, 17:57 |
|
||
|
Как могла быть написана клиентская часть в приведенном примере?
|
|||
|---|---|---|---|
|
#18+
up ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2014, 10:04 |
|
||
|
Как могла быть написана клиентская часть в приведенном примере?
|
|||
|---|---|---|---|
|
#18+
prgmdelphiПравильно ли я понимаю, что клиентские части подобные "online 1С:Бугхлтерии" (скриншот топика) создается на основе GWT, JSF, jQuery и т.п.? Т.е. по сути берут некий WYSIWYG-инструмент, поддерживающий GWT или JSF или jQuery и в нем ведут разработку дизайна и некого бизнес-кода связывающийся с сервером для обмена данными? При этом итоговый html-код на выходе, с помощью WYSIWYG, получается автоматом? или все же иначе, например стоит задача разместить на странице кнопку (Button), с помощью инструмента WYSIWYG я это делаю, а дальше как - код, отвечающий за местоположение, стиль, и т.п. этого контрола, прописывается вручную? У 1С есть свой CRM - Битрикс. Возможно у них есть и свои собственные наработки по клиентской части. Судя по коду, HTML генеренный, а не рукописный. GWT/JSF отдельно, jQuery отдельно. В одну группу их записывать не стоит. WYSIWYG для Web используют, но не так часто. Это имеет смысл только если вы пишете какой-то ERP с кучей форм вроде того же 1C. В противном случае, намного полезнее писать DHTML руками. Так как HTML возможности HTML/CSS намного шире чем узкие рамки выбранного WYSIWYG дизайнера. prgmdelphiP.S. Я не в коем случае не претендую на то, чтобы меня тут обучали всем тонкостям - просто хочу уловить суть построения клиентской части. На Delphi все понятно, если примитивно рассказать, то разработка корпоративных-приложений, работающих с БД, делается так: проектирования интерфейса выполняется через набор стандартных компонентов (VCL) или сторонних (например, DevExpress если стоит задача получить стальный дизайн), пишется ORM (собственно иерархия классов для связи с БД) и пишется промежуточный слой, где закладывается бизнес логика нашего приложения и через который и будет происходить обмен интерфейса и наших объектов. Напоминаю, что вы слегка ошиблись форумом: http://www.sql.ru/forum/html-javascript-css Если хочется понять. То я бы рекомендовал изучить обзорно jQuery, ExtJS и AngularJS. Почитать туториалы, узнать что они вообще умеют. Тогда, ИМХО, вопросов станет меньше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2014, 10:21 |
|
||
|
Как могла быть написана клиентская часть в приведенном примере?
|
|||
|---|---|---|---|
|
#18+
prgmdelphi, тебе написали выше. Это не Delphi, т.к. это Веб. Тут очень много вариантов. Напр. поиск по SmartGWT - там есть примеры. ЗЫ. Пример "как в 1С" сделать очень тяжело в веб (по сравнению с Программа.exe) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2014, 10:29 |
|
||
|
Как могла быть написана клиентская часть в приведенном примере?
|
|||
|---|---|---|---|
|
#18+
prgmdelphi"1С:Бухгалтерия" (у них сейчас появилась интернет-версия) У таких больших рессурсов, как 1С есть и базовый фреймворк для построения HTML на лету. Но, это дорого и долго, поэтому IMHO не для сабжа 2. В потребительском плане для заказчиков "слабовато". Такой же IntraWeb есть в Delphi IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2014, 10:36 |
|
||
|
Как могла быть написана клиентская часть в приведенном примере?
|
|||
|---|---|---|---|
|
#18+
Пока понял одно - клиентская часть в Web'e не прозрачно. Если с серверной части (экосистема вокруг J2EE) мне суть понятна, то с клиентом как-то не очень - десятки разных способов, нет четкого алгоритма в проектировании клиента. Или все же еще не прозвучал ответ от клиента, работающий в этой стези, который мог бы пояснить суть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2014, 11:57 |
|
||
|
Как могла быть написана клиентская часть в приведенном примере?
|
|||
|---|---|---|---|
|
#18+
prgmdelphiэкосистема ))) Иди на С# там всё понятно и прозрачно....как в сиквеле против оракля)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2014, 12:06 |
|
||
|
Как могла быть написана клиентская часть в приведенном примере?
|
|||
|---|---|---|---|
|
#18+
prgmdelphiПока понял одно - клиентская часть в Web'e не прозрачно. Чей-то не прозрачно? JavaScript вот же он, перед глазами весь. prgmdelphiЕсли с серверной части (экосистема вокруг J2EE) мне суть понятна, то с клиентом как-то не очень - десятки разных способов, нет четкого алгоритма в проектировании клиента. Точто так же как и в Java, помимо JEE есть десятки альтернативных фреймверков. prgmdelphiИли все же еще не прозвучал ответ от клиента, работающий в этой стези, который мог бы пояснить суть. Это та самая проблема, о которой я упомянул в первом ответе. Скачок в развитии JavaScript произошел относительно недавно. Единого ведущего вендора для JS нет. Разве что jQuery и ExtJS как-то двигают на переводой. Нет никаких выработаных способов организации кода, слоёв, модульности и много чего другого. Поэтому архитектуру зачастую каждый пишет как ему нравиться. По поводу паттернов - всё то же самое что и на любом толстом клиенте. MVVM, биндинг, DTO, Rich Domain Model. Правда, недо-ООП в JavaScript слегка напрягает. Но это компенсируется функциональными средствами. Серьезной проблемой для крупных проектов является динамическая типизация. Это одна из причин, по которой, Google, например разрабатывает Go, как альтернативу JS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2014, 12:10 |
|
||
|
Как могла быть написана клиентская часть в приведенном примере?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz Серьезной проблемой для крупных проектов является динамическая типизация. Это одна из причин, по которой, Google, например разрабатывает Go, как альтернативу JS. Только Dart , Go это скорее альтернатива С ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2014, 12:48 |
|
||
|
Как могла быть написана клиентская часть в приведенном примере?
|
|||
|---|---|---|---|
|
#18+
prgmdelphi, попробуйте посмотреть ExtGWT, он правда верной дорогой идет в проприетарные продукты, но если нужно RIA для какой-нибудь учетной системы/ERP/CRM, то вы получаете "из коробки" большое количество заготовок виджетов, Java и на клиенте, и на сервере(GWT->GWT-RPC->Servlets->прочие JEE), а так же, в качестве приятного бонуса, отладчик который прям из клиентского кода умеет ходить на сервер. А еще неплохой активный форум, где даже пользователям не купившем подписку отвечают(в 2011 так было) очень оперативно. p.s. Геморроя и полную гамму всех ощущений с ExtGWT вы тоже получите, но вы их в вебе везде получите, где нужно что-то больше, чем корпоративной странички/блога/интернет магазина. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2014, 12:54 |
|
||
|
Как могла быть написана клиентская часть в приведенном примере?
|
|||
|---|---|---|---|
|
#18+
Petro123prgmdelphi, Пример "как в 1С" сделать очень тяжело в веб (по сравнению с Программа.exe) Я посмотрел твой профиль - Petro123 , вы оказывается и в теме Delphi и Java. Хотел бы у вас совета спросить. При переходе с Delphi на Java именно в стезю серверной стороны приложения, что порекомендовали посмотреть (т.к. понял после Delphi, с UI на Java мутит, в том числе и Web-клиента). Планирую Ткача всего посмотреть http://habrahabr.ru/company/golovachcourses/blog/215275/ или это пустая трата времени? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2014, 12:56 |
|
||
|
Как могла быть написана клиентская часть в приведенном примере?
|
|||
|---|---|---|---|
|
#18+
сначала вот это расшифруй prgmdelphiименно в стезю серверной стороны приложения т.к. там можно вообще ГУИ не знать и не заморачиваться. Ты же в сабже сразу на rich 1С полез. Кому-то нравятся ГУИ, кому-то серверные потоки и очереди сообщений))) ЗЫ Шарп\Net смотрел? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2014, 13:13 |
|
||
|
Как могла быть написана клиентская часть в приведенном примере?
|
|||
|---|---|---|---|
|
#18+
Petro123сначала вот это расшифруй Я имел ввиду в большей степени заниматься ORM, бизнес-логикой. Petro123т.к. там можно вообще ГУИ не знать и не заморачиваться. Нее я так не могу, хотя бы представление должен понимать так сказать для внутреннего спокойствия. Petro123Ты же в сабже сразу на rich 1С полез. А почему Вы решили, что это rich клиент, а не pure? Petro123Шарп\Net смотрел? Смотрел. И да сих пор стоит выбор между Java и C#. Java с т.зр. финансового благополучия более перспективнее и востребован. Да, в C# гораздо меньше технологий и поэтому проще в нем разобраться. Но вот почему-то в объявлениях по C# требует не только знание .Net и опыт программирования на C#, но и вещи строго говоря заточенные под Web, а именно: JS, jQuery, CSS, AJAX, ASP.NET. Т.е. как я понимаю desktop-приложения в отличие от Delphi на C# особо не востребован - хотя не понятно почему. Т.е. Java можно условно поделить на 2 части клиента (всякие JS, jQuery, CSS, AJAX, HTML и прочее) и сервера (JEE, Hibernate, Spring, MS SQL/Oracle). Вот это (JS, jQuery, CSS, AJAX, HTML и т.п.) меня всегда напрягало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2014, 14:03 |
|
||
|
Как могла быть написана клиентская часть в приведенном примере?
|
|||
|---|---|---|---|
|
#18+
prgmdelphiА почему Вы решили, что это rich клиент, а не pure? Rich с точки зрения Delphi'ста - много контролов на странице)) ...визуально...с пофиг какой архитектурой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2014, 14:15 |
|
||
|
Как могла быть написана клиентская часть в приведенном примере?
|
|||
|---|---|---|---|
|
#18+
prgmdelphi, - по финансам лучше Java - что изучать полно тем IMHO не углубляться на первых порах глубоко, а читать обзорно. - неделю читать темы в данном форуме - реальный пример Hello World на своём сайте в сервлете с простым выводом в HTML на клиента ( руками ) - реальная демка за неделю на rich фреймворке на выбор - понять что понравилось и двигать дальше.... )) удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2014, 14:20 |
|
||
|
Как могла быть написана клиентская часть в приведенном примере?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczЭто одна из причин, по которой, Google, например разрабатывает Go, как альтернативу JS. Это я тупанул. Dart - альтернативый язык на замену, а не Go. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2014, 14:23 |
|
||
|
Как могла быть написана клиентская часть в приведенном примере?
|
|||
|---|---|---|---|
|
#18+
prgmdelphiв объявлениях по C# требует не только знание .Net В Java можно спрятаться от JS\HTML, но не желательно. Тут так. Если будешь знать их на 3, а ЯП основной на 5, то и работу найдёшь. IMHO так и в шарпе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2014, 14:24 |
|
||
|
Как могла быть написана клиентская часть в приведенном примере?
|
|||
|---|---|---|---|
|
#18+
Хочу заметить что комбинация Java + ручной продвинутый JavaScript явление довольно редкое. Если проект JEE, то, зачастую это ынтырпрайз и как следтсвие JSF. Там поминимум JS уже готовый. Даже если это не клинические ынтырпрайз, то это Java и ExtGWT, так как прогерам было влом учить JS. А вот в комбинции с современным продвинутым JavaScript именно Java встречается реже. Так как стартапы открыты к альтернативным языкам и платформам и часто выбирают Node.js, Scala, Python и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2014, 14:32 |
|
||
|
Как могла быть написана клиентская часть в приведенном примере?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczХочу заметить что комбинация Java + ручной продвинутый JavaScript явление довольно редкое. Если проект JEE, то, зачастую это ынтырпрайз и как следтсвие JSF. Там поминимум JS уже готовый. Даже если это не клинические ынтырпрайз, то это Java и ExtGWT, так как прогерам было влом учить JS. А вот в комбинции с современным продвинутым JavaScript именно Java встречается реже. Так как стартапы открыты к альтернативным языкам и платформам и часто выбирают Node.js, Scala, Python и т.п. +1 интересное наблюдение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2014, 14:48 |
|
||
|
Как могла быть написана клиентская часть в приведенном примере?
|
|||
|---|---|---|---|
|
#18+
Правильно ли я понимаю, если планы строить именно на энтерпрайз на это по большому счету можно забить JS, jQuery, CSS, AJAX, HTML, куда важнее будет умение проектировать ядро-приложение и знаний технологий для Java (в данном случае Hibernate, Spring) - так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2014, 15:18 |
|
||
|
Как могла быть написана клиентская часть в приведенном примере?
|
|||
|---|---|---|---|
|
#18+
prgmdelphiпланы строить именно на энтерпрайз Ты Delphi'ист? Верно ли, что в нём не нужно знать про Win32API и Canvas? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2014, 15:24 |
|
||
|
Как могла быть написана клиентская часть в приведенном примере?
|
|||
|---|---|---|---|
|
#18+
Petro123prgmdelphiпланы строить именно на энтерпрайз Ты Delphi'ист? Угу Petro123Верно ли, что в нём не нужно знать про Win32API и Canvas? Про canvas верно, если проектируем ORM и бизнес-логику, про Win32API когда как. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2014, 15:31 |
|
||
|
Как могла быть написана клиентская часть в приведенном примере?
|
|||
|---|---|---|---|
|
#18+
prgmdelphiПро canvas верно, если проектируем ORM и бизнес-логику, про Win32API когда как. и тут так-же. 1. Сначала найди такого работодателя) 2. По началу забей на JS. Потом по ситуации. Например, AJAX - это 5 строк на JS для Delphi'ста. И вся технология. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2014, 15:37 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38670583&tid=2127035]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
58ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 237ms |
| total: | 405ms |

| 0 / 0 |
