Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

Challenges of the modern web

Challenges of the modern web

Currently, creating web applications has become easier and more practical, but at the same time, it has been overtaken by an increasing complexity of tools and requirements. With more modern devices and the higher user expectations, it has become crucial that pages offer speed, accessibility, and responsiveness. In this presentation, I explore how each tool emerged to solve specific challenges and the new problems they introduced into the process.

Avatar for Rodrigo Boniatti

Rodrigo Boniatti

November 26, 2025
Tweet

More Decks by Rodrigo Boniatti

Other Decks in Technology

Transcript

  1. Early days • Lack of standards for tools and systems

    • Isolated data • Information was challenging to share
  2. "I have absolutely no idea how to write a programming

    language. I just kept adding the next logical step on the way.” Rasmus Lerdorf
  3. Internet Explorer • Pre-installed on Windows • Di ff i

    cult to uninstall • Access to proprietary software
  4. United States v. Microsoft Corp. • Break up the company

    • Release the APIs to all apps • PC manufacturers could add any apps they wanted • Make default browser change easier
  5. United States v. Microsoft Corp. • Netscape becomes open source

    • New browsers join the market • Mozilla (Mosaic + Godzilla) • IE keeps dominating the market for more than 10 years
  6. How JavaScript was perceived at the time • Uncommon syntax

    • Lack of more advanced functionalities • No video and audio support • No graphics and animations • Browsers inconsistency
  7. New web technologies arrive • HTML5 • CSS3 • ES5

    (ECMAScript 2009) • V8 JavaScript Engine • iOS
  8. "Flash was created during the PC era – for PCs

    and mice. Flash is a successful business for Adobe, and we can understand why they want to push it beyond PCs. But the mobile era is about low power devices, touch interfaces and open web standards – all areas where Flash falls short." Steve Jobs
  9. Challenges • Each browser implemented a di ff erent JS

    version • Low-end devices • Limited internet connection
  10. class User constructor: (@name, @role) -> isAdmin: -> @role is

    'admin' greet: -> console.log "Hi, I'm #{ @name}"
  11. var User; User = (function() { function User(name, role) {

    this.name = name; this.role = role; } User.prototype.isAdmin = function() { return this.role === 'admin'; }; User.prototype.greet = function() { return console.log("Hi, I'm " + this.name); }; return User; })();
  12. // Input (modern syntax/ES6) const greet = (name = 'world')

    => `Hello, ${name}!`; // Output (ES5-friendly) "use strict"; var greet = function(name) { if (name === void 0) { name = "world"; } return "Hello, " + name + "!"; };
  13. var button = document.getElementById('btn'); if (button.addEventListener) { // Standard browsers

    button.addEventListener('click', function() { console.log('Clicked:', this.id); // 'btn' }); } else if (button.attachEvent) { // Internet Explorer button.attachEvent('onclick', function() { console.log('Clicked:', this.id); // undefined! (this = window) }); }
  14. // Output (ES5-friendly) minified "use strict";var greet=function(name){if(name === void 0)

    {name="world";}return"Hello,"+name+"!";}; // Output (ES5-friendly) "use strict"; var greet = function(name) { if (name === void 0) { name = "world"; } return "Hello, " + name + "!"; };
  15. // Output (ES5-friendly) minified and mangled "use strict";var greet=function(r){return"Hello,"+ (r=void

    0 === r?"world":r)+"!"}; // Output (ES5-friendly) minified "use strict";var greet=function(name){if(name === void 0) {name="world";}return"Hello,"+name+"!";};
  16. SSR Bene fi ts • Faster FCP (First Contentful Paint)

    • Better SEO • Sharing support (Open Graph, Twitter Cards) • Consistent rendering in environments with limited JS