What's in The Boring JavaScript Stack? ​
Alright, let's peel back the layers and take a look at what makes up The Boring JavaScript Stack.
Vue, React, or Svelte ​
Whether you prefer the simplicity of Vue, the flexibility of React, or the efficiency of Svelte, The Boring JavaScript Stack accommodates your choice. With The Boring JavaScript Stack, the UI of your app are simply the components of your chosen UI framework.
So if you enjoy writing React's JSX, you'd love The Boring JavaScript Stack as that's the only thing you have to know from React - writing components. Same thing with Vue and Svelte.
Tailwind CSS ​
Tailwind CSS, the utility-first CSS framework makes styling feels like cheating. It serves as the styling backbone of this stack.
Since The Boring JavaScript Stack is about being pragmatic, what's better than Tailwind CSS in practicality, efficiency, and ensuring your styles are predictable and easy to manage?
Inertia ​
Inertia allows you to build modern single-page apps without the need for a full-blown API. It keeps things simple and straightforward, emphasizing stability in your UI(frontend) development.
Sails ​
At the core of this stack is Sails, a web framework that's been around the block and has proven itself. It's not trying to reinvent the wheel; instead, it focuses on providing a solid foundation for building scalable and maintainable web applications.
Because we’re using Sails as the web framework, we can leverage a lot of its features including:
- Authentication: Sails has a robust support for session-based authentication.
- Sails Wish: Easily setup OAuth flows with providers like GitHub or Google in your Sails applications.
- Authorization: Sails has policies which are versatile tools for authorization and access control: they let you execute some logic before an action is run in order to determine whether or not to continue processing the request.
- Waterline ORM: Sails comes installed with a powerful ORM/ODM called Waterline, a datastore-agnostic tool that dramatically simplifies interaction with one or more databases.
- WebSocket support: Sails apps are capable of full-duplex, realtime communication between the client and server.
- File uploads: Skipper makes it easy to implement streaming file uploads to disk, Amazon S3, Cloudflare R2, DigitalOcean Spaces or any supported file upload adapters.
- Shell scripts: Sails lets you run JavaScript functions as shell scripts. This can be useful for running scheduled jobs (cron, Heroku scheduler), worker processes, and any other custom, one-off scripts that need access to your Sails app's models, configuration, and helpers.
- Sails Mail: Sails Mail provides an amazing and elegant API for sending emails.