So, what is this?
SassScript is a set of extensions that can be included in the Sass documents to compute variables from property values and uses properties of variables, arithmetic, and other functions. That gives us the ability to organize a code into functions, perform conditional operations, and many more. Actually, these two abilities are enough to build a whole program.
So, let’s start.
Typical parser implementations theory defines using a character reader, which is used by a lexer that produces tokens, and the last one is the parser itself which creates the AST.

React Native is an app development framework created by Meta
We will build a less capable compiler because Sass has some limitations. Sass cannot work with a filesystem in any way. Because of that, we cannot store custom syntax in separate files. So we should write it inside Sass files. Also, it is inconvenient to process a character's stream because Sass does not provide the most valuable methods for working with strings (and it does not have streams at all). The same goes for the lexer. But we can simulate the latter if we assume that all keywords are already tokens. Sass has a list structure where a space can be a separator between items. And there is a sass:list module that provides some functions to work with lists. We are going to use that ability to simulate the lexer skipping the character sequence stream at all. All the code we are going to write as an argument to a value function. And despite the length of the words, it will still be the list!
value(sequence of the tokens);Let me describe the idea.
We plan to create a simple responsive grid system. For that, we will assume that there is a table with 64 columns (there may be more or less, it depends) which covers a whole page. Each cell of the table is a square figure. It gives us responsiveness because, on mobile phones, cells will have a smaller size than on laptops. Based on that, we receive a dynamic value (one side of the cell) that we use to express all dimensions in our grid.
You may want to use rem or vw for that purpose. And that’s okay. It’s up to you how to define a unit value. With that, we’ll be able to say, for example, that “this block should have a width of 5 columns“, and blocks will resize according to unit value changes.
Okay, let’s jump into the code now.
The simplest thing is to calculate the unit value. We know that the grid will have 64 columns. So, the width of one cell can be defined like this:
@use 'sass:math';
:root {
-—unit: math.div(100vw, 64);
}Later, I won’t write imports of standard Sass’s modules for brevity. Assume that they are present already.
Vlad Malakeev, Developer
| Flutter | React native | |
|---|---|---|
| Programming Language | Dart is harder to learn, and few developers are well versed in it. | More developers prefer JavaScript due to its simplicity, and a much larger community is backing it up. |
| Architecture | Skia and the Dart language VM are used in a platform-specific shell in Flutter. The code is elegant and fast. | JavaScript is necessary for integration. In comparison to Dart, app design is slower with React Native. |
What Popular Apps Are Made With React Native?
The capabilities of React native make it a top choice for many companies. Here is a list of some of the most prominent applications built with React Native:
- Facebook Ads Manager
- Bloomberg
- Discord
- Wix
What Popular Apps Are Made With Flutter?
| іва | ||||
Flutter’s unique and feature-rich SDK has been used to build many modern applications, including:
- Google Ads
- KlasterMe
- Lunching
- Xianyu by Alibaba
- Pairing
- Hamilton
- Cryptograph
const store = (target) => {
const observers = [];
return new Proxy(target, {
set: (target, property, value) => {
target[property] = value;
observers
.filter(({ key }) => key === property)
.forEach(({ observer }) => observer(value));
return true;
},
});
};😀🦋







