Segundo muitos desenvolvedores de front-end, a web está cada vez melhor a cada ano. E isso é bom. A má notícia é que simplesmente não podemos viver em boas condições com esse ritmo de melhoria. Que o fundo do qual subimos é tão profundo que nem chega a ele. No entanto, muito foi escrito sobre o quão ruim está tudo no pacote HTML-CSS-JS. Portanto, hoje vamos dispensar lamentações lamentáveis e sonhar com o que pode ser feito e por que será feito.
Começo certo
Ao criar uma página da Web, componente ou escrever uma API, você de alguma forma se depara com as soluções estabelecidas há 25 anos. O que parecia lógico e correto nos dias da criação dos primeiros navegadores gráficos ainda nos incomoda todos os dias. É improvável que o criador do Javascript tenha em mente o conceito de criar algo semelhante aos aplicativos da web modernos. Atualmente, não havia dispositivos móveis que criam a maior parte do tráfego da Internet. O CSS era visto como uma maneira de estilizar um documento, e não como uma linguagem completa para criar apresentações. Etc.
E ano após ano, à medida que o mundo à nossa volta mudava, a web tentou se adaptar. As mudanças se sobrepunham, mas os recursos antigos não desapareciam em lugar algum. E eles determinaram como novos recursos serão adicionados, pré-determinando o raio de curvatura do último. Isso levou a enormes especificações, ao monopolismo real de um mecanismo no mercado de navegadores, a técnicas de programação e montagem bastante inteligentes. E para os programadores, tudo isso se traduz em uma memorização interminável de novas muletas, porque a web agora é total e completamente determinada por uma camada de especificações, e não pelo senso comum ou pela arquitetura pensada.
Além disso, essas especificações são escritas na esperança de agradar a todos e, como resultado, são completamente inadequadas para qualquer pessoa. Pior ainda, eles introduzem uma API de alto nível que nem sempre pode ser ignorada para resolver o problema. Portanto, no nível conceitual, estamos limitados pelo DOM, pela abordagem de segurança disponível e pelos protocolos de transferência de dados usados.
Mais de uma web
Desde o início, devemos admitir que a web como uma única plataforma não existe hoje. Existem diferentes classes de aplicativos, sites, chame como quiser, por exemplo:
- sites de texto como blogs e wikipedia
- Aplicativos de CRM / ERP
- aplicações multimídia
- jogos
- aplicações de comunicação
- SHKAR vendendo desembarques
- redes sociais
- API. . CSS, . 90% . API . CRM/ERP , , , . ..
, API, . . - , Java, , . , . — , .
API . , . CDN (Press Ctrl+f5 to fix). ( ) . , , . , , .
, DOM, ? ? , ? CSS ? - ?
— ? , JVM? legacy , — .
«»
, «». - . ( ) , . - , . . . , , . IE6, .
, , , . . - . - . , . , , , , , . , . , .
. . DOM, V8 ( - JS ).
. Google -, , . , , , . . , .
App Browser, , . «» , -, . , - . , . - .
. , . , by design.
? . , Delphi/QT/WPF/WinForms .. , - GUI . . , — , 10 .
, , . — . - . - , .
, 15 . , , , . .
, . 10, , App Browser 100% . , , () . , . .
. , .
?
- , . - CMS, -, - , -. . , . , , - . , . -. , , .
-, , . , , . ? , -? , 4- - ? JS? Firefox Chromium-based .
. . . . , accessability . , , . . , -.
« ». , 100% . . DOM , . -. , , ? , , , .