Executando verificação de segurança...
18

A história não contada do desenvolvimento web

1990: HTML inventado
1994: CSS inventado para corrigir HTML
1995: JS inventado para corrigir HTML/CSS
2006: jQuery inventado para corrigir JS
2010: AngularJS inventado para corrigir jQuery
2013: React inventado para corrigir AngularJS
2014: Vue inventado para corrigir React e Angular
2016: Angular 2 inventado para corrigir AngularJS e React
2019: Svelte 3 inventado para corrigir React, Angular, Vue
2019: React Hooks inventados para corrigir React
2020: Vue 3 inventado para corrigir React Hooks
2020: Solid inventado para corrigir React, Angular, Svelte, Vue
2020: HTMX 1.0 inventado para corrigir React, Angular, Svelte, Vue, Solid
2021: React Suspense inventado para corrigir o React, novamente
2023: Svelte Runes inventado para corrigir Svelte
2024: jQuery ainda usado em 75% dos sites

4

CSS inventado para corrigir HTML? Que eu saiba CSS foi inventado para estilizar as páginas. Afirmar dessa forma dá a entender que o CSS tá consertando algum problema relacionado ao funcionamento interno... Assim como JavaScript me parece incorreto também pois veio para tornar as páginas mais dinâmicas, e por acaso acabou se tornando a linguagem padrão dos navegadores com o tempo. Bom, sei que é piada, mas sinceramente é tão ruim que me faz querer explicar cada uma kkkk

13

Sim, o CSS foi criado para consertar o HTML. Claro que a questão não é tão simples, pode-se discutir se fez isso ou piorou, a piada já cuida disso, mas foi exatamente isso que aconteceu.

HTML foi criado para fazer coisas extremamente simples e de forma simples. Só para montar documentos. Claro que viram que precisava permitir pelo menos o que os editores de texto permitiam, então tinha que permitir que o texto tivesse cor, fonte, alinhamento, etc. E tudo isso e muito mais foram colocados no HTML.

Alguém achou que isso era uma bagunça, criava inflexibilidades e perceberam que foi um erro. Daí inventaram algo para estilizar o HTML separadamente e chamaram de CSS, muito mais poderoso por sinal (não estou questionando os erros que cometeram) e tornaram a estlização via HTML "deprecada", embora os navegadores aceitem até hoje.

Podemos entender que o JS veio para corrigir no sentido de suprir a falta. Também não vou entrar no mérito se fez bem ou não. Algumas pessoas vão dizer que foi o ínicio do fim, porque aí passaram abusar da web.

Curiosamente dá para questionar até mais se jQuery corrigiu o JS. Estritamente falando não foi isso que aconteceu, mas é uma piada, vamos deixar para lá. Os outros também pode-se questionar isso, o único que não pode é do CSS. HTMX não foi inventado para corrigir o que está descrito ali, mas corrige algumas coisas, se as pessoas usarem.

Wasm foi feito para corrigir tudo isso em uma pancada só (junto com outras coisas que colocaram no browser que virou um sistema operacional/máquina virtual), se quiser, mas não entregou tudo até agora, mas é só alguém querer, já é possível, antes não era (tem uma limitação ainda porque IO tem que passar pro JS e algum IO precisará ter quase toda as aplicações). Quem quiser dar continuidade na piada, podia pensar nisso, que é o mais importante para a reflexão, e pode dar boa piada, ainda mais se ilustrar e por o Wasm esmagando tudo. Não que ele não tenha seus defeitos também.


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).

5

Realmente, essa piada do desenvolvimento web tem suas falhas e acertos. Mas olha, acho que faltou falar sobre um pedaço importante da história entre 1995 e 2010. Eu estava lá quando jQuery era a grande coisa. O problema que ele resolveu não foi exatamente o JavaScript em si, mas a forma como interagíamos com diferentes navegadores. Cada navegador tinha sua própria API, tornando a vida dos desenvolvedores um verdadeiro caos. Era pior do que escrever código em C para múltiplas plataformas, onde você se depara com uma infinidade de #ifndef TARGET para adaptar seu código a diferentes ambientes. O jQuery unificou essa experiência, oferecendo uma interface consistente que escondia a API de cada navegador, tornando a vida dos desenvolvedores web significativamente mais simples.

Eu não estava lá no início, mas lembro bem dos tempos em que interagíamos com os clientes usando Java, e eu dava meus primeiros passos na informática, quando XML e AJAX eram a grande moda. É uma pena que XML não entrou na piada, porque, na época, parecia mesmo ser a solução para tudo. Muito mais do que o WebAssembly (Wasm), talvez? O XML é o formato por trás de alguns dos sistemas mais complicados que lidam com especificações de texto, como o banco de dados de mapas abertos OpenStreetMap, e até mesmo os arquivos do Word e Excel, que usam XML para estruturar seus dados. A claro, e não podemos esquecer do JSX que é motor por trás do React.

Mas sabe, talvez a solução fosse nem usar a web, né? E cadê o Flash na piada? O Flash, em seu auge, era onipresente na web, essencial para animações, jogos e até mesmo todos os vídeos. Mas ele não era texto, e é aí que começa sua queda. Mas ele só morreu mesmo, porque o iPhone que definiu do futuro da Intenet decidiu não o suportava. E é por isso que o Wasm não decola como esperado. Muitos dos IOs poderiam ser feitos diretamente via Canvas e outras APIs, mas aí não se pode interagir com o documento da página – ou seja, o texto! O problema do Wasm é tentar transformar a web em uma máquina virtual, quando ela deveria ser apenas uma plataforma de texto.

Mas todo mundo insiste em usar a web para outras coisas que não texto. Eu queria fazer uma piada sobre isso, mas ainda não vai ser dessa vez. Talvez a verdadeira piada seja essa insistência em complicar o que era para ser simples, né? A web como uma máquina virtual infinita, quase como um 'Infinite Jest' da programação. Quem sabe um dia a gente não consegue rir disso tudo?


"Infinite Jest" é um romance que, em sua trama, apresenta um filme tão cativante e envolvente que as pessoas perdem a motivação para viver após assisti-lo, pois nada mais parece ter sentido. Isso me faz pensar nos programadores que perdem o interesse em outras atividades, tão absorvidos pelo desenvolvimento web que se esquecem de todo o resto. Talvez a grande piada esteja nisso.

4

Sim, estava falando em algum lugar sobre isso. jQuery resolve parte da zona das tecnologias, mas não diretamente o JS.

Melhorou, mas ainda desenvolver pra web para evitar as difeenças de plataforma, aina não é essa maravilha toda. Em vez de 3 SOs agora escrevemos para 3 browsers :D

Nunca achei que o XML era solução :D Nem JSON :D Wasm também não soluciona tudo, mas já que as pessoas não querem solução para tudo, ele pode ser ótimo. Podia ser mais se o W3C não tivesse tanta politicagem, no parágrafo seguinte você fala do problema.

Web é ótima.................. para sites.

O browser tomou o lugar de SOs porque eles não entregaram o que as pessoas estavam pedindo. Dá para fazer tudo igual sem o browser, mas ele entregou pronto, os SOs, especialmente o Windows, não entregaram (até veio um pouco depois, tarde demais, as pessoas não queriam nem olhar pra isso). Wasm também é gambi, mas é o que tem quando a escolha toda foi errada. O avião é ótimo enquanto não tivermos o teletransporte (o problema que na computação a gente tem, só não é tão conveniente porque não venderam bem).

Acho que a piada não é incluir plugins.

5

Você esta absolutamente correto: a ascensão dos navegadores como uma espécie de "sistema operacional universal" reflete diretamente a incapacidade dos sistemas operacionais tradicionais de atender às demandas cruciais dos usuários e desenvolvedores. A portabilidade sempre foi uma dessas demandas-chave. E embora, já tivessemos resolvido esse problema, para o 'desktop', não estavamos prontos para o mobile. Essa 'loucura' toda começou quando o CEO de uma empresa quis acessar todas as informações do ERP pelo seu novíssimo iPhone, surgindo uma necessidade urgente de adaptabilidade e os navegadores surgiram como heróis improváveis nessa história, oferecendo a solução 'perfeita' para essa demanda.

O Google, consciente de que tinha perdido a batalha dos sistemas operacionais, fez uma aposta inteligente e massiva na web como plataforma de aplicações. O Chrome OS é a materialização dessa visão, transformando o navegador na peça única da experiência do usuário. A W3C, que deveria ser o principal órgão regulador das normas da web, acabou se tornando uma espécie de 'ONU' do mundo digital, com sua relevância muitas vezes ofuscada pelo poder das big techs. Atualmente, estamos à mercê dessas gigantes, que frequentemente definem unilateralmente o que é melhor para a web e seus usuários. Ainda bem que a Apple decidiu matar o Flash - já imaginou quão terrível seria a web hoje se ainda estivéssemos presos aquela porcaria?

E se surgisse uma nova plataforma que proibisse o uso de JavaScript? Seria incrível, certo? Seria uma verdadeira revolução, um retorno à essência do que a web deveria ser. Mas quem teria a audácia e o poder para fazer isso hoje? No cenário atual, não parece haver um único jogador capaz. A Nokia teve algumas ideias brilhantes com o Maemo nos primeiros dias, mas depois de fracassar, até tentou lutar junto com Microsoft no Windows Phone, mas perderam completamente a batalha dos smartphones. A Microsoft hoje reconhece abertamente o erro de ter negligenciado o mobile. No entanto, eles apostaram alto na nuvem, e o Azure hoje é muito mais relevante do que o Windows. Eles também investiram massivamente em IA, e talvez, apenas talvez, com as IAs gerativas, possamos ter algum tipo de interface de texto super avançada.

Olhando para trás, a outra grande piada, é que o Unix (e Matrix) sempre esteviram certo desde o início. A interface de texto é, de fato, a interface definitiva - simples, poderosa e incrivelmente flexível. Se a web tivesse seguido essa filosofia desde o começo, talvez estivéssemos em um mundo digital muito diferente hoje. Uma web onde cada aplicação é baseada em texto, eficiente e direta, sem as distrações e complicações das interfaces gráficas atuais.

4

Já positivei no 1o. parágrafo :)

Eu admito que até uso algumas coisas web, mesmo quando tem "nativo". Mas só porque o nativo é tão ruim que não vale a pena. A desgraça é que é muito comum.

Positivei de novo pelo 2o. parágrafo.

Ah, vai pelo terceiro também, por citar o Maemo.

Não posso mais.

3

Legal, maniero! Seu feedback e apoio confirmam que não estou apenas delirando como um velho lunático. Realmente, não tenho propriedade para falar sobre o que aconteceu antes de 2010, mas tenho uma boa ideia do que ocorreu depois disto.

A ascensão dos dispositivos móveis mudou completamente o jogo. Além disso, a luta silenciosa do Google contra a Apple e Microsoft consolidou a Web como a plataforma de aplicação padrão para dekstops/laptops/netbooks/tablets/smartphones/embarcados.

Sabe, talvez um dia eu me sente para escrever "A História Contada do Desenvolvimento Web", junto ao 'Guia Não Contado do Desenvolvimento Web'. Seria uma oportunidade interessante para juntar as peças e oferecer uma visão completa sobre essa jornada que tem moldado o nosso mundo.

Gostaria de começar bem do início, com os primórdios, quando estilos eram integrados diretamente no HTML e tabelas eram usadapas para formatação visual. Mergulhariamos na implementação de um servidor HTTP básico em C, seguindo o padrão original HTTP 1.1. E depois exploriamos os mecanismos de renderização de HTML/CSS e de execução do JavaScript. Somente depois disso cobriria as últimas bizarrices como microserviços e aplicações nativas Electron. A popularidade dessas soluções apesar de todos seus probelmas, merece ser estudada. A filosofia do Unix: "Write programs that do one thing well" e "Write programs that work together well", parece ser todo o hype por trás dos 'microserviços', não é mesmo?

O objetivo é iluminar as origens de todas essas bobagens, para enfim aprender a fazer do jeito certo. É sempre bom ouvir que não estamos sozinhos em nossas impressões e experiências. Valeu pelo apoio, e quem sabe em breve não teremos esse livro nas prateleiras, hein?

A verdadeira questão que permanece é: agora que temos uma web que é consistente e robusta em todos estes dispositivos, e um exército de mão de obra qualificada e acessível, por que haveríamos de usar qualquer outra coisa? Parece que a web se firmou como a escolha óbvia, e o desafio agora é entender como podemos continuar a aprimorá-la e adaptá-la para as necessidades futuras, o wasm parece o caminho óbvio, veremos.

2

Não, tem uns 3 ou 4 velhos lunáticos que pensam o mesmo :D

Eu não colocaria microsserviços nessa :D É algo extremamente problemático que só vale a pena em casos muito específicos, e as pessoas só não percebem tanto porque a maioria nem faz, só fala que faz, pra ver o nível, fazer errado é mais fácil.

De fato não acho que vamos usar algo novo tão fácil. Menos ainda acho que vamos voltar o que era bom e só precisava de uns cortinhos. Mas não posso deixar de contar isso para as pessoas.

Vou falar algo polêmico, mas posso por ser independente. Web é como o capitalismo, enquanto o nativo é o socialismo. O socialismo é claramente melhor. O capitalismo é o que todo mundo quer, por isso não ter como ir contra. Claro que no caso só o socialismo é mais complicado porque todos tem que querer do jeito certo. Se um falhar, começa desmoronar, por isso não vai acontecer, e se acontecer errado será muito pior. Por isso vamos ficar com a web.

Eu ainda acho que toda vez que fizermos algo para melhorá-la, e vai acontecer assim, estamos gastando tempo que poderíamos melhorar o que já existia e era melhor, até que todo mundo se convença que web não faz sentido para aplicações. Mas novamente, não vai acontecer. A não ser que eu, você e mais uma meia dúzia ganhemos um concurso que Google, Microsoft, Apple, e outras passem para nosso controle, mesmo que por algum tempo, até entregar o que precisa e forçar as pessoas verem que dá para fazer melhor. Fora isso não vamos influenciar em nada em qualquer lugar, mesmo na web, não conseguimos nem melhorar o wasm.

Estava discutindo a pouco com amigos, o Wasm só é bom porque ele conserta várias coisas da web. Mas não tudo porque o W3C não quer. E agora querem usá-lo como se fosse uma JVM, o que não faz sentido, e já está provado que não, mas as pessoas vão se meter de novo nisso. Temos que consertar as pessoas.

2

A conversa de voces dois foi um baile de história e experiencia, sempre muito bom ver a história sendo contada por aqueles que trabalharam e experienciaram toda a evolução da internet e da área de TI, nesse caso, da web até os dias de hoje

3

Claro que viram que precisava permitir pelo menos o que os editores de texto permitiam, então tinha que permitir que o texto tivesse cor, fonte, alinhamento, etc. E tudo isso e muito mais foram colocados no HTML.

<center><font color="blue" size="3" face="sans-serif"><u>Texto com comandos para estilizar o HTML.</u> Esse é um exemplo bem simples, agora imagina estilizar todos os textos dessa forma...</font></center>

Obrigado CSS!

0
2

A piada é boa, podiam ter até desenvolvido melhor. Por isso nem vou dizer que o Reddit é sinal vermelho. Tem umas datas erradas, mas pra piada tá bom.

Não sou fã pra dizer que é relevante, mas é final de ano, o bom velhilho vai te dar um presentinho.


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).

2
2
1
2

Sabe qual é o "framework" que eu utilizo há mais de 15 anos? MDN Web Docs.
HTML, CSS e Javascript puros. É perfeito? Nada é. Mas eu asseguro uma coisa: o que está descrito lá funciona estavelmente por anos e anos, e a curva de aprendizado é absurdamentemente menos íngreme. O tempo que eu investi apenas nessas tecnologias é uma fração do que eu teria que investir nesse monte de framework.
Essa foi uma escolha de carreira minha, sem querer doutrinar ninguém. Estou satisfeito com minha escolha.

1

Eu tenho uma visão muito parecida com a sua. Decidi me aprofundar e ficar bom naquilo que realmente importa, HTML, CSS e JavaScript. Claro, aprender o mínimo sobre alguns frameworks não faz mal. Mas sei lá, com essa maré de tecnologias é quase impossível aprender e se aprofundar em cada coisa. Tem hora que você pensa que vai resolver um problema com determinado framework ou biblioteca, e na verdade você só acaba se complicando. Não largo a simplicidade por nada. Recentemente, fiz um post aqui no TabNews falando sobre uma ideia maluca de projeto que eu tive, usando o mínimo de recursos/tecnologias/custos possíveis, se você quiser dar uma lida: clica aqui

2

Na minha opinião, o que fodeu com o front-end foi:

  1. Javascript dinâmico o suficiente para ser reescrito e redefinido.
  2. Javascript ser porcamente definido lá no começo.
  3. As linguagens web abertas serem definidas por comitês.

Comitês são que nem reunião de condomínio: todo mundo dá palpite, e todo mundo sai puto com as decisões tomadas. Aí todo trimestre alguém decide mudar o mundo com alguma ideia genial, e decide vender essa ideia para concorrer com todas as vinte que já existem. A comunidade se divide e o buraco que é cavado se torna cada vez mais fundo.

1