SlideShare a Scribd company logo
Front-End
                  Frameworks:
                a quick overview
Javier Cuevas
@javier_dev
Diacode.com
Front-End Development

HTML     CSS    Javascript
Frameworks
                                  Toolkits
                                  Libraries
              Front-End           Grid systems (CSS)
                                  Boilerplates (HTML)
                                  Syntatic Sugar
                                  ...
                Multiple names and approaches.
Same idea: make front-end development easier, faster, stronger.
Why do we need
 Front-End Superpowers?
• HTML is ugly and old.
• Javascript is ugly and old.
• CSS is not that ugly but is totally Anti-DRY.
• User Interfaces are each day more complex.
• Cross-browser compatibility.
• Device Heterogeneity: tablets, smartphones,
  desktops... A jungle of different screens.

Recommended for you

Presentation of bootstrap
Presentation of bootstrapPresentation of bootstrap
Presentation of bootstrap

This document provides an overview and introduction to responsive design using Bootstrap. It defines responsive design as designs that work on any resolution and are user friendly. It explains Bootstrap's grid system and standard device resolutions for extra small, small, medium, and large devices. Key Bootstrap components are summarized like the grid system, Glyphicons, and JavaScript plugins. The basic differences between HTML, CSS, and Bootstrap are outlined. Finally, the main purposes of using Bootstrap are listed as decreasing costs and code while providing an excellent and understandable user experience.

designbootstrap responsiveux
Web Development
Web DevelopmentWeb Development
Web Development

Web development involves both front-end development and back-end development. Front-end development includes using languages like HTML, CSS, and Bootstrap to define the layout and visual design of websites. Back-end development involves using languages like SQL and PHP to manage the database and functional aspects of websites that users do not see. Key front-end technologies are HTML for content, CSS for styling, and Bootstrap for responsive design. Key back-end technologies are SQL for databases and PHP for server-side scripting.

web designweb developmentwebsite
Web Devlopment ppt.pptx
Web Devlopment ppt.pptxWeb Devlopment ppt.pptx
Web Devlopment ppt.pptx

This document discusses web design and development. It explains the differences between design and development, with design focusing on aesthetics and layout, and development taking the design and making it functional. Key topics covered include HTML, CSS, JavaScript, front-end development, back-end development, and examples of projects completed like an e-commerce website and form creation. Certificates and references are also included.

webdevelopment
HTML
HAML
        • Syntatic sugar for HTML and ERB (embedded Ruby).
        • HAML is for Ruby, but there are equivalents for other
             languages (SHPAML, GHRML).

        • White space aware syntax.
HAML                                    HTML
#profile                                <div id="profile">
  .left.column                            <div class="left column">
    #date= print_date                       <div id="date"><%= print_date %></div>
    %p.address= current_user.address        <p class="address"><%= current_user.address %></p>
  .right.column                           </div>
    #email= current_user.email            <div class="right column">
    #bio= current_user.bio                  <div id="email"><%= current_user.email %></div>
                                            <div id="bio"><%= current_user.bio %></div>
                                          </div>
                                        </div>

                                                                      http://bit.ly/VzHwc
CSS
SASS
• CSS on steroids: variables, mixins, nested rules and
       math functions.

• Two different syntaxes: .SCSS (new) and .SASS (old)
• SCSS/SASS is compiled to CSS on the server side.
SCSS                            CSS
$blue: #3bbfce;                 .content {
$margin: 16px;                    color: #3bbfce;
                                }
.content{
  color: $blue;                 .content p {
  p {                             padding: 8px;
    padding: $margin / 2;         margin: 8px;
    margin: $margin / 2;          border-color: #3bbfce;
    border-color: $blue;        }
  }
}                                                   http://bit.ly/3wRpzR

Recommended for you

Fundamentals of Web Development For Non-Developers
Fundamentals of Web Development For Non-DevelopersFundamentals of Web Development For Non-Developers
Fundamentals of Web Development For Non-Developers

This is the 2nd material of my technical training about "Fundamentals of Web Development" to non-developers, especially to business people and business analysts. This presentation covers some advanced topics that I did not cover in my previous "Fundamentals of Web" training. Even though most of the information I mention verbally in the training, the slides could help the ones who are not very familiar with web and web applications.

software developmentweb applicationsweb services
Web Development In 2018
Web Development In 2018Web Development In 2018
Web Development In 2018

We are about to start a new year and I have put together a guide for current and aspiring web developers to follow to get an idea of what it takes to be a full stack developer. From basic tools to html/css, JavaScript, UI frameworks like Bootstrap, server side technologies like Node.js, Python and PHP, frameworks like Laravel, Django and Ruby on Rails. I tried to include the most used technologies and give you the options to choose from with some of my own opinion and input.

web developmentweb development 2018web design
Introduction To Single Page Application
Introduction To Single Page ApplicationIntroduction To Single Page Application
Introduction To Single Page Application

This document provides an introduction to single page applications (SPAs). It begins with an overview of traditional websites, which have multiple pages and server-based rendering. The evolution section discusses how modern browsers, JavaScript, and HTML5 have enabled a more app-like user experience with SPAs. SPAs are defined as web apps that load a single HTML page and use AJAX and JavaScript for fluid interactions without page reloads. Benefits include faster loading and improved user experience. Challenges of SPAs include search engine optimization, initial slow loading, and maintaining browser history. The document concludes with a question and answer section.

single-page web applicationkms technology
LESS
• Very similar to SASS.
• Main difference is that it gives you a “client side”
   version. This means LESS code is transformed to CSS
   into the browser client using Javascript.

• It does have a server side version too.
• Fans of SASS often are haters of LESS and viceversa.
• Some discussion about SASS vs LESS:
   http://wrangl.com/sass-v-less


                                              http://bit.ly/12gGr0
JAVASCRIPT
jQuery
• Do I have to tell you what is jQuery
  about? :)
• Briefly:
  jQuery is a Javascript library to easily
  change and animate the DOM (HTML
  nodes).
• I would say it’s a must in every project.
                                    http://jquery.com/
jQuery Mobile
• Despite of its name, it is more about the
  layout (user interface) and a bit less about
  Javascript superpowers.
• Is a whole framework to develop web
  applications for mobile devices by using
  HTML5 features.
• By using Phonegap you can embed your
  web mobile app into a native mobile app.
                              http://jquerymobile.com/

Recommended for you

Introduction to back-end
Introduction to back-endIntroduction to back-end
Introduction to back-end

The document provides an introduction to back-end development, including definitions of the internet, World Wide Web, and request-response cycle. It explains the differences between front-end and back-end development and lists common front-end and back-end programming languages. Main protocols like IP, TCP, UDP, and HTTP are described. Additional back-end concepts covered include CRUD functionality, securing passwords, HTTPS, and APIs. Resources for further learning back-end development with languages like Python, Node.js, and PHP are also provided.

Introduction Node.js
Introduction Node.jsIntroduction Node.js
Introduction Node.js

This document provides an introduction to Node.js. It discusses why JavaScript can be strange, but explains that JavaScript is relevant as the language of the web. It then discusses what Node.js is and its event-driven, non-blocking architecture. Popular Node.js applications like HTTP servers, REST APIs, and web sockets are mentioned. Examples are provided of building a simple web app with Express and Jade, a REST API with Restify, and using web sockets with Socket.io. The document also discusses using Mongoose with MongoDB for data modeling.

mongodbnode.jsrestify
Top web development tools
Top web development toolsTop web development tools
Top web development tools

This document discusses top web development tools including Browsersync, Fontello, Bootstrap Studio, and Sass. Browsersync helps with synchronized cross-browser testing. Fontello provides access to icons and fonts that remain intact across screen resolutions. Bootstrap Studio allows building responsive websites using Bootstrap with an easy drag-and-drop interface. Sass is a widely used CSS extension language that provides features like inheritance, variables, and functions to extend CSS capabilities.

top web development tools
CoffeeScript
•   Is an alternative syntax for Javascript.

•   Coffeescript files compile into Javascript.

•   Basically offers syntactic sugar for JS.

•   Is white space aware, i.e. indentation instead of curly braces
    everywhere.

    CoffeScript                        Javascript
    $ ->                               $(function() {
      $("body").html "Hello!"             $("body").html("Hello!");
                                       })




                                                    http://coffeescript.org/
Modernizr
• Is a Javascript library allowing you to use CSS3
  & HTML5 while maintaining control over
  unsupported browsers.
• Detects what features are supported by the
  user’s browser.
• If some features are missing you can still use
  them by using “polyfills” (JS scripts that imitate
  HTML5/CSS3 features for older browsers).

                               http://www.modernizr.com/docs/
Handlebars
      • Is a Javascript template system.
      • Lets you populate data from JS (for instance AJAX
           responses) into HTML without having to write the
           chunk of HTML into the JS code.

      • Extends Mustache template system.
TEMPLATE               JAvASCRIPT                          OUTPUT
<div class="entry">    var context = {                     <div class="entry">
  <h1>{{title}}</h1>     title: "My New Post",               <h1>My New Post</h1>
  <div class="body">     body: "This is my first post!"}     <div class="body">
    {{body}}           var html    = template(context);        This is my first post!
  </div>                                                     </div>
</div>                                                     </div>



                                                              http://handlebarsjs.com/
Backbone
• Is a JavaScript framework that allows you to
   structure your Javascript code in an MVC (Model,
   View, Controller) fashion.

• Instead of storing data in HTML data attributes,
   store them into JS Models.

• Views (HTML) change when models change.
• Using it together with Node.js (JS on the server
   side), you can share code between client and server,
   i.e. same models in both sides.


                                           http://bit.ly/dk9Eki

Recommended for you

Front-end development introduction (HTML, CSS). Part 1
Front-end development introduction (HTML, CSS). Part 1Front-end development introduction (HTML, CSS). Part 1
Front-end development introduction (HTML, CSS). Part 1

Front-end development involves building the elements of a website that users interact with directly. This document provides an overview of HTML, CSS, semantic markup, responsive design, and tools for front-end development. It defines HTML as the standard markup language for web pages and CSS as the style sheet language used to describe document formatting. Semantic HTML uses meaningful markup to reinforce content semantics rather than just presentation. Responsive design approaches like separate files or media queries allow content to adapt to different devices. Development tools like Chrome DevTools, WebStorm IDE, and Grunt help automate tasks.

developmentfront-endresponsive
Express js
Express jsExpress js
Express js

This document provides an overview of ExpressJS, a web application framework for Node.js. It discusses using Connect as a middleware framework to build HTTP servers, and how Express builds on Connect by adding functionality like routing, views, and content negotiation. It then covers basic Express app architecture, creating routes, using views with different template engines like Jade, passing data to views, and some advanced topics like cookies, sessions, and authentication.

Laravel introduction
Laravel introductionLaravel introduction
Laravel introduction

Laravel, längst kein unbestriebenes Blatt mehr, gewinnt immer mehr an Popularität. In diesem Vortrag wir Laravel kurz vorgestellt mit Themen wie: - Was ist Laravel? - Woher kommt Laravel? - Was bietet Laravel? - Laravel und sein Ecosystem. und einiges mehr...

laravel php
Spine
• Same idea than Backbone: MVC for Javascript
• It’s pretty light weight.
• Has a mobile extension (Spine Mobile), that can be
   combined with Phonegap to build “native” mobile
   apps.

• It’s written in CoffeeScript, so if you don’t know
   CoffeeScript it could be harder to use it.

• There is an O’Reilly book by the author of Spine
   http://oreil.ly/pbxy4I

                                            http://bit.ly/tozpso
HTML + CSS + JS
HTML5 Boilerplate
•   Gives you a starting point for a new web app.
•   Is a package that includes several useful things ready to use:
    •   CSS resets
    •   jQuery
    •   Modernizr
    •   Layout with HTML5 doctype
    •   Cross-browser compatibility (even IE6 with Chrome Frame)
    •   Mobile browser-optimization
    •   Google Analytics snippet
    •   .htaccess optimizations
    •   ....
                                                      http://bit.ly/8Xe4wy
Twitter Bootstrap
• Developed by Twitter’s programmers.
• Includes:
 • Grid system with support for Responsive Design.
 • CSS classes for buttons, forms, tables, icons,
     navigation bars, labels, badges, progress bars, etc.

  • Javascript UI widgets: modals, menu dropdowns,
     images slider, accordions, alerts, notifications, etc.

• Highly customizable using LESS.
                                               http://bit.ly/q2G9Mm

Recommended for you

Laravel ppt
Laravel pptLaravel ppt
Laravel ppt

- Laravel is a popular PHP MVC framework that provides tools like Eloquent ORM, Blade templating, routing, and Artisan CLI to help developers build applications faster. - Key Laravel features include Eloquent for database access, Blade templating engine, routing system, middleware, and Artisan CLI commands for common tasks like migrations and seeding. - The document discusses Laravel's file structure, installing via Composer, and provides best practices for coding with Laravel like avoiding large queries and using middleware, validation, and CSRF protection.

laravelphpweb design
Node js introduction
Node js introductionNode js introduction
Node js introduction

Node.js is a server-side JavaScript platform built on Google's V8 engine. It is non-blocking and asynchronous, making it suitable for data-intensive real-time applications. The document discusses how to install Node.js and its dependencies on Ubuntu, introduces key Node.js concepts like events and the event loop, and provides examples of popular Node.js packages and use cases.

setting up node with virtual appliancescaling the webnode
NodeJS for Beginner
NodeJS for BeginnerNodeJS for Beginner
NodeJS for Beginner

This document provides an introduction to NodeJS for beginners. It discusses what NodeJS is, how it uses non-blocking I/O and event-driven architecture, and how to set up NodeJS. It also covers global objects, modules, asynchronous vs synchronous code, core NodeJS modules like filesystem and events, and how to create a basic "Hello World" NodeJS application.

non blocking i/ojavascriptv8 engine
Zurb Foundation
•   Very similar to Twitter Bootstrap. Made by Zurb.

•   Zurb’s developers stand very hard for some relevant ideas:

    •   960 pixels designs are dead.

    •   Develop a specific mobile version of your site is painful,
        so you must go for Responsive Design.

    •   With a tool like Zurb Foundation you can do
        Rapid Prototyping in HTML5 (no more vector
        wireframes).
        http://foundation.zurb.com/prototyping.php
        http://www.youtube.com/watch?v=V2EjipWZ7co

                                                     http://bit.ly/p9rfyt
There are hundred
of tools like these.
Some of them are
even more complex
    and exotic.
Learning all of them
   is impossible.

Recommended for you

Bootstrap
BootstrapBootstrap
Bootstrap

Bootstrap is a free front-end framework for building responsive, mobile-first websites and web apps. It contains HTML and CSS-based design templates and components for things like typography, forms, buttons, navigation, and other interface components, as well as optional JavaScript extensions. Bootstrap features responsive grid system, tables, forms, buttons, navigation and other elements for developing responsive web pages and applications. It helps developers design websites faster without writing much custom CSS code.

bootstrap
Server Side VS Client Side
Server Side VS Client SideServer Side VS Client Side
Server Side VS Client Side

Client-side and server-side, what are they and what are their differences? This guide will answer the age-old question - https://code-boxx.com/server-side-vs-client-side/

codingprogramming
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4

Here are the steps to build a basic horizontal navigation menu bar: 1. Create an unordered list <ul> with class="menu" 2. Add list items <li> for each menu item 3. Style the <ul> with display:inline-block and border-bottom 4. Style the <li> with display:inline-block, padding and hover effect 5. Add a class="current" to highlight the active page 6. Use a border-left on .current to create a left arrow Let me know if any part needs more explanation! Building menus is a common task and these techniques will serve you well.

girl develop it cincinnatigdi cincinnatigirl develop it
Don’t be afraid of
trying new things.
Use the ones you feel
will help you out and
 let the hype aside.
Thanks for coming!

More Related Content

What's hot

Bootstrap 5 ppt
Bootstrap 5 pptBootstrap 5 ppt
Bootstrap 5 ppt
Mallikarjuna G D
 
Web development
Web developmentWeb development
Web development
Sunil Moolchandani
 
Web development
Web developmentWeb development
Web development
Kanan Rahimov
 
Presentation of bootstrap
Presentation of bootstrapPresentation of bootstrap
Presentation of bootstrap
1amitgupta
 
Web Development
Web DevelopmentWeb Development
Web Development
Harshdeep Singh
 
Web Devlopment ppt.pptx
Web Devlopment ppt.pptxWeb Devlopment ppt.pptx
Web Devlopment ppt.pptx
AartiVerma64
 
Fundamentals of Web Development For Non-Developers
Fundamentals of Web Development For Non-DevelopersFundamentals of Web Development For Non-Developers
Fundamentals of Web Development For Non-Developers
Lemi Orhan Ergin
 
Web Development In 2018
Web Development In 2018Web Development In 2018
Web Development In 2018
Traversy Media
 
Introduction To Single Page Application
Introduction To Single Page ApplicationIntroduction To Single Page Application
Introduction To Single Page Application
KMS Technology
 
Introduction to back-end
Introduction to back-endIntroduction to back-end
Introduction to back-end
Mosaab Ehab
 
Introduction Node.js
Introduction Node.jsIntroduction Node.js
Introduction Node.js
Erik van Appeldoorn
 
Top web development tools
Top web development toolsTop web development tools
Top web development tools
BusinessDevelopment35
 
Front-end development introduction (HTML, CSS). Part 1
Front-end development introduction (HTML, CSS). Part 1Front-end development introduction (HTML, CSS). Part 1
Front-end development introduction (HTML, CSS). Part 1
Oleksii Prohonnyi
 
Express js
Express jsExpress js
Express js
Manav Prasad
 
Laravel introduction
Laravel introductionLaravel introduction
Laravel introduction
Simon Funk
 
Laravel ppt
Laravel pptLaravel ppt
Laravel ppt
Mayank Panchal
 
Node js introduction
Node js introductionNode js introduction
Node js introduction
Joseph de Castelnau
 
NodeJS for Beginner
NodeJS for BeginnerNodeJS for Beginner
NodeJS for Beginner
Apaichon Punopas
 
Bootstrap
BootstrapBootstrap
Bootstrap
Jadson Santos
 
Server Side VS Client Side
Server Side VS Client SideServer Side VS Client Side
Server Side VS Client Side
Code Boxx
 

What's hot (20)

Bootstrap 5 ppt
Bootstrap 5 pptBootstrap 5 ppt
Bootstrap 5 ppt
 
Web development
Web developmentWeb development
Web development
 
Web development
Web developmentWeb development
Web development
 
Presentation of bootstrap
Presentation of bootstrapPresentation of bootstrap
Presentation of bootstrap
 
Web Development
Web DevelopmentWeb Development
Web Development
 
Web Devlopment ppt.pptx
Web Devlopment ppt.pptxWeb Devlopment ppt.pptx
Web Devlopment ppt.pptx
 
Fundamentals of Web Development For Non-Developers
Fundamentals of Web Development For Non-DevelopersFundamentals of Web Development For Non-Developers
Fundamentals of Web Development For Non-Developers
 
Web Development In 2018
Web Development In 2018Web Development In 2018
Web Development In 2018
 
Introduction To Single Page Application
Introduction To Single Page ApplicationIntroduction To Single Page Application
Introduction To Single Page Application
 
Introduction to back-end
Introduction to back-endIntroduction to back-end
Introduction to back-end
 
Introduction Node.js
Introduction Node.jsIntroduction Node.js
Introduction Node.js
 
Top web development tools
Top web development toolsTop web development tools
Top web development tools
 
Front-end development introduction (HTML, CSS). Part 1
Front-end development introduction (HTML, CSS). Part 1Front-end development introduction (HTML, CSS). Part 1
Front-end development introduction (HTML, CSS). Part 1
 
Express js
Express jsExpress js
Express js
 
Laravel introduction
Laravel introductionLaravel introduction
Laravel introduction
 
Laravel ppt
Laravel pptLaravel ppt
Laravel ppt
 
Node js introduction
Node js introductionNode js introduction
Node js introduction
 
NodeJS for Beginner
NodeJS for BeginnerNodeJS for Beginner
NodeJS for Beginner
 
Bootstrap
BootstrapBootstrap
Bootstrap
 
Server Side VS Client Side
Server Side VS Client SideServer Side VS Client Side
Server Side VS Client Side
 

Similar to Front-End Frameworks: a quick overview

Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Erin M. Kidwell
 
Java script
Java scriptJava script
Java script
umesh patil
 
Java script
Java scriptJava script
Java script
sanjay joshi
 
About Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JSAbout Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JS
Naga Harish M
 
It's a Mod World - A Practical Guide to Rocking Modernizr
It's a Mod World - A Practical Guide to Rocking ModernizrIt's a Mod World - A Practical Guide to Rocking Modernizr
It's a Mod World - A Practical Guide to Rocking Modernizr
Michael Enslow
 
Frameworks Galore: A Pragmatic Review
Frameworks Galore: A Pragmatic ReviewFrameworks Galore: A Pragmatic Review
Frameworks Galore: A Pragmatic Review
netc2012
 
GR8Conf 2011: Building Progressive UIs with Grails
GR8Conf 2011: Building Progressive UIs with GrailsGR8Conf 2011: Building Progressive UIs with Grails
GR8Conf 2011: Building Progressive UIs with Grails
GR8Conf
 
Intro JavaScript
Intro JavaScriptIntro JavaScript
Intro JavaScript
koppenolski
 
Survive JavaScript - Strategies and Tricks
Survive JavaScript - Strategies and TricksSurvive JavaScript - Strategies and Tricks
Survive JavaScript - Strategies and Tricks
Juho Vepsäläinen
 
CSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. ControlCSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. Control
Christian Heilmann
 
Intro to mobile web application development
Intro to mobile web application developmentIntro to mobile web application development
Intro to mobile web application development
zonathen
 
Introduction to Jquery
Introduction to JqueryIntroduction to Jquery
Introduction to Jquery
Gurpreet singh
 
Web Development for UX Designers
Web Development for UX DesignersWeb Development for UX Designers
Web Development for UX Designers
Ashlimarie
 
Making Of PHP Based Web Application
Making Of PHP Based Web ApplicationMaking Of PHP Based Web Application
Making Of PHP Based Web Application
Sachin Walvekar
 
Webpack and Web Performance Optimization
Webpack and Web Performance OptimizationWebpack and Web Performance Optimization
Webpack and Web Performance Optimization
Chen-Tien Tsai
 
Untangling the web - fall2017 - class 4
Untangling the web - fall2017 - class 4Untangling the web - fall2017 - class 4
Untangling the web - fall2017 - class 4
Derek Jacoby
 
Ease into HTML5 and CSS3
Ease into HTML5 and CSS3Ease into HTML5 and CSS3
Ease into HTML5 and CSS3
Brian Moon
 
Html5 public
Html5 publicHtml5 public
Html5 public
doodlemoonch
 
Bootstrap [part 1]
Bootstrap [part 1]Bootstrap [part 1]
Bootstrap [part 1]
Ghanshyam Patel
 
Web design-workflow
Web design-workflowWeb design-workflow
Web design-workflow
Peter Kaizer
 

Similar to Front-End Frameworks: a quick overview (20)

Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
 
Java script
Java scriptJava script
Java script
 
Java script
Java scriptJava script
Java script
 
About Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JSAbout Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JS
 
It's a Mod World - A Practical Guide to Rocking Modernizr
It's a Mod World - A Practical Guide to Rocking ModernizrIt's a Mod World - A Practical Guide to Rocking Modernizr
It's a Mod World - A Practical Guide to Rocking Modernizr
 
Frameworks Galore: A Pragmatic Review
Frameworks Galore: A Pragmatic ReviewFrameworks Galore: A Pragmatic Review
Frameworks Galore: A Pragmatic Review
 
GR8Conf 2011: Building Progressive UIs with Grails
GR8Conf 2011: Building Progressive UIs with GrailsGR8Conf 2011: Building Progressive UIs with Grails
GR8Conf 2011: Building Progressive UIs with Grails
 
Intro JavaScript
Intro JavaScriptIntro JavaScript
Intro JavaScript
 
Survive JavaScript - Strategies and Tricks
Survive JavaScript - Strategies and TricksSurvive JavaScript - Strategies and Tricks
Survive JavaScript - Strategies and Tricks
 
CSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. ControlCSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. Control
 
Intro to mobile web application development
Intro to mobile web application developmentIntro to mobile web application development
Intro to mobile web application development
 
Introduction to Jquery
Introduction to JqueryIntroduction to Jquery
Introduction to Jquery
 
Web Development for UX Designers
Web Development for UX DesignersWeb Development for UX Designers
Web Development for UX Designers
 
Making Of PHP Based Web Application
Making Of PHP Based Web ApplicationMaking Of PHP Based Web Application
Making Of PHP Based Web Application
 
Webpack and Web Performance Optimization
Webpack and Web Performance OptimizationWebpack and Web Performance Optimization
Webpack and Web Performance Optimization
 
Untangling the web - fall2017 - class 4
Untangling the web - fall2017 - class 4Untangling the web - fall2017 - class 4
Untangling the web - fall2017 - class 4
 
Ease into HTML5 and CSS3
Ease into HTML5 and CSS3Ease into HTML5 and CSS3
Ease into HTML5 and CSS3
 
Html5 public
Html5 publicHtml5 public
Html5 public
 
Bootstrap [part 1]
Bootstrap [part 1]Bootstrap [part 1]
Bootstrap [part 1]
 
Web design-workflow
Web design-workflowWeb design-workflow
Web design-workflow
 

More from Diacode

CI/CD with Kubernetes, Helm & Wercker (#madScalability)
CI/CD with Kubernetes, Helm & Wercker (#madScalability)CI/CD with Kubernetes, Helm & Wercker (#madScalability)
CI/CD with Kubernetes, Helm & Wercker (#madScalability)
Diacode
 
Phoenix for Rails Devs
Phoenix for Rails DevsPhoenix for Rails Devs
Phoenix for Rails Devs
Diacode
 
Introduction to Elixir
Introduction to ElixirIntroduction to Elixir
Introduction to Elixir
Diacode
 
Startup nomads
Startup nomadsStartup nomads
Startup nomads
Diacode
 
Ruby on Rails & TDD con RSpec
Ruby on Rails & TDD con RSpecRuby on Rails & TDD con RSpec
Ruby on Rails & TDD con RSpec
Diacode
 
Hacking your bank with Ruby and reverse engineering (Madrid.rb)
Hacking your bank with Ruby and reverse engineering (Madrid.rb)Hacking your bank with Ruby and reverse engineering (Madrid.rb)
Hacking your bank with Ruby and reverse engineering (Madrid.rb)
Diacode
 
TLKR.io @ Betabeers Madrid
TLKR.io @ Betabeers MadridTLKR.io @ Betabeers Madrid
TLKR.io @ Betabeers Madrid
Diacode
 
Métricas para hacer crecer tu proyecto
Métricas para hacer crecer tu proyectoMétricas para hacer crecer tu proyecto
Métricas para hacer crecer tu proyecto
Diacode
 
Métricas para hacer crecer tu proyecto
Métricas para hacer crecer tu proyectoMétricas para hacer crecer tu proyecto
Métricas para hacer crecer tu proyecto
Diacode
 
Presentación de Kogi
Presentación de KogiPresentación de Kogi
Presentación de Kogi
Diacode
 
Educación: The Next Big Thing
Educación: The Next Big ThingEducación: The Next Big Thing
Educación: The Next Big Thing
Diacode
 
Taller de Introducción a Ruby on Rails (2ª parte)
Taller de Introducción a Ruby on Rails (2ª parte)Taller de Introducción a Ruby on Rails (2ª parte)
Taller de Introducción a Ruby on Rails (2ª parte)
Diacode
 
Taller de Introducción a Ruby on Rails
Taller de Introducción a Ruby on RailsTaller de Introducción a Ruby on Rails
Taller de Introducción a Ruby on Rails
Diacode
 

More from Diacode (13)

CI/CD with Kubernetes, Helm & Wercker (#madScalability)
CI/CD with Kubernetes, Helm & Wercker (#madScalability)CI/CD with Kubernetes, Helm & Wercker (#madScalability)
CI/CD with Kubernetes, Helm & Wercker (#madScalability)
 
Phoenix for Rails Devs
Phoenix for Rails DevsPhoenix for Rails Devs
Phoenix for Rails Devs
 
Introduction to Elixir
Introduction to ElixirIntroduction to Elixir
Introduction to Elixir
 
Startup nomads
Startup nomadsStartup nomads
Startup nomads
 
Ruby on Rails & TDD con RSpec
Ruby on Rails & TDD con RSpecRuby on Rails & TDD con RSpec
Ruby on Rails & TDD con RSpec
 
Hacking your bank with Ruby and reverse engineering (Madrid.rb)
Hacking your bank with Ruby and reverse engineering (Madrid.rb)Hacking your bank with Ruby and reverse engineering (Madrid.rb)
Hacking your bank with Ruby and reverse engineering (Madrid.rb)
 
TLKR.io @ Betabeers Madrid
TLKR.io @ Betabeers MadridTLKR.io @ Betabeers Madrid
TLKR.io @ Betabeers Madrid
 
Métricas para hacer crecer tu proyecto
Métricas para hacer crecer tu proyectoMétricas para hacer crecer tu proyecto
Métricas para hacer crecer tu proyecto
 
Métricas para hacer crecer tu proyecto
Métricas para hacer crecer tu proyectoMétricas para hacer crecer tu proyecto
Métricas para hacer crecer tu proyecto
 
Presentación de Kogi
Presentación de KogiPresentación de Kogi
Presentación de Kogi
 
Educación: The Next Big Thing
Educación: The Next Big ThingEducación: The Next Big Thing
Educación: The Next Big Thing
 
Taller de Introducción a Ruby on Rails (2ª parte)
Taller de Introducción a Ruby on Rails (2ª parte)Taller de Introducción a Ruby on Rails (2ª parte)
Taller de Introducción a Ruby on Rails (2ª parte)
 
Taller de Introducción a Ruby on Rails
Taller de Introducción a Ruby on RailsTaller de Introducción a Ruby on Rails
Taller de Introducción a Ruby on Rails
 

Recently uploaded

TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
Enterprise Wired
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
Sally Laouacheria
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
Lidia A.
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
SynapseIndia
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
Larry Smarr
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Bert Blevins
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
Emerging Tech
 
Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
welrejdoall
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
Matthew Sinclair
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Mydbops
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
BookNet Canada
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
Bert Blevins
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
Matthew Sinclair
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
Larry Smarr
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Chris Swan
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
Stephanie Beckett
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
jackson110191
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
HackersList
 

Recently uploaded (20)

TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
 
Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
 

Front-End Frameworks: a quick overview

  • 1. Front-End Frameworks: a quick overview Javier Cuevas @javier_dev Diacode.com
  • 2. Front-End Development HTML CSS Javascript
  • 3. Frameworks Toolkits Libraries Front-End Grid systems (CSS) Boilerplates (HTML) Syntatic Sugar ... Multiple names and approaches. Same idea: make front-end development easier, faster, stronger.
  • 4. Why do we need Front-End Superpowers? • HTML is ugly and old. • Javascript is ugly and old. • CSS is not that ugly but is totally Anti-DRY. • User Interfaces are each day more complex. • Cross-browser compatibility. • Device Heterogeneity: tablets, smartphones, desktops... A jungle of different screens.
  • 6. HAML • Syntatic sugar for HTML and ERB (embedded Ruby). • HAML is for Ruby, but there are equivalents for other languages (SHPAML, GHRML). • White space aware syntax. HAML HTML #profile <div id="profile"> .left.column <div class="left column"> #date= print_date <div id="date"><%= print_date %></div> %p.address= current_user.address <p class="address"><%= current_user.address %></p> .right.column </div> #email= current_user.email <div class="right column"> #bio= current_user.bio <div id="email"><%= current_user.email %></div> <div id="bio"><%= current_user.bio %></div> </div> </div> http://bit.ly/VzHwc
  • 7. CSS
  • 8. SASS • CSS on steroids: variables, mixins, nested rules and math functions. • Two different syntaxes: .SCSS (new) and .SASS (old) • SCSS/SASS is compiled to CSS on the server side. SCSS CSS $blue: #3bbfce; .content { $margin: 16px; color: #3bbfce; } .content{ color: $blue; .content p { p { padding: 8px; padding: $margin / 2; margin: 8px; margin: $margin / 2; border-color: #3bbfce; border-color: $blue; } } } http://bit.ly/3wRpzR
  • 9. LESS • Very similar to SASS. • Main difference is that it gives you a “client side” version. This means LESS code is transformed to CSS into the browser client using Javascript. • It does have a server side version too. • Fans of SASS often are haters of LESS and viceversa. • Some discussion about SASS vs LESS: http://wrangl.com/sass-v-less http://bit.ly/12gGr0
  • 11. jQuery • Do I have to tell you what is jQuery about? :) • Briefly: jQuery is a Javascript library to easily change and animate the DOM (HTML nodes). • I would say it’s a must in every project. http://jquery.com/
  • 12. jQuery Mobile • Despite of its name, it is more about the layout (user interface) and a bit less about Javascript superpowers. • Is a whole framework to develop web applications for mobile devices by using HTML5 features. • By using Phonegap you can embed your web mobile app into a native mobile app. http://jquerymobile.com/
  • 13. CoffeeScript • Is an alternative syntax for Javascript. • Coffeescript files compile into Javascript. • Basically offers syntactic sugar for JS. • Is white space aware, i.e. indentation instead of curly braces everywhere. CoffeScript Javascript $ -> $(function() { $("body").html "Hello!" $("body").html("Hello!"); }) http://coffeescript.org/
  • 14. Modernizr • Is a Javascript library allowing you to use CSS3 & HTML5 while maintaining control over unsupported browsers. • Detects what features are supported by the user’s browser. • If some features are missing you can still use them by using “polyfills” (JS scripts that imitate HTML5/CSS3 features for older browsers). http://www.modernizr.com/docs/
  • 15. Handlebars • Is a Javascript template system. • Lets you populate data from JS (for instance AJAX responses) into HTML without having to write the chunk of HTML into the JS code. • Extends Mustache template system. TEMPLATE JAvASCRIPT OUTPUT <div class="entry"> var context = { <div class="entry"> <h1>{{title}}</h1> title: "My New Post", <h1>My New Post</h1> <div class="body"> body: "This is my first post!"} <div class="body"> {{body}} var html = template(context); This is my first post! </div> </div> </div> </div> http://handlebarsjs.com/
  • 16. Backbone • Is a JavaScript framework that allows you to structure your Javascript code in an MVC (Model, View, Controller) fashion. • Instead of storing data in HTML data attributes, store them into JS Models. • Views (HTML) change when models change. • Using it together with Node.js (JS on the server side), you can share code between client and server, i.e. same models in both sides. http://bit.ly/dk9Eki
  • 17. Spine • Same idea than Backbone: MVC for Javascript • It’s pretty light weight. • Has a mobile extension (Spine Mobile), that can be combined with Phonegap to build “native” mobile apps. • It’s written in CoffeeScript, so if you don’t know CoffeeScript it could be harder to use it. • There is an O’Reilly book by the author of Spine http://oreil.ly/pbxy4I http://bit.ly/tozpso
  • 18. HTML + CSS + JS
  • 19. HTML5 Boilerplate • Gives you a starting point for a new web app. • Is a package that includes several useful things ready to use: • CSS resets • jQuery • Modernizr • Layout with HTML5 doctype • Cross-browser compatibility (even IE6 with Chrome Frame) • Mobile browser-optimization • Google Analytics snippet • .htaccess optimizations • .... http://bit.ly/8Xe4wy
  • 20. Twitter Bootstrap • Developed by Twitter’s programmers. • Includes: • Grid system with support for Responsive Design. • CSS classes for buttons, forms, tables, icons, navigation bars, labels, badges, progress bars, etc. • Javascript UI widgets: modals, menu dropdowns, images slider, accordions, alerts, notifications, etc. • Highly customizable using LESS. http://bit.ly/q2G9Mm
  • 21. Zurb Foundation • Very similar to Twitter Bootstrap. Made by Zurb. • Zurb’s developers stand very hard for some relevant ideas: • 960 pixels designs are dead. • Develop a specific mobile version of your site is painful, so you must go for Responsive Design. • With a tool like Zurb Foundation you can do Rapid Prototyping in HTML5 (no more vector wireframes). http://foundation.zurb.com/prototyping.php http://www.youtube.com/watch?v=V2EjipWZ7co http://bit.ly/p9rfyt
  • 22. There are hundred of tools like these.
  • 23. Some of them are even more complex and exotic.
  • 24. Learning all of them is impossible.
  • 25. Don’t be afraid of trying new things.
  • 26. Use the ones you feel will help you out and let the hype aside.