metaclass: (Default)
[personal profile] metaclass
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) что мавен выбрал самостоятельно.

Date: 2013-04-19 07:28 pm (UTC)
From: [identity profile] xeno-by.livejournal.com
Да, помню такой баг с package objects. По-моему, его в 2.10.2 починили. И вроде бы он лечится выносом классов из package objects в просто package, т.е. если кому интересно, это должно сработать как воркараунд.

Date: 2013-04-19 07:35 pm (UTC)
From: [identity profile] metaclass.livejournal.com
А, да, там класс внутри package object объявлен.

Date: 2013-04-19 07:38 pm (UTC)
From: [identity profile] metaclass.livejournal.com
https://issues.scala-lang.org/browse/SI-5954
https://groups.google.com/forum/?fromgroups=#!topic/scala-internals/jm8Axpb2qlE

Хм, вроде должно было ворнинг выдавать на классы внутри package objects, но не выдает.

Date: 2013-04-19 08:12 pm (UTC)
From: [identity profile] plumqqz.livejournal.com
Коты мудрее. Ну, когда им делать нечего.

Date: 2013-04-20 06:53 am (UTC)
From: [identity profile] nivanych.livejournal.com
> ждевелоп заставил забиватора использовать мавен

Начинаю бояться этой тусовки.
Не ровен час, и меня что-нибудь заставят...

Date: 2013-04-20 07:22 am (UTC)
From: [identity profile] bydl0coder.livejournal.com
Да все нормально с веб фреймворками, которые MVC. C джанго и рельсами никаких проблем нет.

Date: 2013-04-20 02:20 pm (UTC)
From: [identity profile] jakobz.livejournal.com
Предлагаю сравнить стоимость разработки опердени на вебе (любой фреймворк), каком-нибудь дельфи (типа winforms с купленным набором компонентам), и на 1С-ке.

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

Date: 2013-04-20 09:17 am (UTC)
From: [identity profile] jakobz.livejournal.com
Я вчера закончил рабочий день на том, что пару часов пытался понять почему у меня $("#myInput").datepicker() не работает. Это при том, что я последние лет 7 занимаюсь всякими опердями на вебе. Так и не разобрался и пошел пить водку и есть мясо.

Короче веб-фреймворки не могут быть гуманными, нет. Там ад и содомия произрастают прямо начиная от самых основ.

Date: 2013-04-20 11:11 am (UTC)
From: (Anonymous)
О да, вините серверные фреймворки в кривизне своих рук на клиенте.

Date: 2013-04-20 02:18 pm (UTC)
From: [identity profile] jakobz.livejournal.com
О, да тут профессионал в чатике! Представится только забыл, чтобы не зачморили и по жопе не надавали.

Date: 2013-04-22 06:31 am (UTC)
From: (Anonymous)
У меня нет аккаунта в жж, спасибо метаклассу, который разрешает анонимные аккаунты. Может профессионал с 7 годами опыта в вебе расскажет, какое отношение серверные веб-фреймворки имеют к его проблемам с плагином для жиквери?

Date: 2013-04-22 01:44 pm (UTC)
From: [identity profile] zmila.livejournal.com
а причём тут серверные веб-фреймворки?
"почему у меня $("#myInput").datepicker() не работает"

Date: 2013-04-20 10:01 am (UTC)
From: [identity profile] veter-r-r.livejournal.com
С фреймворками в целом-то все хорошо.
Но когда начинается "а мы возьмем для проекта вот эти три фреймворка, да еще от каждого по несколько разных версий одновременно", то и привет.
При этом в реальности из каждого фреймворка используется полторы библиотеки.

В этом отношении подход ruby куда гуманней. Нужна функция, берешь gem и не тянешь весь фреймворк целиком. Там, конечно, тоже могут подтянуться зависимости, но обычно куда менее фатальные.

Date: 2013-04-20 10:07 am (UTC)
From: [identity profile] metaclass.livejournal.com
Есть мнение, что в языках типа руби нету надобности ради каких-то простых функций мудрить огромные библиотеки, поэтому зависимостей меньше.

Date: 2013-04-20 02:31 pm (UTC)
From: [identity profile] jakobz.livejournal.com
Ничего абсолютно хорошего с веб-фреймворками нет. Никакого даже близко уровня абстракции вещей типа "контрол" или "компонент" они предоставлять не умеют. Большинство - тупо обертки над http. Даже простейшие удобняшки поверх этого ломаются при первой же попытке сделать что-то сложнее редактора трех полей. Компоненты, даже банальный datepicker, ни в один фреймворк не входят, а собираются по помойкам интернетов где делаются детями-инвалидами. Даже якобы мейнстримный jqueryUI - уже понос дергающийся и моргающий, остальное - вообще жопа.

Date: 2013-04-21 10:49 am (UTC)
From: [identity profile] fantaseour.livejournal.com
Раз уж Вы 7 лет эту почву топчите, то странно, что удивляетесь таким явлениям. Просто в вебе не прижились привычные десктопные контролы, а попытки их сделать ведь были. Но как-то не приросло. Из-за исторических причин наверное

А с календариком причины могут быть совершеннно не мистичиеские:

1) несколько раз инициировали календарик и ожидаете не тех эффектов
2) сколнировали кусок с календариком через jQuery и пробуете его навесить заново
3) у контрола уже были классы, которые просигналили, что календарик уже навешен.

Такого рода баги отлаживаются, хотя они и неприятны и трудно находимы.

Date: 2013-04-21 10:50 am (UTC)
From: [identity profile] fantaseour.livejournal.com
И я думаю, что народ тут в осоновном обсуждает сервер сайд, а не клиент сайд.

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

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

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

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

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

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

Date: 2013-04-21 07:04 pm (UTC)
From: [identity profile] blackyblack.livejournal.com
Ещё раз замечу, что мавен - дебильное изобретение. Как и прочие вытягивалки депенденсей. Разве что гит их гуманно тащит и то там с версиями мутновато.

Date: 2013-04-21 07:34 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Меня вообще разного рода "системы сборки" огорчают. Имхо, лучше бы все это умел компилятор, а зависимости скачивались вгетом :)

Date: 2013-04-25 03:31 am (UTC)
From: [identity profile] jdevelop.livejournal.com
I don't know, я взял себе Lift, и с полпинка собрал себе проект и все что мне нужно для работы, по букварю. Кстати букварь у них охеренный, его просто надо читать.

И да, я его ни к чему не принуждал, он сам ©
Edited Date: 2013-04-25 03:33 am (UTC)

Date: 2013-04-25 03:36 am (UTC)
From: [identity profile] berezovsky.livejournal.com
Можно написать комментарий один раз и потом сто раз его не править?
А то всё же в рассылку валится.
Или хотя бы постскриптум писать, чтоб не перечитывать по сто раз.

Date: 2013-04-25 03:50 am (UTC)
From: [identity profile] jdevelop.livejournal.com
п·я┌п©п╦я┬п╦я┌п╣я│я▄

Date: 2013-04-25 04:02 am (UTC)
From: [identity profile] berezovsky.livejournal.com
Конкретно от тебя я отписаться не могу, иначе бы был уже список мудаков.

Date: 2013-04-25 02:04 pm (UTC)
From: [identity profile] jdevelop.livejournal.com
борисабрамович, в вашем состоянии вредно так волноваться

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 1st, 2025 02:29 pm
Powered by Dreamwidth Studios