Wednesday, June 1, 2016

Less for beginners

After long time I came back to post for LESS what I learnt.

LESS is a CSS pre-processor that enables customizable, manageable and reusable style sheet for web site. LESS is a dynamic style sheet language that extends the capability of CSS. LESS is also cross browser friendly.

What is a CSS Preprocessor?
CSS Preprocessors do not replace CSS. In fact, preprocessors simply give us extra functionality such as variables, mixins, operations and functions with which we can streamline how we create and manage CSS files.
Preprocessors allow us to define properties once and then reuse them throughout our project in a much more dynamic way that plain CSS can’t.
What is LESS?
LESS is a relatively new preprocessor, being only about 4 years old. It's often compared to SASS, a slightly older preprocessor.Both LESS and SASS have their roots in the Ruby programming language but are now used much more widely. LESS is now based on Javascript.People use LESS in order to create a pre-determined set of colors for their site. They can define a particular style once and then re-use it wherever needed.
It enables customizable, manageable and reusable style sheet for web site. LESS is a dynamic style sheet language that extends the capability of CSS. LESS is also cross browser friendly.
CSS Preprocessor is a scripting language that extends CSS and gets compiled into regular CSS syntax, so that it can be read by your web browser. It provides functionalities like variables, functions, mixins and operations that allows you to build dynamic CSS.
History
LESS was designed by Alexis Sellier in 2009. LESS is an open source. First version of LESS was written in Ruby and in the later version it is replaced by JavaScript.
Features
·         Cleaner and more readable code can be written in an organized way.
·         We can define styles and it can be reused throughout the code.
·         LESS is based on JavaScipt and is super set of CSS.
·         LESS is an agile tool that sorts out the problem of code redundancy.

Advantages
·        LESS easily generates CSS that works across the browsers.
·        LESS enables you to write cleaner and well organized code by using nesting.
·        Maintenance can be achieved faster by the use of variables.
·        LESS enables you to reuse the whole classes easily by referencing them in your rule sets.
·        LESS provides the use of operations that makes coding faster and saves time.

Disadvantages
·        It takes time to learn if you are new to CSS preprocessing.
·        Due to the tight coupling between the modules, more efforts should be taken to reuse and/or test dependent modules.
·        LESS has less framework compared to older preprocessor like SASS, which consists of frameworks Compass, Gravity and Susy.

How to install LESS?
·         Step(1):We need NodeJs to run LESS examples. To download NodeJs, open the link https://nodejs.org/en/
·         Step(2): Next, run the setup to install the Node.js on your system.
·         Step(3): Next, install LESS on the server via NPM(Node package manager). Run the following command into the command prompt.
npm install  –g less
·         Step(4): Next, after successful installation of LESS, you will see following lines on the command prompt –
·         -- less@2.6.1
·           +-- errno@0.1.4
·           | `-- prr@0.0.0
·           +-- graceful-fs@4.1.3
·           +-- image-size@0.4.0
·           +-- mime@1.3.4
·           +-- mkdirp@0.5.1
·           | `-- minimist@0.0.8
·           +-- promise@7.1.1
·           | `-- asap@2.0.3
·           +-- request@2.69.0
·           | +-- aws-sign2@0.6.0
·           | +-- aws4@1.3.2
·           | | `-- lru-cache@4.0.0
·           | |   +-- pseudomap@1.0.2
·           | |   `-- yallist@2.0.0
·           | +-- bl@1.0.3
·           | | `-- readable-stream@2.0.6
·           | |   +-- core-util-is@1.0.2
·           | |   +-- inherits@2.0.1
·           | |   +-- isarray@1.0.0
·           | |   +-- process-nextick-args@1.0.6
·           | |   +-- string_decoder@0.10.31
·           | |   `-- util-deprecate@1.0.2
·           | +-- caseless@0.11.0
·           | +-- combined-stream@1.0.5
·           | | `-- delayed-stream@1.0.0
·           | +-- extend@3.0.0
·           | +-- forever-agent@0.6.1
·           | +-- form-data@1.0.0-rc4
·           | | `-- async@1.5.2
·           | +-- har-validator@2.0.6
·           | | +-- chalk@1.1.1
·           | | | +-- ansi-styles@2.2.0
·           | | | | `-- color-convert@1.0.0
·           | | | +-- escape-string-regexp@1.0.5
·           | | | +-- has-ansi@2.0.0
·           | | | | `-- ansi-regex@2.0.0
·           | | | +-- strip-ansi@3.0.1
·           | | | `-- supports-color@2.0.0
·           | | +-- commander@2.9.0
·           | | | `-- graceful-readlink@1.0.1
·           | | +-- is-my-json-valid@2.13.1
·           | | | +-- generate-function@2.0.0
·           | | | +-- generate-object-property@1.2.0
·           | | | | `-- is-property@1.0.2
·           | | | +-- jsonpointer@2.0.0
·           | | | `-- xtend@4.0.1
·           | | `-- pinkie-promise@2.0.0
·           | |   `-- pinkie@2.0.4
·           | +-- hawk@3.1.3
·           | | +-- boom@2.10.1
·           | | +-- cryptiles@2.0.5
·           | | +-- hoek@2.16.3
·           | | `-- sntp@1.0.9
·           | +-- http-signature@1.1.1
·           | | +-- assert-plus@0.2.0
·           | | +-- jsprim@1.2.2
·           | | | +-- extsprintf@1.0.2
·           | | | +-- json-schema@0.2.2
·           | | | `-- verror@1.3.6
·           | | `-- sshpk@1.7.4
·           | |   +-- asn1@0.2.3
·           | |   +-- dashdash@1.13.0
·           | |   | `-- assert-plus@1.0.0
·           | |   +-- ecc-jsbn@0.1.1
·           | |   +-- jodid25519@1.0.2
·           | |   +-- jsbn@0.1.0
·           | |   `-- tweetnacl@0.14.1
·           | +-- is-typedarray@1.0.0
·           | +-- isstream@0.1.2
·           | +-- json-stringify-safe@5.0.1
·           | +-- mime-types@2.1.10
·           | | `-- mime-db@1.22.0
·           | +-- node-uuid@1.4.7
·           | +-- oauth-sign@0.8.1
·           | +-- qs@6.0.2
·           | +-- stringstream@0.0.5
·           | +-- tough-cookie@2.2.2
·           | `-- tunnel-agent@0.4.2
·           `-- source-map@0.5.3





No comments:

Post a Comment