metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2013-04-19 09:56 pm

Ояебундестаг

http://juick.com/zamotivator/2317894
Забиватор мутит веб-приложение на Scala+Lift.
Я сдуру решил глянуть, чо там за проблемы. В целом, надо как-то прекращать практику заглядывания "ради интереса" в чужие проекты, ибо голова не казенная.
Во-первых, гит я знаю плохо и переключится на ремоте branch так и не смог. Ну, тут все очевидно - надо изучать и пользоваться, это мне просто лень. А так - скачал просто архив
Во-вторых, слава богу, что ждевелоп заставил забиватора использовать мавен - он хоть и безумный, но по крайней мере, нормально документирован и я его уже использовал.
В-третьих, эта хреновина на mvn jetty:run выкачала половину интернета, по-моему. Этот странный фетиш разработчиков на тему "повторного использования кода" им боком вылезет еще неоднократно - когда ради 1 функции тащится целый фреймворк, а он за собой еще 100500 зависимостей - шансы налететь на конфликты версий и прочее червие сильно возрастают. А мавен это делает очень легким, оказывая медвежью услугу. Ну, там хотя бы лишние зависимости исключить можно и то хлеб.
В-четвертых, оно ругается на то, что там используются две разных версии Scala-compiler. Т.е. см. выше - про версии, "с приездом вас".
В-пятых, оно собирается ровно один раз. Второй раз надо удалять target, иначе конфликты типов вида

https://gist.github.com/metametaclass/5422381


В-шестых, забиватор частично прав насчет Lift - там просто реальный майндфак и хипстерство, документация в гугло-группе и на SO, разобраться конкретно с его проблемой можно, но радости от этого не наблюдается никакой.
Причина, в целом, классическая - веб-фреймворки (в отличие от библиотек) - очень негуманная штука. Стоит выйти за рамки HelloWorld и монолитных приложений и оказывается, что любая задача выливается в копание по исходникам, SO, форумам и раскиданной по сотне мигрирующих туда-сюда сайтов.

ЗЫ: Забиваторъ утверждает (http://juick.com/2320702) что мавен выбрал самостоятельно.

(Anonymous) 2013-04-22 06:51 am (UTC)(link)
Может это вам пора перестать думать за всех? Ваши формочки составляют процентов 3-5 в лучшем случае, от всех задач, решаемых в вебе, и большинству делфи в вебе не интересен, т.к. от сервера и клиента требуются разные задачи.

Если у вас сложный UI на формах, особенно в интранете, почему бы вам не попробовать ExtJS или kendooUi, например? Или более радикальные Cappuccino/sproutcore? Пробовали ли вы связки gwt+extjs, если вам так нужна концепция единого кода для клиента и сервера?

Я думаю, при желании можно найти десяток библиотек, на головую превосходящих убогий jqueryUI, и при этом попадающие в ваши критерии "контрола" или "компонента" (который плох своей деревянностью в настройках и монструозными размерами при слабой функциональности, что-то я не замечал там проблем с отрисовкой — может это ваша проблема с кодом?).

Судя по вашему комментарию, дальше jqUI вы не смотрели, но разве это проблема серверных фреймворков?

[identity profile] plumqqz.livejournal.com 2013-04-22 07:36 pm (UTC)(link)
extJS мне в свое время живо напомнил Borland C++ 2.0 на одном мегабайте. Есть что-то такое... менуэтное.

(Anonymous) 2013-04-23 10:42 am (UTC)(link)
По его истории развития (extjs) можно писать учебники "О костыльности идеологии ООП в жаваскрипте и борьбе архитектуры софта с жабами языка", но, тем не менее, со своими функциями он справляется, и делать на нем GUI при должной сноровке можно быстро.