tag:blogger.com,1999:blog-18415308.post1898705518539627906..comments2024-02-14T20:14:01.134-03:00Comments on Blog do @Turicas: Porque eu adoro o sistema de views do web2pyTuricas' blog - criativo, né?http://www.blogger.com/profile/16031602773277862419noreply@blogger.comBlogger8125tag:blogger.com,1999:blog-18415308.post-73831112105627902372017-11-03T15:03:52.953-02:002017-11-03T15:03:52.953-02:00Alvaro como vai. Esse post é meio antigo, mas acre...Alvaro como vai. Esse post é meio antigo, mas acredito que quase nada mudou desta versão do web2py para 2017.<br /><br />Minha dúvida:<br />Tenho um layout.html que será extendido por uma view index.html.<br />Porém quando faço um include de uma view que extende outro como base, ele não exibe a view incluida.<br /><br />Veja o esquema.<br />views<br /> layout.html<br /> default/<br /> index.html<br /> subcomponente.html<br /> componentes<br /> base_componente.html<br />Index.html extende de layout.html e inclui subcomponente.html que estende de componentes/base_componente.html<br /><br />Ele não exibe a view incluída.4https://www.blogger.com/profile/05602759195389463598noreply@blogger.comtag:blogger.com,1999:blog-18415308.post-68231083024747032592010-06-04T11:01:50.804-03:002010-06-04T11:01:50.804-03:00Arkanjuca,
o problema é que não existe uma forma d...Arkanjuca,<br />o problema é que não existe uma forma de saber onde você vai colocar o "pass". Por exemplo:<br /><br />for a in b:<br />if a > 10:<br />a = 20<br />a = 30<br />c = 50<br /><br />Para esse mesmo código acima, poderíamos ter os dois "pass" (do if e do for) colocados em vários lugares - e a colocação em lugares diferentes altera totalmente a lógica.<br />Se o web2py entendesse endentação dentro da view, você não precisaria usar o pass, porém usar endentação dentro da view seria algo bastante ruim de se manter/ler, já que dependendo de qual linguagem você esteja usando na view (HTML, CSS etc.), os espaços podem fazer a diferença.Turicas' blog - criativo, né?https://www.blogger.com/profile/16031602773277862419noreply@blogger.comtag:blogger.com,1999:blog-18415308.post-48378801005736174112010-06-04T09:28:54.382-03:002010-06-04T09:28:54.382-03:00Bem legal o seu post, com alguns exemplos eu já en...Bem legal o seu post, com alguns exemplos eu já entendi todo o propósito do web2py e como ele ataca os problemas comuns a todos.<br /><br />Conheço pessoas que gostam de poder na view e gente que não gosta, bom, oque eu não gosto é de gente que usa view poderosa de forma porca, e não da view em si ser poderosa ;)<br /><br />Uma pergunta/sugestão, se o pass é necessário dessa forma, porque não incluir ele automaticamente na compilação da view?Mauricio Souza Limahttps://www.blogger.com/profile/14557078282113349837noreply@blogger.comtag:blogger.com,1999:blog-18415308.post-13972531136333166482010-06-03T13:33:44.069-03:002010-06-03T13:33:44.069-03:00Vamos às minhas opiniões. :-)
Danilo, sobre os pon...Vamos às minhas opiniões. :-)<br />Danilo, sobre os pontos que você destacou:<br /><br />> 1. Não aprender uma nova linguagem é legal, mas a idéia dos frameworks é que um designer não sabe programar, mas se esforçaria um pouquinho pra fazer o código do template, então ele aprende uma linguagem de template simples e descomplicada.<br /><br />Concordo. Nesses casos você pode combinar com seu designer de resolver tudo no controller e passar apenas as variáveis para ele imprimir usando "{{=nome_da_variavel}}" ou, no máximo, ter que usar if/elif/else.<br /><br /><br />> 2. Eu acho interessante que seja mais rápida a execução, mas você já testou lado a lado? Há linguagens de templates com velocidade absurda (comparações http://www.makotemplates.org/).<br /><br />Conheço a mako. Já li comparações sim (nunca fiz) e o web2py saiu melhor. De qualquer forma, o web2py não *interpreta* o código da view: ele gera um código em Python puro que representa aquela view, compila para bytecode e então execute esse código - isso, sem sombra de dúvidas, é mais rápido do que interpretar a view sempre e para ambientes de produção acho necessário.<br /><br /><br />> 3. A limitação vem da idéia de utilizar designers pro template, e realmente um desafio balancear o poder dado a camada de apresentação, pois com muito poder facilmente coisas que deveriam ser feitas na camada de controle é feita na apresentação.<br /><br />Sobre os designers, já falei acima. O que minha experiência diz é que nem sempre o designer cuida do HTML/CSS etc., então se isso ficar a cargo do programador, é melhor que ele tenha mais poder na view (se o designer for realmente trabalhar na view, é só usar o que comentei acima). Sobre fazer na view coisas que deveriam estar no controller, aí depende do desenvolvedor: somos adultos, certo? É o caso de eu dar a alguém uma faca (que é uma ferramenta); essa pessoa pode utilizar a ferramenta de maneira adequada (auxiliando no corte de objetos etc.) ou não (se cortando). Enfim, não acho que isso seja um ponto negativo, já que o desenvolvedor *precisa* conhecer MVC.<br /><br />> 4. A criação de qualquer formato é garantida pelo Django e diversos outros frameworks, você não é obrigado a utilizar views em HTML.<br /><br />Mesmo JPEG, PDF etc. (na view)? Sem fazer nenhum processamento com relação a criar o JPEG, PDF etc. no controller?<br /><br /><br />> 5. Não sei se isso é bom o ruim, preciso testar pra ver a vantagem, hehe, essa realmente não tenho o que falar contra.<br /><br />É bom. :-) Você pode retornar os posts de um blog e exibí-los na index.html de seu site ou no feed.rss - mesmo controller, duas views.<br /><br />> Outro detalhe: pode parecer estranho o uso da palavra pass, não só pode, como é estranhissimo. Outro dia o Luciano Ramalho comentou na lista: "Se você quer mesmo embutir código server-side no HTML eu recomendo usar PHP. Sem sacanagem."<br /><br />Ok, o uso do pass é realmente estranho, porém, para obter as vantagens acima, acho necessário - já que seria *muito ruim* ter que se preocupar com endentação dentro da view.<br />Sobre o que Luciano falou, não concordo, porque o web2py não tem só a camada de view: tem o model, controller e diversas outras ferramentas que auxiliam o desenvolvedor. Nesse caso, caímos novamente na briga "view poderosa versus view sem poder" - e aí entram minhas duas opiniões acima (designer e faca).<br /><br /><br />> Meus dois centavos, espero sinceramente que eles não te ofendam por contrariarem seus argumentos.<br /><br />Ofender? Claro que não! Estamos aqui para expressar nossas opiniões. ;-)<br /><br />Abraços.Turicas' blog - criativo, né?https://www.blogger.com/profile/16031602773277862419noreply@blogger.comtag:blogger.com,1999:blog-18415308.post-61182137049120855302010-06-03T11:29:50.810-03:002010-06-03T11:29:50.810-03:00Álvaro,
Parabéns pelo artigo !. Acredito que as...Álvaro,<br /><br /> Parabéns pelo artigo !. Acredito que as diferenças e a diversidade de escolhas na questão de frameworks web em python só servem para mostrar todo o poder e o pontencial dessa linguagem que tanto amamos. Bom, como sou suspeito para falar do Web2Py, pois uso ele para fazer os sistemas e sites dos meus clientes, fica dificil elogiar mais ainda...É isso ai !, vamos divulgar essa sensacional alternativa chamada Web2Py.<br /><br /> Ob: Agora no segundo semestre tu vais ter mais um parceiro nessa divulgação, mas depois eu te passo maiores detalhes.<br /><br />Um grande abraço,<br />Leandro.Leandro Severinohttp://www.leandro.inf.brnoreply@blogger.comtag:blogger.com,1999:blog-18415308.post-72106931312729039232010-06-03T00:03:47.384-03:002010-06-03T00:03:47.384-03:00Adicionando ao que o Cabello comentou, também con...Adicionando ao que o Cabello comentou, também concordo com os pontos levantados por ele, mas entendo que tais características sejam decisões de design para o framework.<br /><br />Usar o pass é bem estranho mesmo, acho que talvez você e o Massimo devem até concordar nisso, mas é um efeito colateral da decisão de adotar o Python (como controlar a indentação?).<br /><br />Não acho a questão do desempenho tão relevante assim. Eu não me adequei muito ao estilo web2py de ser, mas o framework é, sem sombra de dúvidas, uma ferramenta sensacional =)Francisco Souzahttp://www.franciscosouza.com.brnoreply@blogger.comtag:blogger.com,1999:blog-18415308.post-59144409879554553882010-06-02T21:35:12.022-03:002010-06-02T21:35:12.022-03:00Olá Álvaro, acredito que tenha alguns comentários ...Olá Álvaro, acredito que tenha alguns comentários interessantes a levantar, comentando seus bullets de cima pra baixo:<br />1. Não aprender uma nova linguagem é legal, mas a idéia dos frameworks é que um designer não sabe programar, mas se esforçaria um pouquinho pra fazer o código do template, então ele aprende uma linguagem de template simples e descomplicada.<br />2. Eu acho interessante que seja mais rápida a execução, mas você já testou lado a lado? Há linguagens de templates com velocidade absurda (comparações http://www.makotemplates.org/).<br />3. A limitação vem da idéia de utilizar designers pro template, e realmente um desafio balancear o poder dado a camada de apresentação, pois com muito poder facilmente coisas que deveriam ser feitas na camada de controle é feita na apresentação.<br />4. A criação de qualquer formato é garantida pelo Django e diversos outros frameworks, você não é obrigado a utilizar views em HTML.<br />5. Não sei se isso é bom o ruim, preciso testar pra ver a vantagem, hehe, essa realmente não tenho o que falar contra.<br /><br />Outro detalhe: pode parecer estranho o uso da palavra pass, não só pode, como é estranhissimo. Outro dia o Luciano Ramalho comentou na lista: "Se você quer mesmo embutir código server-side no HTML eu recomendo<br />usar PHP. Sem sacanagem."<br /><br />Meus dois centavos, espero sinceramente que eles não te ofendam por contrariarem seus argumentos.<br /><br />Abraço,Danilo Cabellohttps://www.blogger.com/profile/14517925969312173693noreply@blogger.comtag:blogger.com,1999:blog-18415308.post-90489113206648271362010-06-02T14:51:24.447-03:002010-06-02T14:51:24.447-03:00Muito bom. Gosto muito da simplicidade do web2py e...Muito bom. Gosto muito da simplicidade do web2py e o texto está muito leve e didático.<br /><br />Luiz GuilhermeLGhttps://www.blogger.com/profile/04596414031563908176noreply@blogger.com