What is Front-End ?
According to Wikipedia: Front-end web development is the practice of converting data to graphical interface for user to view and interact with data through digital interaction using HTML, CSS and JavaScript.
- let is decode these different Terms:
- HTML : or Hypertext Markup Language is the one who is responsible of the content of the web page or web application some developers tend to call it as the main Skeleton , indeed is composed by many different elements providing the Document Object Model (DOM) combined together they form web page components.In other terms we can use the metaphor NOUNS in a sentence.
- CSS : or Cascading Style Sheets which is responsible of the design of the web pages and web applications (the presentation).In other terms we can use the metaphor ADJECTIVES in a sentence
- JavaScript : It is a Object-oriented language which is also characterized as dynamic, weakly typed, prototype-based and multi-paradigm.It is the one which allows interactive pages as most of browser hold a JavaScript engine to execute it, so it is the language which is responsible of dynamic effects on web pages and web application by using (DOM).In other terms we can use the metaphor VERBS in a sentence
Nowadays the web pages and web applications are more and more dynamic and as well styled which gave birth to many different libraries and frameworks for CSS and JavaScript
Frameworks and Libraries:
Libraries
Frameworks
A library is in a simple words a code that has been developed by other developers on a way that can be used again for repetitive tasks specially. It is a collection of functions, objects, and classes that you can use in your application. And you don't have to worry about its implementation as the library abstracts the different layers for you. So you can call the built-in functions of the library and pass it the parameters of your application and it will execute it for you. and the real magic of libraries that they don't set any restrictions about how you structure it in your application.
The frameworks in opposite they dictate to you the flow of control of your application, it tells you how to structure and organize everything.
Popular Frameworks and Libraries for design CSS:
Frameworks:
- Bootstrap : The most famous and used on the net, it was developed by the designers of Twitter.very complete framework that made building responsive websites very fun to develop by using its grid system and typography.
- Materialize : A modern responsive front-end framework based on Material Design.
- Bulma : is an open source CSS framework based on Flexbox and SASS very easy to learn and use.
Libraries:
- WickedCSS animations : A library of pure CSS animations.
- Epic Spinners : A collection of CSS-only spinning icons with VueJS integration.
- Boilerform : An HTML and CSS boilerplate to make forms easy to code and implement.
Popular Frameworks and Libraries for dynamic effects JavaScript:
Frameworks:
- AngularJS : was once the most famous front-end framework among developers and the most popular.
- Vue.js : is a lightweight JavaScript framework that is becomning very popular nowadays(2018). Vue's HTML-based template syntax binds the rendered DOM to the instance data.
- Ember.js : is a front-end framework based on the Model-View-ViewModel (MVVM) pattern.
Libraries:
- React : is a JavaScript library built by the developers of Facebook and Instagram. Becoming very popular due to its unique concept of reacting with web components.
- jQuery : it is the one that made JavaScript more easy to use and DOM manipulation very easy task due to CSS selector, event handling which allowed the AJAX calls that raised its fame.
Conclusion
Front-end development as any other technology is always changing and everyday there are new frameworks and libraries being built and introduced, as developer should be always updated and the concept of always keep learning become more than indispensable especially if you are willing to become a talented and skillful developer. Having the basics of HTML, CSS and JavaScript and really master them should make it really easy to learn any new framework or library.