Hda Starter Kit

screenshot of Hda Starter Kit
vue
scss
tailwind
alpinejs

A solid platform for front-end development with Laravel Mix, htmx, Tailwind CSS and Alpine.js

Overview

The Hypermedia Driven Application starter kit is a solid platform for front-end development, following the Hypermedia Driven Application (HDA) architecture and the Locality of Behaviour (LoB) principle. It allows developers to create highly interactive, SPA-like web apps without the overhead. The kit includes a working demo with full page transitions and example components using Alpine.js, Vue 3, and vanilla JS.

Features

  • Laravel Mix 6 / Webpack 5 / PostCSS 8 - provides a robust ES6 development environment with script and style injection (HMR, file watching)
  • htmx for HTML-over-the-wire
  • Tailwind CSS for utility-first CSS
  • Alpine.js + Async Alpine for composing behaviour directly in markup, with support for asynchronous on-demand components
  • Vue.js (v3) for complex reactive applications using SFCs
  • Minimalistic JavaScript framework for vanilla JS components
  • Lazyloading of components as they enter the DOM, with loading strategies including visible, idle, and media
  • Framework-agnostic - compatible with vanilla JS, Vue, jQuery, GSAP, Alpine.js, or any other framework
  • SASS auto compiling, prefixing, minifying, and sourcemaps
  • CSS Autoprefixer, PostCSS Preset Env for older browsers
  • Polyfills for older browsers (Core-Js 3)
  • SVG icon sprites
  • Image optimization
  • Static files management (fonts, images, etc.)
  • Eslint for JavaScript linting
  • Stylelint for CSS linting

Summary

The Hypermedia Driven Application starter kit is a powerful platform for front-end development, providing developers with a set of robust tools and technologies. It follows the HDA architecture and LoB principle, allowing for the creation of highly interactive web apps without the overhead. With its support for various frameworks and its flexible component system, developers can find a balance between Locality of Behaviour and Separation of Concerns. Overall, the kit offers a comprehensive solution for modern front-end development.

vue
Vue

Vue.js is a lightweight and flexible JavaScript framework that allows developers to easily build dynamic and reactive user interfaces. Its intuitive syntax, modular architecture, and focus on performance make it a popular choice for modern web development.

scss
SCSS

SCSS is a preprocessor scripting language that extends the capabilities of CSS by adding features such as variables, nesting, and mixins. It allows developers to write more efficient and maintainable CSS code, and helps to streamline the development process by reducing repetition and increasing reusability.

tailwind
Tailwind

Tailwind CSS is a utility-first CSS framework that provides pre-defined classes for building responsive and customizable user interfaces.

alpinejs
Alpine.js

Alpine.js is a lightweight JavaScript framework that simplifies the process of creating dynamic, reactive user interfaces on the web. It uses a declarative syntax that offers a higher level of abstraction compared to vanilla JavaScript, while being more performant and easier to use than jQuery.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

postcss
Postcss

PostCSS is a popular open-source tool that enables web developers to transform CSS styles with JavaScript plugins. It allows for efficient processing of CSS styles, from applying vendor prefixes to improving browser compatibility, ultimately resulting in cleaner, faster, and more maintainable code.

Stylelint

Stylelint is a modern linter for CSS that helps you avoid errors and enforce consistent styling conventions. It provides rules for detecting errors and warnings, and can be configured to match your specific project's requirements.