frontendbr / forum

:beer: Portando discussões feitas em grupos (Facebook, Google Groups, Slack, Disqus) para o GitHub Discussions
MIT License
4.25k stars 234 forks source link

Será que o HTML e JavaScript estão perdendo espaço para o CSS? #354

Closed ghost closed 7 years ago

ghost commented 7 years ago

Em uma discussão no Facebook fiquei curioso ao perceber que o CSS está ficando cada vez mais poderoso e "engolindo" funções que antes só eram acessíveis através do HTML e do JavaScript.

Para evitar ser taxado de spamer removi o link do texto em que escrevi sobre isso. Realmente essa é uma pergunta legítima e não apenas um clickbait.

fititnt commented 7 years ago

Não sei a opinião dos demais aqui, mas eu recomendaria fechar esse tópico e marcar como SPAM e editar para remover URL do site para não dar nem mesmo endorsamento para mecanismos de busca.

bernardodiasc commented 7 years ago

kkkkkkkkkkkk que viajem

ghost commented 7 years ago

@fititnt cara, não tenho a intenção de aumentar minha audiência ou apenas atrair clicks, por isso nem postei o link para o meu post no post do Maujor. você não precisava ter colado o link da discussão aqui, fiz isso logo no início do meu post caso não tenha percebido.

a impressão que tenho é que o css3 está sim engolindo o javascript e o html5, caso esteja errado gostaria realmente de ser corrigido para entender exatamente onde foi que errei e assim não repetir o erro.

o mesmo tema também foi levantado indiretamente aqui e aqui e parece ser útil ao debate back-end Vs. front-end e css Vs. javascript.

bernardodiasc commented 7 years ago

Esse modo de enxergar as coisas, isso vs aquilo, eh completamente equivocado. Voce entende o que eh um browser, como ele funciona? Pensar que css esta engolindo html e js demonstra muita falta de entendimento da finalidade dessas linguagens. Sugiro estuda las mais profundamente...

ghost commented 7 years ago

@bernardodiasc sim cara, compreendo a divisão de responsabilidades envolvida, mas também entendo que segundo a linha de evolução das linguagens o HTML veio primeiro (1992), o JavaScript em segundo (1995) e o CSS por último (1996).

por acaso você vê o HTML ou o JavaScript incorporando a estilização de documentos? acho que não, no entanto o CSS3 está claramente incorporando recursos dessas duas linguagens ano após ano.

pela visibilidade (HTML e JavaScript são invisíveis após a renderização) e pela sucessão cronológica das linguagens acho natural que o CSS acabe incorporando em si recursos dessas duas outras linguagens, basta olhar "drafts" como esse do Maujor para perceber que de fato é o que está acontecendo.

bernardodiasc commented 7 years ago

Mas o CSS não está incorporando o que o HTML e JS fazem, como voce esta chegando a essa conclusão? Tenta fazer um site somente com CSS, sem nenhuma linha de HTML. Ou uma requisição assíncrona, somente com CSS!

por acaso você vê o HTML ou o JavaScript incorporando a estilização de documentos?

Não! E isso é ótimo, o CSS está evoluindo e incorporando maiores capacidades de estilização, algo que não é e não deve ser feito pelo HTML e JS.

ghost commented 7 years ago

@bernardodiasc Mas o CSS não está incorporando o que o HTML e JS fazem

Na minha visão está, por exemplo:

@bernardodiasc como voce esta chegando a essa conclusão? Tenta fazer um site somente com CSS, sem nenhuma linha de HTML. Ou uma requisição assíncrona, somente com CSS!

Perder espaço ou estar sumindo do front-end não implica necessariamente que o JavaScript e o HTML sejam totalmente substituídos pelo CSS, basta apenas o CSS ser capaz de fazer de forma independente coisas que apenas essas duas linguagens eram capazes de fazer.

Atualmente o carregamento assíncrono de folhas CSS é feito através do JavaScript ou do HTML, por isso é possível que essa funcionalidade seja eventualmente estendida para o CSS algum dia.

@bernardodiasc E isso é ótimo, o CSS está evoluindo e incorporando maiores capacidades de estilização, algo que não é e não deve ser feito pelo HTML e JS

Exatamente, se trata apenas do CSS reclamar para si tudo aquilo que deveria ser seu por direito.

danilovaz commented 7 years ago

@HackerGaucho Cara, eu consigo entender a sua linha de raciocínio mas não concordo com ela. E vou dizer os motivos.

Eu não sei o seu nível de conhecimento em desenvolvimento web. Vou partir do princípio que não sabe nada. E não tome isso como desrespeito, por favor.

HTML é uma linguagem de marcação de hypertexto, não é uma linguagem de programação. Muito menos as CSS, que é linguagem de folhas de estilos. Portanto, você não pode colocar elas no mesmo patamar que JavaScript. Você está baseando seu raciocínio no entendimento errôneo de cada camada e suas responsabilidades.

Agora vamos entrar em um mundo conceitual e nele, podemos entender o cerne do seu raciocínio.

Para ser uma linguagem de programação ela precisa (em um entendimento comum e geral) ser Turing Complete ou simular a MTU. Ou seja, qualquer função que possa ser matematicamente calculada, deve ser possível ser expressada e executada em sua plenitude. E acho que talvez nesse ponto, vide sua citação do calc() você esteja considerando CSS ser uma linguagem de programação.

Em alguns aspectos, há quem possa defender que baseado na Rule 110 e na teoria do autômato celular as CSS são turing complete. E em outros há quem possa defender, que o Halting Problem é suficiente para determinar que as CSS não são turing complete.

Concordo que muita coisa mudou nas CSS. Variáveis e calc(), são uma delas. Mas tenho que discordar fortemente que ela possa ser considerada ou comparada à qualquer linguagem de programação. Muito menos que ela "reclame para si tudo aquilo que deveria ser seu por direito". Pois não há direito que possa ser exigido de uma linguagem de folha de estilos fazer o mesmo que uma linguagem de marcação de hypertexto ou uma linguagem de programação.

Basta ler como a W3C denomina o CSS aqui:

CSS is a language for describing the rendering of structured documents (such as HTML and XML) on screen, on paper, in speech, etc.

Então, por mais que algum tenebroso dia a W3C descreva as CSS como linguagem de programação baseado nas leis de Turing; esse não é e nunca deverá ser o objetivo/responsabilidade das CSS. Entendo que hoje, com todas essas mudanças nas CSS causem algumas dúvidas. Mas independente do seu funcionamento e suas mudanças, por mais que o cabo da chave de fenda consiga pregar um prego, ele nunca será realmente um martelo. Porque não foi para isso que ele foi criado.

Acredito que seja esse o ponto: será tenebroso e horripilante o dia em que alguém achar que a melhor e mais prática forma de se trabalhar com desenvolvimento web é as CSS fazendo o papel do HTML e do JS. Como disse, entendo o seu raciocínio mas não concordo com ele.

A melhor pessoa pra falar algo de Turing é o @suissa e para falar de CSS é o @afonsopacifer . Dei meus 20 centavos, espero que tenha sido útil

ghost commented 7 years ago

@danilovaz acho que talvez nesse ponto, vide sua citação do calc() você esteja considerando CSS ser uma linguagem de programação.

acho que você não me entendeu. nunca entrei no mérito de defender que o CSS é ou será algum dia uma MTU, muito menos que substituirá completamente qualquer outra linguagem, o que não significa que ele não seja capaz de fazê-lo, de qualquer forma isso não vem ao caso no momento.

@danilovaz tenho que discordar fortemente que ela possa ser considerada ou comparada à qualquer linguagem de programação

não estou comparando linguagens, estou dizendo que o CSS está incorporando recursos do HTML e do JavaScript, só isso.

@danilovaz Pois não há direito que possa ser exigido de uma linguagem de folha de estilos fazer o mesmo que uma linguagem de marcação de hypertexto ou uma linguagem de programação

só porque uma linguagem é tida como uma linguagem de marcação isso não significa que o CSS não pode reproduzi-la, aquele parser de HTML para markdown em CSS é um exemplo disso.

@danilovaz por mais que o cabo da chave de fenda consiga pregar um prego, ele nunca será realmente um martelo

nunca disse que será. o CSS está tornando mais como um subset alternativo para opções que só eram acessíveis através do HTML e do JavaScript assim como o HTML foi uma espécie de subset do SGML, afinal de consta não é preciso perder sua função original ao se agregar outras.

bernardodiasc commented 7 years ago

HTML e CSS são linguagens declarativas que o browser interpreta. O primeiro é marcação de texto, e o segundo folha de estilo (aplicada à marcação de texto, CSS sem HTML não tem utilidade alguma). Nenhuma delas se compara ao JS, mesmo que o JS seja capaz de retorná-las e até manipulá-las.

Percebi, @HackerGaucho, que você entende a situação de certo modo, mas está exagerando muito. Veja, os elementos de tabela do HTML são para conteúdos tabulares, não se engane com o que voce vê, a finalidade do HTML não é fazer parecer uma tabela, e sim organizar o conteúdo de modo tabular. Observe que a maioria dos estilos aplicados em elementos HTML que não possuem CSS na verdade possuem CSS, mas aplicado com padrões de cada browser. Percebe a diferença? Voce não usa calc() do CSS pra transformar um conteúdo, é apenas para transformar estilo, e ta tudo dentro do esperado, o calc() do CSS é estilo, assim como :before e :after que mesmo aceitando texto, não são de fato conteúdo.

Quando compara quando as coisas eram feitas no passado com o que o CSS passou a fazer, voce meio que entende o que esta acontecendo mas não sei quanto assimilou disso. Trata-se da evolução das linguagens, evolução natural já que todo santo dia há uma penca de desenvolvedores aprimorando-as. O que era feito no passado estava longe do ideal, o CSS não dava conta e era por pura limitação, natural das tecnologias em constante evolução, e veja, sou do tempo antes do CSS, antes do tableless, muitas soluções que temos hoje nativas surgiram das necessidades e dos hacks. O CSS veio para descrever como o conteúdo deve ser renderizado e isso não tem absolutamente nada a ver com engolir HTML e JS. Espero ter ajudado a clarear o entendimento disso.

bernardodiasc commented 7 years ago

não estou comparando linguagens, estou dizendo que o CSS está incorporando recursos do HTML e do JavaScript, só isso.

E isso mesmo... quase... O CSS está evoluindo e dando conta do que é de sua responsabilidade, e que se eram coisas feitas pelas outras linguagens, eram basicamente hacks e não recursos.

ghost commented 7 years ago

@bernardodiasc Voce não usa calc() do CSS pra transformar um conteúdo, é apenas para transformar estilo

Exatamente, porém a fronteira entre conteúdo e estilo é aquilo que me faz pensar desse jeito. O CSS está cada vez mais poderoso também através da manipulação de conteúdo, mesmo que de forma limitada.

Seria um absurdo dizer que existe alguma diferença semântica entre uma letra inserida via HTML ou uma letra inserida via CSS, na prática os meios são diferentes mas o resultado tende a ser o mesmo.

paulinhoerry commented 7 years ago

Seguindo o debate,

Cara, eu não acredito que o CSS esteja engolindo o Javascript, mas está tirando muita responsabilidade que, outrora, já foi exclusiva do mesmo. Um exemplo sólido era, você fazer uma animação mudando os estados das classes através do javascript, hoje você consegue fazer isso apenas usando o animation do CSS. Então, concluo que, com essa evolução do CSS, hoje cada um está fazendo seu devido papel e o CSS está cada vez mais tirando mais peso das costas do Javascript.

bernardodiasc commented 7 years ago

Seria um absurdo dizer que existe alguma diferença semântica entre uma letra inserida via HTML ou uma letra inserida via CSS, na prática os meios são diferentes mas o resultado tende a ser o mesmo.

Ai vc se engana completamente. CSS nao manipula conteudo, soh por que parece igual nao significa que seja igual. A fronteira de conteudo e estilo eh confusa pra voce pois acredita que conteudo eh aquilo que se ve, mas nao eh.

danilovaz commented 7 years ago

Exato. Atribuir a manipulação de conteúdo ao CSS é, no mínimo, equivocado.

@HackerGaucho Acredito que o @bernardodiasc deu um esclarecimento bem interessante sobre o assunto. O que de fato, como falei, é compreensível a sua linha de raciocínio, mas não necessariamente correta.

Veja, já imaginou se ao invés de eu fazer meu blog manipulando conteúdo com HTML e estilos com CSS; eu fizesse todo o meu blog usando a propriedade content?

Eu consigo fazer isso? Consigo. É correto? Não. Isso não tem a ver com apenas o SEO. E por mais que a UX do nosso usuário final não seja afetada, o que poderíamos dizer da UX dos outros desenvolvedores que trabalham no mesmo projeto?

Às vezes, nem tudo é questão de como o computador interpreta mas como nós interpretamos. Isso também é importante. Recomendo um vídeo da Lea Verou na BrazilJS desse ano Writing code for humans, é voltado ao JS mas o resumo é o mesmo: o computador pode entender quase qualquer coisa maluca que fizermos, mas não necessariamente fará sentido para outro desenvolvedor e é provavelmente quem mais isso deveria fazer sentido.

fititnt commented 7 years ago

Será que o HTML e JavaScript estão perdendo espaço para o CSS?

Não.

ghost commented 7 years ago

@paulinhoerry Então, concluo que, com essa evolução do CSS, hoje cada um está fazendo seu devido papel e o CSS está cada vez mais tirando mais peso das costas do Javascript

Perfeitamente.

@bernardodiasc @danilovaz não me referia apenas a texto, estive pensando e a única forma de conteúdo que o CSS3 ainda não manipula, mesmo que de forma limitada é o audio. texto, imagens e videos pode sim ser manipulados cada vez mais através do CSS3.

Óbvio, isso de forma alguma quer dizer que o CSS3 é capaz de substituir sózinho o HTML e o JavaScript, apenas quer dizer que ele tende a substituí-los em partes, cada vez mais.

@danilovaz E por mais que a UX do nosso usuário final não seja afetada, o que poderíamos dizer da UX dos outros desenvolvedores que trabalham no mesmo projeto?

Novamente, não tô propondo nenhuma espécie de reversal russa na área de front-end. minha intenção era apenas levantar essa questão que leva a outros questionamentos relevantes para a nossa área.

Cara, achei bastante interessante essa sua abordagem das linguagens web como uma forma de comunicação entre desenvolvedores, vou assistir o video e pensar sobre isso durante a semana =)

afonsopacifer commented 7 years ago

joao-kleber-humilha-funcionarios_296867

Separar as responsabilidades, independente do que da para fazer com um ou outro é o correto!

Exemplo:

Para criar um menu off canvas, temos um botao que controla se está visível ou invisível.

Da para fazer os dois tanto com apenas CSS, quanto com apenas JS. Qual o certo?

Fazer o comportamento com JS e o estilo com CSS..

Poder fazer nao quer dizer que deva fazer... CSS é lindo, da para desenhar e criar jogos.. nem por isso vou deixar de usar SVG e JS respectivamente para cumprir tais tarefas.. isso pq simplesmente é melhor.

Sinceramente... demorei para escrever algo aqui.. pq não estava acreditando que isso estava sendo debatido dessa forma... sério mesmo :(

bernardodiasc commented 7 years ago

@HackerGaucho mano, CSS não manipula conteúdo, apenas a aparência do conteúdo. São coisas diferentes. :)

ghost commented 7 years ago

@afonsopacifer sim, entendo teu ponto de vista de separação por responsabilidades.

@bernardodiasc o que aqui é conteúdo exatamente?

afonsopacifer commented 7 years ago

@HackerGaucho juro para vc que pode explicar coisas como "pseudo elementos são apenas visuais, pois não fazem parte do DOM e não são levados em conta por ninguém que não enxergue", logo não é conteúdo... mas não vou falar mais do que isso.. pela sua resposta vi que não vale a pena. abraço

danilovaz commented 7 years ago

Resumindo: content

ghost commented 7 years ago

@afonsopacifer @danilovaz minha pergunta no caso era qual a diferença entre o conteúdo manipulado pelo CSS, seja através de pseudo-elementos, filtros ou outros recursos e o conteúdo que é apresentado para o usuário final, apenas isso.

Particularmente não vejo diferença alguma entre os dois tipos de conteúdo, exceto pela óbvia separação entre linguagens e que não vem ao caso. Ou seja, para mim o CSS manipula conteúdo sim, mesmo que de forma limitada.

danilovaz commented 7 years ago

@HackerGaucho Cara, é que você está pensando de forma binária. Preto no branco. Não é bem assim na vida real. Se você me perguntar se tem algum problema você usar content em todos os seus exemplos no Codepen, provavelmente não tenha nenhum problema. Mesmo que não seja uma boa prática, não tem problema nesse contexto.

Agora, se você vem em um grupo de profissionais web (especificamente front-end) e indaga: "Será que o HTML e JavaScript estão perdendo espaço para o CSS?". A resposta curta e grossa, é: não. Porque não há o que perder, é uma tríade que não necessariamente uma depende da outra mas se complementam.

E o ponto que você, ao meu ver, não está entendendo, é que ninguém aqui está dizendo que não dá para fazer o que você está falando. Dá, sim. Mas não faz sentido em projetos reais. E vir aqui falar isso para você, não é questão de provar que X está certo e Y errado. Trata-se de padrões e boas práticas, algo que até alguns anos atrás, não tínhamos. E hoje, apesar de nada ser perfeito, trabalhamos muito para que as coisas sejam simples e façam sentido computacionalmente e humanamente.

@HackerGaucho Particularmente não vejo diferença alguma entre os dois tipos de conteúdo, exceto pela óbvia separação entre linguagens e que não vem ao caso.

Existe um oceano de diferença. Tanto para outros desenvolvedores que vão lidar com essa aplicação que você está desenvolvendo (hipoteticamente) e ao seu ver, você pode manipular a maior parte do seu conteúdo e delegar o que for possível para CSS. Quanto para quem vai consumir essa aplicação.

Uma pessoa que tem alguma limitação física; motora, auditiva ou visual, vai conseguir utilizar essa aplicação? Será mesmo, que o CSS é o mais indicado para tratar o conteúdo, mesmo que seja possível fazer isso com ele? Acredito que não.

Como eu disse anteriormente, não se trata apenas de código. Eu desenvolvo aplicações para pessoas, não para robôs. Eu posso fazer quase tudo enquanto desenvolvo, inclusive da forma mais errada ou inapropriada, o computador pode até "entender". Mas ele não é meu usuário final e como profissional de desenvolvimento web é meu dever entregar uma aplicação que funcione da melhor forma possível.

Cara, três pontos que gostaria de citar e que eu vejo como importantes:

O Tim já disse sobre a Internet

É importante que a Internet se mantenha livre e acessível.

E boa parte do que está na rede, ser acessível depende de nós: quem desenvolve. Eu não posso te responder em um contexto à parte disso. Eu trabalho com isso. Portanto, a minha visão deve ser não só: o que o CSS pode fazer por mim? Mas sim: o que eu posso e não posso fazer com CSS? E para responder isso eu preciso ter o olhar para quem eu desenvolvo: o usuário.

Parece balela filosófica. Mas não faz sentido, eu concordar que seja plausível eu considerar que não há diferença entre o que HTML, CSS e JS fazem. Não é plausível eu concordar com esse pensamento, isso não deve ser difundido porque ele corrobora com más práticas que vão afetar quem mais importa no final.

Então, me desculpe pela bíblia. Mas não dá para usar um contexto à parte, um contexto limitado onde isso não importa. Porque há muito o que se importar. Partindo para o exagero: um médico pode abrir um paciente com uma faca de churrasco, para ele não faz a mínima diferença e o resultado é o mesmo; mas tenho certeza que para o paciente faria toda a diferença se o médico usasse o bisturi.

Nesse cenário, nós somos os médicos e a ferramenta que usamos, temos que escolher e usá-las da melhor forma. Mesmo que para nós, o resultado possa parecer o mesmo.

afonsopacifer commented 7 years ago

@HackerGaucho vc ta de zueira?

clovisdasilvaneto commented 7 years ago

@HackerGaucho vc ta de zueira?

omariosouto commented 7 years ago

@HackerGaucho vc ta de zueira?

fititnt commented 7 years ago

Eu avisei

ghost commented 7 years ago

@danilovaz quantas vezes vou ter que repetir que isso ocorre atualmente de forma limitada e que atualmente é impossível e indesejável fazer tudo usando apenas CSS3?

quantas vezes vou ter que repetir que o fato de estarmos cada vez fazendo mais coisas usando apenas CSS3 não quer dizer que o HTML e o JS devem ser necessariamente abandonados?

@afonsopacifer, @clovisdasilvaneto, @soutomario não =\

wellingtonpgp commented 7 years ago

@HackerGaucho vc ta de zueira?

Dog

omariosouto commented 7 years ago

Cara pra fechar essa issue: "Análise o problema e escolha os melhores recursos disponíveis com base em suas pesquisas para a solução".

danilovaz commented 7 years ago

@HackerGaucho Cara, eu tentei rs. A minha opinião é que seus conceitos e bases sobre isso estão deturpados. Fui vencido pelo cansaço e só posso perguntar: vc ta de zueira?

ghost commented 7 years ago

Sei lá pessoal, esse debate já tá virando uma esṕécie de brincadeira de "telefone sem fio", ninguém se entende.

O fato de ter sido taxado de spammer logo no começo só contribuiu pra aumentar a confusão.

Parece até que tem gente por aqui (@fititnt) que só tá interessada em prejudicar o debate... enfim.

clovisdasilvaneto commented 7 years ago

Dog

robsonbittencourt commented 7 years ago

Achei bem desagradável a hostilidade com o @HackerGaucho. O assunto para mim rendeu altos posts. Em nenhum momento ele desceu o nível para alegarem que ele está de zueira... Para mim no geral a discussão agregou bastante.

ghost commented 7 years ago

@soutomario nunca imaginei que pra demonstrar algo auto-evidente teria que me esforçar tanto. deixo a pergunta em aberto, quem tiver interessado DIY, quem não tiver simplesmente ignore.

afonsopacifer commented 7 years ago

Dog

ghost commented 7 years ago

@robsonbittencourt obrigado, realmente pra mim também foi uma discussão agradável e interessante.

fititnt commented 7 years ago

Não, a discussão não está interessante @HackerGaucho . Ela está causando perda de tempo para outras 10 pessoas num domingo. Ou melhor, temos 307 pessoas no watch que vão receber tudo isso por e-mail.

Além do que eu disse em https://github.com/frontendbr/forum/issues/354#issuecomment-258662897, você:

HackerGaucho commented an hour a @soutomario nunca imaginei que pra demonstrar algo auto-evidente teria que me esforçar tanto. deixo a pergunta em aberto, quem tiver interessado DIY, quem não tiver simplesmente ignore.

  • Depois de causar tanta discussão com algo que todos acham um absurdo, você ainda pede para que outros PROVEM que você está certo e quem não concorda apenas te ignore, isso não é construtivo.
fititnt commented 7 years ago

Eu não acredito que o @HackerGaucho seja um SPAMMER. Recomendo que esse tópico seja bloqueado.

Eu não recomendo que o HackerGaucho seja banido temporariamente, porque ele não fez ataques pessoais, mas eu fortemente recomendo que você @HackerGaucho, se auto-modere por algo como uma semana, não crie postagens novas, e se for responder a algo, seja extremamente técnico e construtivo. Mas para isso, é preciso que alguém da moderação dê bloqueado neste issue para que o tema pare por aqui.

Na minha experiência como moderador aposentado o comportamento dele é de uma pessoa bem intencionada, que quer fazer algo positivo mas que a defesa das ideias neste assunto em específico desde o início parecia que ia ser disruptiva (não no sentido positivo da palavra). Porém o tema, da forma como foi apresentado, não é construtivo, e é extremamente baseado em opiniões pessoais, e por experiência, isso tende a dar merda.

Recomendo a leitura para o HackerGaucho e outros interessados em interagir melhor. Estas sugestões aqui poderiam até ser referênciasdas no README.md do forum:

eduardojmatos commented 7 years ago

@HackerGaucho sobre seus pontos eu vejo que existem vários problemas no post, e uns, o @fititnt até já citou n o início, além do restante do pessoal.

Quando você diz que HTML e JS perdem espaço no front-end, você precisa dar mais dados ou informações que comprovem o seu texto, caso contrário ficamos na discussão de boteco. O número de drafts de CSS têm sido maior que os dos demais? A taxa de implementação de funcionalidades de CSS têm sido maior do que as JS e HTML? Com isso poderíamos discutir melhor essa afirmação.

Sobre preocupação do uso correto de tags semânticas, acredito que muitos de nós tem se conscientizado a respeito disso, embora tenha que concordar que nem todos tenham essa preocupação. Particularmente tenho cada vez mais me preocupado com isso nos projetos que desenvolvo. Incluir pessoas precisa ser nosso maior objetivo, como comunidade e até como seres humanos.

Outra coisa que não faz sentido é dizer sobre "classes que alteram o comportamento semântico das divs ou de qualquer outra tag não necessariamente semântica". CSS não altera valor ou comportamento semântico, no sentido próprio da palavra. Usar o artigo da W3C (que você poderia até ter citado pra embasar sua afirmação) pra provar que classes, por exemplo, tem valor semântico é desconhecer os leitores de tela e as funcionalidades dos mesmos. CSS não altera o valor semântico de um elemento. E classes apenas precisam ser semânticas pra quem mexe com o código, no caso, desenvolvedores(as), portanto crawlers e screen readers pouco ou nem se importam com classes.

Sobre "ferramentas que geram html on the fly e não se preocupam com semântica", talvez seria uma boa hora pra parar de usar as tais e utilizar outras que se preocupem com isso...

Resumindo, essas tecnologias são complementares. Uma não convive sem a outra. Discutir a importância nesse caso não faz muito sentido, já que todas tem um papel específico dentro do desenvolvimento front-end.


Dito tudo isso, em conjunto com os que já te responderam também, já acho que podemos marcar como resolvido @HackerGaucho, pode ser?

bernardodiasc commented 7 years ago

@HackerGaucho respondendo sua pergunta:

o que aqui é conteúdo exatamente?

Resposta: é conteúdo exatamente?

Segundo a sua lógica, este exemplo https://jsfiddle.net/Ltyngwdq/ não possui conteúdo algum. Consegue perceber? Conteúdo não é o que você vê. Todo o conteúdo desse exemplo que passei é acessível, já no caso do seu exemplo apenas uma parte dele é acessível. Falando grosseiramente, conteúdo é aquilo que se vê quando voce retira o CSS.

Gelara, talvez seja fácil pra todo mundo aqui entender isso, talvez a abordagem na questão tenha sido exagerada a ponto de criar estranhamento. Mas até onde entendi, a confusão sobre o que é conteúdo e o que é estilo não é tão óbvia assim, especialmente para quem não compreende a amplitude das técnicas. Cansei de ver programadores experientes errando nisso...

O que ocorre @HackerGaucho, é que voce vai precisar aprofundar seu entendimento em HTML, especialmente, pois não é justo conosco termos que re-explicar coisas que já estão em vários outros posts nesse forum e coisas que são bem maiores do que se pode responder com alguns parágrafos. Por isso minha recomendação logo no início foi que voce se aprofundasse mais nas linguagens web (HTML, CSS e JS), dessa forma teria mais embasamento e poderia voltar com questões mais pontuais. O porquê de conteúdo ser diferente de estilo é um porquê muito extenso, voce vai ter que fazer sua própria pesquisa nisso. :)

felipefialho commented 7 years ago

Bom, acredito que rendeu comentarios super interessantes, especialmente do @danilovaz , que deu uma verdadeira aula de construção de projetos.

Tambem, não acompanhei toda a discussão, para ver as ediçoes que o @fititnt comenta.

@HackerGaucho, como ja deram dicas, quando afirmar algo com essa intensidade, voce precisa der argumentos fortes e solidos para confirmar sua tese, se nao vira praticamente orelhada.

Em todo caso, não creio que essa issue renda mais do que ruidos a partir daqui, portanto vou fechar.

lagden commented 7 years ago

vou escrever aqui só pra não ficar de fora!! hohoho!!!

ghost commented 7 years ago

@fititnt Depois de causar tanta discussão com algo que todos acham um absurdo, você ainda pede para que outros PROVEM que você está certo

isso não foi uma tentativa de inversão do ônus da prova da minha parte, apenas achei exagerado estender uma conversa de domingo para além do domingo.

@fititnt Porém o tema, da forma como foi apresentado, não é construtivo

evitei me alongar no post justamente por ser apenas uma conversa de domingo, não pretendo fazer uma tese e doutorado com esse tema.

a única coisa que apresentei inicialmente foi um link para um post onde abordava o assunto de forma mais eleborada. você me forçou a apagar o link fazendo com que cada vez que alguém comenta-se tivesse que apresentar novamente tudo aquilo que já havia escrito em meu post no blog.

se você não tivesse me atacado logo no começo provavelmente o foco da discussão teria sido outro, mas você preferiu ignorar a minha opinião e tentar aplicar uma falácia do espantalho me tratando como spammer e criticando o embasamento técnico de um post que óbviamente não tem tem o intuíto de ser um texto técnico.


@eduardojmatos Quando você diz que HTML e JS perdem espaço no front-end, você precisa dar mais dados ou informações que comprovem o seu texto, caso contrário ficamos na discussão de boteco

meu ponto de vista é bastante simples, não importa quanta informação eu acrescente para defendê-lo, ele nunca passará disso: um simples ponto de vista.

todo mundo é livre para ter seu próprio ponto de vista e defendê-lo como bem entender. no meu caso, apresentei repetidas vezes provas corroborando meu ponto de vista, mas devido a apresentação de novos pontos de vista essas provas foram perdidas em um turbilhão de opiniões diversas sobre o assunto.

não sou o dono da verdade, se o fosse não estaria aberto ao diálogo e a crítica. o próprio titulo da discussão já reflete a minha dúvida sobre o assunto.

@eduardojmatos CSS não altera o valor semântico de um elemento

para entender isso é preciso dividir o problema em 3 partes: sintaxe, semântica e pragmática. temos as tags semânticas (sintaxe) e o significado delas dentro do documento (significado ou valor semântico).

a semântica das tags está evoluindo, porém as tags antigas (não semânticas) ainda podem ter o seu valor semântico alterado como bem entendermos, vide vários exemplos disso.

ou seja, mesmo que a sintaxe seja definida como semântica o valor semântico agregado a essas sintaxe através da prática da comunicação (pragmática) ainda não foi totalmente padronizado.

mas meu palpite é que essa padronização vai demorar muito para acontecer. como escrevi no post em meu blog:

Será que todos os desenvolvedores querem mesmo esquecer tudo o que aprenderam durante 15 anos e que ainda funciona muito bem por sinal?

ainda duvido muito disso.

@eduardojmatos Resumindo, essas tecnologias são complementares. Uma não convive sem a outra. Discutir a importância nesse caso não faz muito sentido, já que todas tem um papel específico dentro do desenvolvimento front-end.

essa complementariedade é que parece estar desvanecendo com a evolução das linguagens.

o HTML está reclamando para si o dinamismo do CSS (vide datalist, drag/drop, range, etc). a mesma coisa está acontecendo com o shadow dom, onde o JavaScript está reclamando o HTML para si. qual linguagem no fundo está presente de forma insubstituível nesses dois casos? o CSS.


@bernardodiasc Segundo a sua lógica, este exemplo https://jsfiddle.net/Ltyngwdq/ não possui conteúdo algum.

depende do que você entende como conteúdo, no meu caso o entendo o conteúdo como sinônimo de mensagem. se você tivesse apresentado o código fonte renderizado dessa forma https://fiddle.jshell.net/Ltyngwdq/show/)) nenhum conteúdo seria apresentado formalmente para o receptor, gerando assim uma mensagem nula, oculta ou inválida, dependendo do tratamento dado a ela pelo receptor.

@bernardodiasc a confusão sobre o que é conteúdo e o que é estilo não é tão óbvia assim, especialmente para quem não compreende a amplitude das técnicas

perfeitamente.

@bernardodiasc O que ocorre @HackerGaucho, é que voce vai precisar aprofundar seu entendimento em HTML, especialmente, pois não é justo conosco termos que re-explicar coisas que já estão em vários outros posts nesse forum e coisas que são bem maiores do que se pode responder com alguns parágrafos

concordo. por isso disse, quem tiver interesse faça isso por si mesmo ou simplesmente ignore essa minha pergunta.


@LFeh voce precisa der argumentos fortes e solidos para confirmar sua tese, se nao vira praticamente orelhada

nunca foi minha intenção tornar isso uma tese. a principio isso era apenas uma dúvida mesmo, uma curiosidade ou uma questão para ser deixada em aberto caso não houvesse uma reposta.

as orelhadas vieram naturalmente quando cada um trouxe sua própria opinião tornando minha pergunta uma afirmação a ser refutada de qualquer forma possível ao invés de ser apenas respondida ou ignorada.

@LFeh Em todo caso, não creio que essa issue renda mais do que ruidos a partir daqui, portanto vou fechar

concordo.

bernardodiasc commented 7 years ago

depende do que você entende como conteúdo

não depende, é isso que to tentando te explicar... não depende.

IuryAlves commented 7 years ago

away

ghost commented 7 years ago

@bernardodiasc então apenas temos um conceito de conteúdo e de mensagem diferentes. seu conceito parece ser mais estrito e encapsulado, o meu já é mais genérico e aberto.

bernardodiasc commented 7 years ago

Não to discutindo conceito ou opinião pessoal, to te dizendo como são as especificações das linguagens. HTML marca o conteúdo, CSS declara o visual. Não tem relatividade nisso, ser abrangente e genérico te leva ao equívoco. rsrs

ghost commented 7 years ago

@bernardodiasc Não to discutindo conceito ou opinião pessoal, to te dizendo como são as especificações das linguagens

eu entendo a divisão teórica das especificações, apenas acho que na prática elas são um pouco mais fluídas do que parecem.