BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Predicting the Future of the Web: Richard Feldman at ReactiveConf 2019

Predicting the Future of the Web: Richard Feldman at ReactiveConf 2019

Leia em Português

This item in japanese

At ReactiveConf 2019 in Prague, Richard Feldman drew on his 12 years of professional Web development experience and history of being an early adopter of technologies like React in 2013 and Elm in 2014 in order to make concrete predictions about the future of the Web in both 2020 and 2025.

Feldman started by positing that predicting the evolution of current technologies is a safer bet than blindly following the pack. This formed the base for his concrete predictions for what may be the future of web development, which he examined through four specific lenses: TypeScript, WebAssembly, Packages, and Compile-to-JS languages.

TypeScript is currently getting a lot of traction, with the key front-end frameworks either having first-class support or working to add it. However, not everybody is getting on board. TypeScript opponents complain about its verbosity, and how that impacts source code readability. Feldman gave the following example of a convoluted type:

ComponentClass <  
  Pick < RouteComponentProps < any, StaticContext, any >, never >,  
  any > &  
WithRouterStatics <  
  (props:PropsWithChildren <   
     RouteComponentProps < any, StaticContext, any >>  
   ) => Element  
>

Feldman joked that Java programmers may gleefully quip that some programmers used to make fun at them with long naming patterns such as AbstractSingletonFactoryProxyBean, and that TypeScript may best be named EnterpriseJavaScript.

Feldman continued by explaining that, while providing some degree of type safety, the TypeScript type system is by design unsound and may provide a false sense of security in some instances.

However, the key relevant factor for Feldman is that he has heard from no team that tried TypeScript and then gave up using it, in spite of the technology’s drawbacks. Feldman thus predicted that by 2020, TypeScript will be the most common choice for new commercial JavaScript projects, and by 2025, there will be more people writing TypeScript daily than plain JavaScript.

WebAssembly may be used to improve the performance of JavaScript applications and libraries. Feldman however does not believe that improved performance versus that of JavaScript will drive the future of WebAssembly. JavaScript performance is generally accepted as being satisfactory in most cases, indicating that marginal improvement in speed is not expected to be a game changer for WebAssembly. Rather, Feldman thinks that WebAssembly will allow browsers to compete with app stores and installers. Feldman quoted the example of Figma which he described as a web-distributed C++ application. The web as a delivery platform presents a simpler user experience (no installation), and offers deep linking and other sharing capabilities.

Even though native applications tend to have large sizes, Feldman contended that in spite of all the talk around the bloat crisis and large payloads, large bundles are widely tolerated, specially for non-web, large, sophisticated applications, such as Photoshop. Rust, C++ or Go are not going to replace JavaScript. Feldman predicted that WebAssembly will grow the WebApp pie by adding to this via the implementation of "heavy native applications", like games. By 2025, wasm should have created a new niche of heavyweight webapps.

In regards to package management, Feldman predicted that npm should continue to remain relevant, in spite of its current financial problems, because it benefits from strong network effects. However, Feldman foresaw that by the end of 2020, there will be one new npm security incident making headlines, and by the end of 2025 at least one malicious npm package will have infected many developers’ machines.

Feldman quoted ClojureScript, ReasonML, and Elm as compile-to-JS languages of interest. After expanding on the benefits claimed by Elm, Feldman predicted that JavaScript alternatives will stay niche, but age well, in the sense that the companies that will have placed a bet on these technologies will continue to do so. By the end of 2020, compile-to-JS languages will still be growing, but none as fast as TypeScript. By the end of 2025, non-JavaScript dialects will have aged well, although TypeScript is more popular.

ReactiveConf is a yearly conference targeted at developers with talks addressing the latest technologies and trends in software development. ReactiveConf 2019 took place Oct. 30 - Nov. 1, 2019, and is the fifth installment of the event.

Rate this Article

Adoption
Style

BT