|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
vill_agerЛучший вариант - совместить создания 99% форм (коровников :) ) на лету из описания с возможностью вызова 1% форм сделанных в дизайнере или вручную. Для цивильности коровников - в описаниях форм хранить элементы разметки формы. Для придания функциональности - куски скриптов на разные события я такой велосипед сделал на python+qt (пока черновик) есть еще примеры таких рабочих систем? Мы делаем такую систему - где все поведение формы описывается декларативно. Стремимся, чтобы сгенерированная форма полностью удовлетворила пользователя. Наших клиентов в целом удовлетворяет. Форм сделанных в ручную, думаю, намного меньше 1%. Функциональность получаем без использования событий, путем написания формул (можете называть это языком – но это просто формулы). Пример: ItemPrice (берется из справочника) Qty (редактируемое) Price (редактируемое) = ItemPrice Total = Price *Qty Формулы выполняются только в случае, если хотя бы одна составляющая поменялась. Т.е если мы на форме выбрали другую номенклатуру, то пересчитается Price и Total, а если поредактировали Price, то поменяется Total. Про задание поведения можно посмотреть тут Пример Когда ItemPrice >1000 поле Price сделать ReadOnly. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2010, 18:31 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
-lesha- Функциональность получаем без использования событий, путем написания формул (можете называть это языком – но это просто формулы). а я решил ни в чем себе не отказывать - и события, и язык - полный доступ к форме для тюнинга :) зато руки развязаны - любые проверки и реакции на действия пользователя зы: формулой трудновато описать такое - если пользователь ввел неправильные данные - заблокировать событие сохранения (и сделать цвет формы ярко-красным :) ) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2010, 19:40 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
vill_agerУ себя примерно так делаю Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
1С ? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2010, 22:20 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Petro1231С ? нет тынц ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2010, 23:11 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 00:57 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Petro123vill_agerУ себя примерно так делаю Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
1С ? не могу понять одного - почему надо так извращаться, вместо того, что бы ипспользовать полноценный язык с хорошим отладчиком? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 09:10 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
ddddddddddd1С ? не могу понять одного - почему надо так извращаться, вместо того, что бы ипспользовать полноценный язык с хорошим отладчиком? потому что не пробовали :) Это и есть велосипедостроение. Или когда нибудь докажут, что "земля круглая" ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 09:21 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Petro123ddddddddddd1С ? не могу понять одного - почему надо так извращаться, вместо того, что бы ипспользовать полноценный язык с хорошим отладчиком? потому что не пробовали :) Это и есть велосипедостроение. Или когда нибудь докажут, что "земля круглая" Я то пробовал, но уже двано завязал с этим. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 09:48 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
dddddddddddне могу понять одного - почему надо так извращаться, вместо того, что бы ипспользовать полноценный язык с хорошим отладчиком? может я не понятно написал - я использую полноценный python а русский текст только здесь - для того, чтобы не писать комменты зы:с 1ц никогда не работал :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 10:06 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
vill_agerdddddddddddне могу понять одного - почему надо так извращаться, вместо того, что бы ипспользовать полноценный язык с хорошим отладчиком? может я не понятно написал - я использую полноценный python а русский текст только здесь - для того, чтобы не писать комменты зы:с 1ц никогда не работал :) Вообще-то здесь обсуждаются генераторы форм в ран0тай ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 10:11 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
vill_agerdddddddddddне могу понять одного - почему надо так извращаться, вместо того, что бы ипспользовать полноценный язык с хорошим отладчиком? может я не понятно написал - я использую полноценный python а русский текст только здесь - для того, чтобы не писать комменты зы:с 1ц никогда не работал :) Вообще-то здесь обсуждаются генераторы форм в ран0тай ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 10:12 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
dddddddddddВообще-то здесь обсуждаются генераторы форм в ран0тай Прошу прощения просто хотел отметить, что форма в рантайм может генерироваться из описания (метаданных), а может путем выполнения программного кода. Первый вариант видно в 1ц, Искре, еще тут TNP пробегала. А вот варианта с коротким скриптом не видел. Может и не нужен такой? Мне лично иногда легче несколько строк в скрипте написать, чем создавать новое описание. То же самое и с отчетами. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 10:42 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
-lesha-Функциональность получаем без использования событий, путем написания формул (можете называть это языком – но это просто формулы). Функций не хватает и логических выражений ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 12:05 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
vill_ager, питон люблю именно за лаконичность ЯП и краткость. Его часто сравнивают с Delphi. Просто в ЯП высокого уровня такие конструкции нет смысла "зашивать". Поэтому вы определитесь, вероятно вам фреймворк нужен (типа 1С) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 12:24 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Если кому интересно - могу поделиться. Сейчас у нас в компании несколько систем написаны на основе одного и того же самописного движка. Написан он на ASP.NET, суть в том, что кодить там не приходится вообще. Тупо накидываешь поля, кучей настроек задаешь их поведение. как таковое, и в зависимости от других полей. Можно указывать дочерние карточки, карточки куда переносятся данные. В общем учтено все. Просто накидал полей, задал сырцовый html для разметки, который потом преобразуется в XHTML отображающий конечный вид с данными. Дополнять такую систему функционалом для пользователей - одно удовольствие. Честно скажу. А вот пользователям туго. Несмотря на очень хорошо настроенное кэширование тормоза просто жуткие. Интерфейс отрисовывается прямо на глазах. Это по началу даже забавно, но начинает быстро утомлять. И если, не дай бог, ты где-то что-то косянул, то в дебаге несколько дней просидишь, прежде чем найдешь, в чем ошибка. Сразу скажу, что это самый красиво спроектированный движок из тех, что я видел. Но даже от него косяков очень много. С точки зрения программиста такие системы очень красивы и интересны. Но пользователь от такой будет страдать. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 12:32 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
nibo -тормоза просто жуткие. Интерфейс отрисовывается прямо на глазах. -если, не дай бог, ты где-то что-то косянул, то в дебаге несколько дней просидишь, прежде чем найдешь, в чем ошибка. nibo это самый красиво спроектированный движок из тех, что я видел. как-то не вяжется одно с другим. или хотели сказать "самый не красиво спроектированный"? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 12:41 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafmnibo -тормоза просто жуткие. Интерфейс отрисовывается прямо на глазах. -если, не дай бог, ты где-то что-то косянул, то в дебаге несколько дней просидишь, прежде чем найдешь, в чем ошибка. nibo это самый красиво спроектированный движок из тех, что я видел. как-то не вяжется одно с другим. или хотели сказать "самый не красиво спроектированный"? Нет. Я хотел сказать то, что сказал. Просто у всех решений есть свои минусы. У динамического создания форм минус это тормоза, вызванные как раз построением формы. Код там написан очень красиво, я в разработке движка не участвовал и сейчас разбирая его взглядом со стороны даже не могу указать мест, где код можно было бы значительно оптимизировать. Но просто на таких масштабах система не вывозит. То же самое как касательно 1С. Попробуйте на нее хотя бы 500 человек одновременно посадить на один сервер. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 12:48 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
nibo, к динамическим формам это не относится. Вопрос о том, красиво ли спроектирована система, которая "жутко тормозит", хорошо, оставим. Считате что это из-за динамического создания форм, а сама система "красиво спроектирована" и "код написан очень красиво", пусть так и будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 12:53 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafmnibo, к динамическим формам это не относится. Вопрос о том, красиво ли спроектирована система, которая "жутко тормозит", хорошо, оставим. Считате что это из-за динамического создания форм, а сама система "красиво спроектирована" и "код написан очень красиво", пусть так и будет. Я не считаю, а знаю, что это так. Потому что тесты по производительности проводил. Обеспечение динамичного отображения формы, где щелкаешь одну галочку, и из-за этого должны стать видимы десятки полей, а десятки полей должны стать невидимы дорогого стоит, и все это без единой строчки кода когда пользователей на одном сервере несколько сотен. Если бы пришлось бы это все кодировать, то писать пришлось бы в десятки раз дольше, и сопровождать потом было бы в десятки раз труднее, если вообще возможно. Так что у всего есть две стороны. Косяк тут один - все системы вертятся на одном сервере. А их много. И все работают по одному принципу. Тут решение кроется в разнесении систем по нескольким серверам. Что в России делается нечасто. И в частности у нас. Если у ТС ситуация с серверами тоже не айс, то лучше от динамического построения держаться вдалеке. Или возлагать его на клиентскую часть, что тоже очень спорно. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 13:03 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
niboЯ не считаю, а знаю, что это так. Потому что тесты по производительности проводил. Обеспечение динамичного отображения формы, где щелкаешь одну галочку, и из-за этого должны стать видимы десятки полей, а десятки полей должны стать невидимы дорогого стоит, и все это без единой строчки кода когда пользователей на одном сервере несколько сотен. Если бы пришлось бы это все кодировать, то писать пришлось бы в десятки раз дольше, и сопровождать потом было бы в десятки раз труднее, если вообще возможно. Так что у всего есть две стороны. только не называйте это "красиво спроектировано". Не понятно о чем Вы вообще. Описываете неудачную реализацию runtime-построения форм. Только при чем здесь динамические формы как таковые? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 13:11 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
iscrafmniboЯ не считаю, а знаю, что это так. Потому что тесты по производительности проводил. Обеспечение динамичного отображения формы, где щелкаешь одну галочку, и из-за этого должны стать видимы десятки полей, а десятки полей должны стать невидимы дорогого стоит, и все это без единой строчки кода когда пользователей на одном сервере несколько сотен. Если бы пришлось бы это все кодировать, то писать пришлось бы в десятки раз дольше, и сопровождать потом было бы в десятки раз труднее, если вообще возможно. Так что у всего есть две стороны. только не называйте это "красиво спроектировано". Не понятно о чем Вы вообще. Описываете неудачную реализацию runtime-построения форм. Только при чем здесь динамические формы как таковые? Там не рантайм, а именно динамическое построение. Я сказать пытаюсь, что каждая система требует выделения соответствующего количества машинных ресурсов. Вы же не будет сервер 1С накатывать на пентиум 300 Mhz с 64 mb оперативки. Тут нужный ресурс не выделили, и в России это частое дело. Вот что я сказать пытаюсь. Ладно, мне похоже вас не убедить ни в чем, поэтому я свое участие лучше прекращу, чем пытаться что-то разьяснять. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 13:27 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
niboТам не рантайм, а именно динамическое построение. Есть описание модели представления, в момент исполнения (рантайм) по нему формируется (динамически) представление (допустим форма). ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 14:04 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
наверное модель представления размещена в БД на сервере и собирается запросами ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 14:11 |
|
Генераторы форм vs Runtime создание формы
|
|||
---|---|---|---|
#18+
Petro123vill_ager, питон люблю именно за лаконичность ЯП и краткость. Его часто сравнивают с Delphi. Просто в ЯП высокого уровня такие конструкции нет смысла "зашивать". Поэтому вы определитесь, вероятно вам фреймворк нужен (типа 1С) таки да. фреймворк на питоне. тем и развлекаюсь :) 1ц не предлагать :). Хотя 8.2 как раз сделана на идеях из этого топика. Только вот интерфейс... по поводу тормозов... - все тормозит сколько лет SWING существует? и все тормозит :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2010, 15:01 |
|
|
start [/forum/topic.php?fid=33&msg=36476643&tid=1548247]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 353ms |
total: | 496ms |
0 / 0 |