Meu framework não será MVC
Não totalmente, não esse falso MVC por aí. Em todos os frameworks pra web há um engano conceitual profundo: O View é o HTML.
Por definição, View é a parte da apresentação da aplicação, é a renderização para o usuário do Model. Trocando em miúdos, é aquela coisa que mostramos pro usuário.
Há 10 anos atrás, talvez colocar o HTML como View talvez fosse a melhor saída, mas hoje o HTML é definido como uma camada de informação, não de apresentação. O HTML tem conteúdo, tem significado, é semântico.
Pensando por esse lado, o HTML está mais próximo do Model do que do View. Um site estático cheio de páginas HTML e um arquivo CSS pra todas também é um framework MVC, o Model é o HTML, o View é o CSS e o Controller é o sistema de arquivos do servidor.
Pode parecer extremamente sujo misturar bancos de dados com HTML, mas não é disso que estamos falando. É possível manter o HTML separado do banco de dados, como uma camada intermediária entre o Model e o View. É um pre-view post-model. Como se não bastasse, o HTML também é Controller, com formulários e links.
Ainda não descobri como resolver o problema do HTML, não posso simplesmente jogar a resposta do banco de dados na página e usar CSS nela. A solução ideal seria usar XSLT como camada intermediária entre o banco de dados e o HTML, mas ele é complicado demais para tornar o framework um facilitador. Imagino que no final, o HTML ficará como uma camada de Model-template.


1/8/2007 às 2:30 pm
Kra, q pizeru
hhuuuhhu, você colocou o HTML em tanto lugar ai que no final das contas ainda não sakei nada huhuuhhu
“Model é o HTML, o View é o CSS e o Controller é o sistema de arquivos do servidor”
O problema disso é que o CSS não é tão personalizável assim (não para mim mero mortal).
Você falou umas mil vezes em Model em HTML, sendo assim, o View, não sendo o CSS, seria o que?
1/8/2007 às 2:59 pm
O CSS é view, apresentação, embora discorde da sua visão do HTML no model. Talvez como um intermediário, mas não como model. Não sou muito entendido nesses bichos aí, mas creio que o HTML esteja mais perto do view do que do model…
9/11/2007 às 9:57 am
Ainda posso comentar aqui?
Uma ideia para o openIdeo,o HTML fica em view(mais do que em model), mas pertence a um pacote view-model da seguinte forma, como um MVC dentro do view:
View
- model (html)
- view (parser+css)
O parser “puxa” o html e usa o css.
Lembrando que o view é TODA a camada de apresentação, O css ser o view implicaria em o css acessar o model para formar a interface. A quebra de padrão se da pq o model, html, chamaria o view, css, isso vai contra o padrão MVC.
O que o usuario acessa é o HTML, por isso tem de ser view.
5/12/2007 às 5:14 pm
Ainda estou na dúvida, esse papo é muito cabeça. Mas, já ouviu falar em bbcode?
substituir *texto* por [ strong ]texto[/strong]
Ou outras marcações do genero como:
# item
# item
por
[li]item[/li]
[li]item[/li]
e assim por diante… Você pode usar algo como
==sessao==
==subsessao==
==subsubsessao==
==fimsubsessao==
==sessao==
para iniciar um div que você quer que seja usado como div e com fechamento automático (ou não) assim você tem o texto como simples texto. O interessante é que você teria apenas texto.
Outra sugestão seria você definir, como disse meu amigo Diogo mais acima de colocar o css embutido. O parser se encarregaria de colocá-lo no head do HTML.