Overview
Polaris is a front-end web framework for creating responsive UI components, with a focus on simplicity.
Polaris framework is divided in two parts: Core, and Plugins.
Polaris Core consists of generic components that almost every web application needs.
Polaris Plugins consists of extra features and specific components for specific web apps.
Note! This documentation only covers Polaris Core, and each Plugin have its own docs.
Why Polaris
It's been more than a decade I've used dozens of front-end web frameworks, and have made many UI components and templates for my projects.
I believe, each one of these frameworks has its cons and pros, and I have zero interest in comparing them.
However, as an experienced UI developer, I faced many difficulties working with the current front-end web frameworks.
Hence, I decided to create a new front-end web framework with features that I always wanted, and I love to share it with everyone.
I hope it will be as useful for you!
Here are some of the key features of Polaris Framework:
-
Naming System: Polaris uses a simple but robust naming system that makes it easier to remember and work with, as well as avoid name conflicts with other open-source libraries.
This alone freed me from many hardships, especially when a new version was released and I had to do a lot of work to migrate to the new version, which was a horrible experience.
-
Vanilla JS: Polaris uses compiled Vanilla JS, which refers to use pure JavaScript and avoid using JavaScript frameworks. (Read More)
There are many frameworks which use JavaScript libraries such as jQuery. I admit this makes it easier to work with JavaScript, but at what cost?
It can make web apps slow and buggy, and there will be a higher chance for conflicting between different libraries.
Use Polaris framework along any other libraries with confidence, and enjoy the full speed of codes compiled into pure JavaScript.
-
Customization: Polaris framework is 100% customizable. You can customize both CSS library - via Sass - and JavaScript library - via TypeScript.
Sass: Polaris uses Sass to easily write and extend and maintain well-structured and customizable code for developing the CSS library (polaris.css
).
TypeScript: Most of Polaris components and classes work properly without using JavaScript.
But there are some features and components use JavaScript also. These components use polaris.js
.
An open-source JavaScript library which is written in TypeScript, and compiled to pure JavaScript.
-
Bundling: Polaris uses Webpack to compilation and minifying and bundling the CSS and JS libraries. You can simply customize and recompile Polaris with a few simple built-in CLI commands, created for you.
-
Don't Repeat Yourself: With Polaris you can create maintainable DRY codes easily.
Polaris uses a blending of Node.js, Webpack, Sass, TypeScript, and some other packages to create unique and clean codes.
Using Polaris, you don't need to do it yourself which needs a high level of experience.
You can simply use predefined Polaris CLI commands.
It bundles and minifies your code and deletes repetitive codes.
-
RTL Support: Polaris has a native support for RTL languages, including all components.
For this, you can simply use
polaris-rtl.css
.
-
Dark & Light: All components in Polaris support dark & light, which can be easily modified.
It can also follow up the browser's default pattern for dark & light automatically.
-
Polaris Plugins: The main focus of Polaris is on simplicity.
Hence the Polaris Core won't be overflowed with unnecessary features.
It only comes with necessary features and components.
However, for a real-world project you may need more features and components.
You can use Polaris Plugins alongside Polaris Core to get more features and components.
There will be a wide range of Plugins that you can use for free.
Lacking compatible plugins for most of current frameworks, was one of the main reasons for creating this framework.
As a developer I fully understand the hardship of adjusting different libraries and plugins from different developers.
All Polaris Plugins are compatible together, and are created with the same standards and tools.