Na ReactiveConf 2019 em Praga, Richard Feldman aproveitou seus 12 anos de experiência profissional em desenvolvimento web e o fato de ser um dos primeiros a adotar tecnologias como React em 2013 e Elm em 2014, para fazer e justificar algumas previsões concretas sobre o futuro da web em 2020 e 2025.
Feldman começou afirmando que prever a evolução das tecnologias atuais é uma aposta mais segura do que seguir cegamente a manada. Isso serviu de base para as previsões concretas sobre como será o futuro do desenvolvimento web, o qual examinou através de quatro lentes específicas: TypeScript, WebAssembly, Packages e transpiladores de JavaScript.
Atualmente, o TypeScript está sendo bastante impulsionado, com os principais frameworks frontend com suporte em alto nível já em funcionamento ou sendo desenvolvida. No entanto, nem todo mundo está utilizando-o. Os oponentes do TypeScript reclamam da sua verbosidade e de como isso afeta a legibilidade do código-fonte. Feldman deu o seguinte exemplo de um tipo complicado:
ComponentClass <
Pick < RouteComponentProps < any, StaticContext, any >, never >,
any > &
WithRouterStatics <
(props:PropsWithChildren <
RouteComponentProps < any, StaticContext, any >>
) => Element
>
Feldman brincou que os programadores Java são zoados pois alguns programadores costumavam usar padrões de nomes longos, como AbstractSingletonFactoryProxyBean
, e que TypeScript deveria ser chamado de EnterpriseJavaScript.
Feldman continuou explicando que, embora ofereça algum grau de segurança através da tipificação, o sistema de tipos do TypeScript não é robusto e pode fornecer uma falsa sensação de segurança em alguns casos.
No entanto, o principal fator relevante para Feldman é que não ouviu nenhuma equipe que experimentou o TypeScript e desistiu de utilizá-lo, apesar das desvantagens da tecnologia. Feldman previu que, em 2020, o TypeScript será a escolha mais comum para projetos comerciais em JavaScript e, até 2025, haverá mais pessoas codando em TypeScript do que com o JavaScript comum.
O WebAssembly pode ser usado para melhorar o desempenho de aplicações e bibliotecas JavaScript. Feldman, no entanto, não acredita que o desempenho aprimorado em relação ao JavaScript direcione o futuro do WebAssembly. O desempenho do JavaScript é aceito como satisfatório na maioria dos casos, indicando que não se espera que uma pequena melhoria na velocidade seja uma mudança gritante para o WebAssembly. Feldman acredita que a ferramenta permitirá que os browsers concorram com o Google Play e a App Store, além dos instaladores de aplicativos. Feldman citou o exemplo do Figma, que descreveu como uma aplicação C++ web distribuída. A web como uma plataforma de entrega apresenta uma experiência mais simples para o usuário (sem instalação) e oferece deep linking (links para uma página interna específica dentro do site) e outros recursos de compartilhamento.
Embora as aplicações nativas tendam a ser grandes, Feldman argumentou que, apesar de toda essa conversa sobre crise e grandes payloads, os pacotes grandes são amplamente tolerados, especialmente para aplicações sofisticadas e não web, como o Photoshop. Rust, C++ ou Go não substituirão o JavaScript. Feldman previu que o WebAssembly aumentará o marketshare do WebApp, adicionando a isso através da implementação de "aplicações nativas pesadas", como jogos. Em 2025, o wasm (abreviação de WebAssembly) deverá criar um novo nicho de aplicativos web pesados.
No que diz respeito ao gerenciamento de pacotes, Feldman previu que o npm deve continuar a ser relevante, apesar dos problemas financeiros atuais, porque se beneficia dos fortes efeitos da rede. No entanto, Feldman previu que até o final de 2020, haverá um novo problema de segurança no npm e, até o final de 2025, pelo menos um pacote malicioso do npm terá infectado as máquinas de muitos desenvolvedores.
Feldman citou ClojureScript, ReasonML e Elm como interessantes linguagens que transpilam para o JavaScript. Depois de expandir os benefícios reivindicados pelo Elm, Feldman previu que as alternativas de JavaScript permanecerão em um nicho específico, mas envelhecerão bastante, no sentido de que as empresas que apostaram nessas tecnologias continuarão a mantê-las. Até o final de 2020, as linguagens de transpilação para JavaScript irão crescer, mas nenhuma tão rápido quanto o TypeScript. Até o final de 2025, os dialetos que não forem JavaScript ficarão ultrapassados, embora o TypeScript seja bastante popular.
O ReactiveConf é uma conferência anual voltada para desenvolvedores, com palestras abordando as mais recentes tecnologias e tendências no desenvolvimento de software. O ReactiveConf 2019 ocorreu de 30 de outubro a 1 de novembro de 2019 e está na quinta edição.