Benjamin Crozat "What if you cut code review time & bugs in half, instantly?" Start free for 14 days→

4 minutes read

Build with JavaScript: frameworks, runtimes, and tips

A brief history of JavaScript

JavaScript was created in 1995 by Brendan Eich at Netscape and standardized as ECMAScript in 1997. The 2000s popularized Ajax and libraries such as jQuery, which raised expectations for responsive and dynamic interfaces.

A turning point came with ECMAScript 2015, which delivered modules, classes, promises, and a predictable annual release cadence. On the runtime side, high performance engines and Node.js brought JavaScript to the server, while modern tools and patterns simplified packaging and deployment.

Today I see JavaScript as the connective tissue of the web. Lightweight progressive enhancement sits alongside component frameworks, and modern runtimes like Node.js, Deno, and Bun make it practical to share code across the client and the server.

What I build with JavaScript

  • I build interactive user interfaces by manipulating the DOM and composing components.
  • I handle keyboard, pointer, and custom events, then validate forms and manage focus for accessibility.
  • I fetch, cache, and sync data with the Fetch API, Web Storage, IndexedDB, and service workers for offline resilience.
  • I ship single page and multi page applications using client rendering, server rendering, static generation, and selective hydration strategies.
  • I progressively enhance server rendered apps such as Laravel with small, declarative behaviors when JavaScript is available.
  • I build APIs, background jobs, and command line tools on the server with Node.js or Bun.
  • I automate builds, run tests, and manage dependencies with package managers and modern bundlers.
  • I share code across the stack using ES modules and common utilities, keeping types close when projects use TypeScript.
  • I deliver real time features with WebSockets and server sent events, and integrate streaming where it improves UX.
  • I integrate third party APIs, schedule tasks, and wire up cloud services to move data between systems.

Good reads about JavaScript

Start with quick wins that build confidence. A practical place to begin is a five minute jQuery warm up, then keep MDN’s JavaScript guide open as your language reference while you practice.

Once the basics click, get comfortable with the browser’s event model. You can make it tangible by handling click events with jQuery’s .on and deepen the mental model with MDN’s introduction to DOM events.

Next, learn the page lifecycle and iteration patterns you will use every day. Review how to write code that runs at the right time by safely using jQuery’s document ready, then practice collections by iterating with jQuery’s .each.

When you want progressive enhancement that reads like HTML, start with a concise Alpine.js primer and keep the Alpine.js official docs nearby as you add behaviors.

If your project is server rendered, you can integrate small declarative components without a full build step by adding Alpine.js to a Laravel codebase.

When a project needs a richer component model or server side rendering, move to Vue. Begin by wiring up Vue in an existing Laravel project and expand your knowledge with Vue’s official guide.

Strong fundamentals in package management save hours later. Clarify the difference between repeatable installs and day to day development by reading when to use npm ci versus npm install, and then consult the npm ci command reference when you want the exact semantics.

If your terminal keeps printing funding prompts, reduce noise so you can focus by silencing the npm funding prompt.

For a faster developer experience, consider Bun as a drop in package manager. Start by understanding why Bun feels faster than npm, Yarn, and pnpm and refer to Bun’s package manager documentation for the CLI and configuration details.

Once it clicks, try it in real projects by using Bun as the package manager in a Laravel app or by using Bun in a plain PHP project.

As your projects grow, you will likely run JavaScript on the server. Ground your knowledge with Node.js getting started to connect modules, the event loop, and runtime APIs you will use in production.

With these resources, you can move from fundamentals to production workflows at a steady pace. The path starts small, introduces concepts in context, and scales toward frameworks, tooling, and servers without losing focus on the core language.

All articles about JavaScript

Search for posts and links

Try to type something…