You should look into NW.js for your next project.
I've been using it for about 2 years and love it.
Some quick benefits over Electron:
I've made about 2 dozen apps with it. Both large scale ones that take months to make (Scout-App) and quick ones like UGUI: WiFi. That one was made in about 10 minutes to prove to someone in the NW.js chat that a Node module worked with NW.js (they were new to JS).
Downsides to NW.js:
Sass, not SASS
and Sass is just more powerful, has a cleaner syntax, and much much more community support.
And there's Scout-App, which is an easy way for people to get started with preprocessing (works on all OS's and is open source, and exclusively supports Sass).
First, Sass, not SASS.
Second, split out all of your code into modules to keep them organized and allow for reusablility. All of these files should begin with an underscore. This will indicate to your Sass processor, that they are "partials", and should not be processed to equivalent CSS files.
Then have one main file called style.sass
or style.scss
. Notice that it does not begin with an underscore, meaning it will be processed. Then have it import all of the rest of your Sass files in the correct order.
Then when you process your Sass folder, only that one file is processed and it imports the rest in, outputting a single CSS file comprised of all the imported Sass files (concatenation). You can also set your output style to be compressed, meaning all unnecessary spaces, returns, tabs, and trailing semi-colons will be removed (minification).
You can use a tool like Scout-App to process your Sass to CSS just by drag-and-drop + click one button.
Many people are not comfortable with using the command line, it's a scary step that people avoid.
Also, it takes a lot more time and effort to set up your tools. Some projects don't demand that much effort. If you want to process a folder of Sass files, there is no quicker way than using Scout-App. You drag your project in and click run, that's it. Compared to setting up a build environment, or installing commands globally to your PATH.
Also there are a lot of designers that do HTML/CSS/Sass, but don't do any coding. So without GUI tools, they wouldn't be able to take advantage of Sass at all.
Plus, your computer boots up to a GUI and you use it. You aren't in the 80's hacking away on a screen with no GUI. You just choose to opt in to console commands when you think it's useful to you. Don't be so judgmental, you're the same as them, just one level removed.
There are currently no JavaScript based CSS options that do not have huge downsides. There's about a dozen major issues, all current options suffer from at least one or more of these problems. Here are a few examples
p + p:hover:nth-of-type(even):not(.selected) > .child:after
)Currently the best option for handling CSS is probably Sass. It has none of the downsides mentioned. It offers modularity, automated concatenation/minification, cachable styles, precomputed variables, a built in linter, full support for everything possible in CSS, a well established giant ecosystem and can be learned in a few minutes. There are even tools like Scout-App for easy drag-and-drop, click-one-button usage of Sass, or full on build tool options for task runners and bundlers like Gulp and Webpack.
However, I will say the scoped styles in Vue.js's Single File Components are the best/closest option currently. The only downside they have is that it increases specificity on your selectors by 1 point, which is fairly minor, but has caused issues for me in the past forcing me to move my styles out of the Vue handled section. However with CSS4 style scoping coming natively to browsers soon, this will be resolved. Using the Vue SFC's scoped styles are a good option for components that are meant to be distributed like a library for other projects. And you can even have the best of both worlds, using Sass in your Vue component, setting default variables that can be overwritten by the component importing them.
If you are not in a dev role, it is highly unlikely that IT will allow you to the access you need.
There are however other options if you are able to install programs though the GUI you can install Scout to handle prcompiling for you. Pretty simple. Just install. Define the input directory (drag and drop). Define the output. Start coding using SASS. Each save, Scout will run a compile on any SASS doc in your watched directory for you.
To any newbies out there, please do not follow this tutorial. Ruby Sass has been abandoned/deprecated. All new Sass work will be developed in Dart, then have a 1-to-1 port to C. The C version (SassC) will be continue to be compiled for bindings in other languages. The most popular and most practical implementation is through Node. SassC is compiled into LibSass, then LibSass bindings are created for each version of Node on each OS. So if you use Node-Sass, or something built on top of it, it will detect your OS, version of Node, Arch (32/64) and download the correct LibSass binding.
TLDR:
You could try using Scout. It has a nice GUI interface, and is easy to use. You simply point the folder that has your sass, and in another field, point it the folder that has the output css file. If you're not really into using or have limited experience with the command line, this is a good option.
If you want another GUI, get Scout. I'm on a Mac, but I recently moved from Koala to Scout and wish I'd switched long ago.
The biggest plus is that it handles includes properly; with Koala, for instance, I'd have to define variable in each file that referenced them. No more.
You won't need to learn anything new, but remember to hit the "play" button for your project each time you open the app.