Mint’s key features
What separates Mint from other languages? A few of its notable features include:
- Use CSS to style elements using
- Contain and manage data with a globally accessible
- You can add a third party CSS library to a Mint app with just a few lines of code and then use the library in your Mint project.
- Includes embedded features of the JS stack such as React, Redux, Prettier, npm, Jest, and Enzyme.
- Functions are called
function. (View the language creator’s reasoning for this choice.)
- Instead of using a library, routing is a built-in language feature. Define routes in a
Test it out with the in-browser sandbox mode, create your own, or browse other users’ sandboxes.
Installing Mint requires a single binary file:
mint. (You can also run the Mint dev environment with a Docker container.) Since it is written in Crystal, you will need to install the Crystal programming language if you wish to install from source.
Alternatives and advantages
User discussions about the language on Reddit and Hacker News revealed some alternatives, including using TypeScript with React or a pre-configured TypeScript-Vue stack. In response to some questions about its potential advantages, the author of Mint wrote on Hacker News:
Author of the language here, I think it is a major advantage for several reasons:
- – the documentation is in one place instead of several places
- – the dependencies of a Mint project is usually a few megabytes since everything is included instead of hundreds of megabytes (I have a production app that does not have any dependencies at all)
- – only need to learn one (compact) thing, instead of many complex things (complex since there is no compiler to make it simple)
- – only need to update the code once there is a new version of the language not every time there is a new version of a dependency
- On top of the libraries mentioned the language also includes a formatter, package manager, builder/dev server and testing environment, also for which you would need to add dependencies.
All of these add up to less cognitive load so I can focus on building the product instead of managing the development environment.