Existe algo parecido com Custom Tags em Ruby?

Nao, e provavelmente nunca vai ter, pq nao ha necessidade pra isso. Webdesigners hoje em dia trabalham com CSS, nao com (X)HTML: este ultimo fica a cargo dos desenvolvedores.

De novo, scriptlet so eh horrivel quando tem regra de negocio dentro.

i++

E eu não odeio scriptlet, não. Claro, é horrivel fazer lógicas inteiras em scriptlet, eu acho apenas uma questão de costume (ou regras pré-definidas).

o problema é que incentivando o uso de scriptlets nas páginas vai gerar a mesma porcariada que gerou no java …
quando um bando de retardados resolveu “programar em JSP”

http://www.martinfowler.com/bliki/SoftwareDevelopmentAttitude.html

[quote=urubatan]o problema é que incentivando o uso de scriptlets nas páginas vai gerar a mesma porcariada que gerou no java …
quando um bando de retardados resolveu “programar em JSP”[/quote]

Se o cara é incapacitado a programar decentemente, em qualquer linguagem que ele programar vai gerar porcaria.

É o cúmulo do fanboyismo advogar o uso de “scriptlets”. Hahahahaha

Parece que a maioria dos que se mostram “pró Ruby hype” o fazem mais por medo de “perder o trem da história” do que por vantagens propriamente ditas.

O restante é formado por viciados em Spring que encontraram uma forma de fazer “wiring” sem precisar editar XML e acham que encontraram o “Santo Graal” da programação.

Já dissera anteriormente e mantenho que isso está muito parecido com hype de Linux: há mais de 10 anos que ele acabará com o Windows “a qualquer momento”, só que esse dia nunca chega.

Ruby, Linux, OOO… esse GUJ tá parecendo local de reunião da seita desse pessoal.

Não vejo problema nisso, quanto mais comparações e discussões com outras tecnologias melhor. Aliás quem sabe o GUJ não vira o GUT ( Grupo de Usuários de Tecnologia ) ? :smiley:

Honestamente não sei por que é melhor o cara programar a página JSP dele utilizando a taglib SQL (JSTL) ou utilizando Scriptlet executando a regra de negócio nela. Para mim, as duas formas são ruins. O problema não está no Scriptlet, e sim no uso comun dele.

O que incomoda no Scriptlet do JSP não é o código Java. É a falta de integração entre o controller/servlet/JSTL com o Scriplet. Um resquest.setAttribute não gerá um váriavel que possa ser utilizada no JSP.

EL e Scriplets em JSP são dois contextos completamentes diferentes e o código tentando integrar os dois são horriveis e complicado.

A falta de uma maneira mais fácil de fazer Helpers no JSP é a causa de um monte de trechos de códigos JSP (utilizando c:if e c:chooses) que as pessoas ficam copiando-colando entre as páginas.

Agora, lembre-se que “Scriptlets” em Ruby não são iguais Scriptlets JSP.
São bem diferentes, para começar uma variável criada no controller é um variável no RHTML.

[quote=Thiagosc]É o cúmulo do fanboyismo advogar o uso de “scriptlets”. Hahahahaha

Parece que a maioria dos que se mostram “pró Ruby hype” o fazem mais por medo de “perder o trem da história” do que por vantagens propriamente ditas.

O restante é formado por viciados em Spring que encontraram uma forma de fazer “wiring” sem precisar editar XML e acham que encontraram o “Santo Graal” da programação.

Já dissera anteriormente e mantenho que isso está muito parecido com hype de Linux: há mais de 10 anos que ele acabará com o Windows “a qualquer momento”, só que esse dia nunca chega.[/quote]

SpringMVC delimita o controller, camada view você usa o que quiser, Velocity, JSTL etc…

Rails, falando mais do framework, realmente agrega uma excelente produtividade.

A produvidade com o Spring cai bastante, senti isso na pele nos meus últimos três projetos.

Talvez para projetos onde o mais importante seja o time-to-marketing,sem onerar a qualidade do trabalho final, Rails seja uma alternativa viável.

Estou estudando o mesmo, pois costumo mensurar meu esforço de desenvolvimento balisado em UCP - User Case Points e tenho uma média de produvitivade para resolução de um caso de uso.

Se eu conseguir a façanha de produzir o mesmo Caso de Uso 10x mais rápido, começa a ficar interessante.

Não é o trem da tecnologia que não quero perder e sim meu tempo, afinal a vida é mais que programar :slight_smile: :twisted:

Qual seu problema? Ninguem esta defendendo usar “scriptlets”. Ninguem tambem esta dizendo que Java deve ser substituido pelo Ruby/Rails. Sera que eh dificil analisar uma ideia sem se importar se ela foi implementada em A, B ou C, sem sentimentalismos em defender exclusivamente A? (hmm, qual a definicao de fanboy?)

Com relacao aos outros pontos…

Eu realmente nao entendo (sem ironias) como pode-se achar mais produtivo usar (e aprender, entender, testar, debugar) Java+JSP+tags+EL do que Java.

O fato eh que martelaram tanto as tags no mundo “Java para Web” que hoje ninguem se pergunta se isso realmente eh necessario e se realmente cumpre o papel a que se propoe. E ainda tem gente que gosta de balbuciar baboseiras como “lavagem cerebral” em relacao a outras tecnologias.

Sobre “helpers nao serem tags”, tambem nao entendi o ponto. Qual o problema? Apenas porque nao eh necessario escrever </tag>? Porque nao precisa fazer nada alem de escrever o codigo?

Sobre a bagagem de taglibs existentes. Concordo. Eh uma vantagem termos varias taglibs e alguem pode resistir a usar alguma outra abordagem (como Velocity p.ex.) se essas taglibs nao puderem ser usadas nessa outra abordagem. Mas isso nao eh inerente a tecnologia.

Marcio Kuchma

[quote=cv]
De novo, scriptlet so eh horrivel quando tem regra de negocio dentro.[/quote]

Esse é o ponto chave: não misturar camadas. Acho irrelevante se vc vai fazer &lt% ou &lttag&gt ou seja lá que token for definido para se comunicar com a chamada a outra camada. O importante de manter é organizar.

Só uma coisa, basta especificar o nome da variável no EL, sem escopo, que ele encontra. Ou seja, que diferença há no que você disse? Com EL é ridiculamente fácil pegar objetos de qualquer escopo.

Acho que EL é muito bom e simples de se usar e as taglibs padrão são abstrações para o que já é feito em código, ou seja, qual a dificuldade de uma tag “if”?

Copias de trechos de código não é causado pelo JSP, mas sim pelo desenvolvedor que optou por fazê-lo. Nada o impede de criar diferentes JSPs com partes comuns e incluí-los na página principal.

O que eu disse foi em referência ao comportamento “dois pesoas, duas medidas” de alguns quando seus brinquedos favoritos estão sob fogo, pelo menos é o que aparenta.

A questão não é defender o Java ou o que seja, a questão é: será que não existe um pouco de exagero nessa história? Advogar o uso de scriptlets não é um pouco “abusar da boa vontade alheia”?

[quote=kuchma]Eu realmente nao entendo (sem ironias) como pode-se achar mais produtivo usar (e aprender, entender, testar, debugar) Java+JSP+tags+EL do que Java.

O fato eh que martelaram tanto as tags no mundo “Java para Web” que hoje ninguem se pergunta se isso realmente eh necessario e se realmente cumpre o papel a que se propoe. E ainda tem gente que gosta de balbuciar baboseiras como “lavagem cerebral” em relacao a outras tecnologias.[/quote]

Eu acho que usar scriptlets é regredir ao nível de PHP.

Uma das vantagens do Java, na minha opinião, é justamente facilitar uma boa organização do código, e isso é bom para manutenção. JSTL, EL e taglibs ajudam a uma componentização melhor.

Só uma coisa, basta especificar o nome da variável no EL, sem escopo, que ele encontra. Ou seja, que diferença há no que você disse? Com EL é ridiculamente fácil pegar objetos de qualquer escopo.

Acho que EL é muito bom e simples de se usar e as taglibs padrão são abstrações para o que já é feito em código, ou seja, qual a dificuldade de uma tag “if”?

Copias de trechos de código não é causado pelo JSP, mas sim pelo desenvolvedor que optou por fazê-lo. Nada o impede de criar diferentes JSPs com partes comuns e incluí-los na página principal.
[/quote]

Então os códigos seguintes são válidos em Java:

Controller

String teste = "Ola Mundo"; request.setAttribute("teste", teste);

JSP

Ou então:

JSP

<c:set var="xyz" value="Ola Mundo"/> <%= xyz %>

Eu estava justamente dizendo que Scriptlet ruby não é igual ao Scriptlet JSP. Existe uma integração entre o código ruby controller e o “scriptlet”. O scriptlet do ruby é a mistura do scriptlet JSP (você tem toda uma linguagem para usar) com o EL. Alias, EL é uma coisa natural em todo o Ruby.

E disse ainda que o único problema que vejo no uso do scriptlet JSP não é o código Java, mas sim essa falta de integração.

Sim, eh. Mas quem esta defendendo usar scriptlet?

Marcio Kuchma

Estou tentando aprender Ruby. Já li o livro Programming Ruby. Agora quero fazer um protótipo do Mentawai em Ruby (MentaOnRuby), com a finalidade de aprender mais Ruby para web.

Preciso de servlets, ruby server pages e tag libs (ou algo similar).

Tag lib já vi que tem, sem problemas.

Servlet parece que posso usar o Webrick. (não sei se esse Webrick possui forward)

Ruby server pages parece que é o erb.

Estou no caminho certo ?

Alguém gostaria de ajudar ?

(Só não respondam falando para eu usar RoR!)

Pera lá, quer dizer que scriptlets em Ruby é igual a taglibs + scriptlets + EL? Hahahaha. Tenho certeza que para programadores PHP tudo se resolve com scriptlets também, hahahaha!

Integração? Isso tudo faz parte do Java EE! Não consigo imaginar JSP sem EL e sem taglib, que “falta de integração” há nisso?

É o tal do negócio, nos dias de hoje se Java tem algo é porque é bloated, se não tem é porque é limitado. Fanboys de tudo que é linguagem se juntam para justificar o injustificável, até scriptlet em Ruby é lindo! hahahahaha

Com tags é facilmente representativo para designers e programadores de TELA!!!

Existem pontos que devem ser analisados para se usar ou não as tags, ao meu ver, substitui qualquer chamada a scriptlet.

Componentização para telas, reaproveitamento de código, legibilidade de programadores que estão acostumado a lidar com montagem e configuração de telas.

Com Tags a passagem de parâmetros é mais intuitiva, imagine um componente de tela, que o programador de tela precisa informar alguns atributos, com tags isso seria simples, fácil, claro, intuitivo, reaproveitável,… <tag:format att1=“a” att2=“b” att3=“3” … attn=“z” />

Com scriptlet, seria asqueroso <%= Helper.meleca (“a”,“b”,…“z” %>

Acho que toda linguagem que provê auxílio a web deveria possuir um mecanismo eficiente para construções de taglibs.