SlideShare una empresa de Scribd logo
1 de 57
Descargar para leer sin conexión
Chico JS
 @chicoui
Chico JS
 @chicoui




 @hmammana
Chico JS
 @chicoui




 @hmammana   @lean8086
Chico JS
              @chicoui




@pazguille    @hmammana   @lean8086
Challenges


Reduce the inheritance levels & migrate to prototype

Unify Chico UI & Chico Mobile
Reduce & Migrate
reduce inheritance levels & migrate to prototype
Animal Kingdom
Aquatic      Terrestrial   Flyers
Animal Kingdom
Mammals      Fishes    Birds
Animal Kingdom
Mammals (   female feed breedings   )
Animal Kingdom
  Mammals (     female feed breedings   )

Quadruped (   female feed breedings, 4 legs   )
Animal Kingdom
  Mammals (     female feed breedings   )

Quadruped (   female feed breedings, 4 legs   )

 Cat                                 Dog
Animal Kingdom
    Mammals (           female feed breedings   )

 Quadruped (        female feed breedings, 4 legs   )

   Cat                                     Dog
female feed breedings          female feed breedings
Animal Kingdom
    Mammals (           female feed breedings   )

 Quadruped (        female feed breedings, 4 legs   )

   Cat                                     Dog
female feed breedings          female feed breedings
 4 legs                                     4 legs
Animal Kingdom
    Mammals (           female feed breedings   )

 Quadruped (        female feed breedings, 4 legs   )

   Cat                                     Dog
female feed breedings          female feed breedings
 4 legs                                     4 legs
 meows                                      barks
But, where is Chico here?
Class inheritance
    Mammals (           female feed breedings   )

 Quadruped (        female feed breedings, 4 legs   )

   Cat                                     Dog
female feed breedings          female feed breedings
 4 legs                                     4 legs
 meows                                      barks
Before the inheritances changes
Aquatic - Fish
Aquatic - Mammal
Flyer - Mammal
Flyer - Bird
Animal Kingdom
Aquatic         Flyers
•   open
•   close
•   is positioned
After the inheritances changes
After the inheritances changes
Challenges


Reduce the inheritance levels & migrate to prototype

Unify Chico UI & Chico Mobile
Migrate to prototype
fast, less memory use and it is a standard
On the execution
On the execution
On the execution
On the execution
On the execution
On the execution
On the execution
On the execution




    many executions by instance
The prototype property

Property that is an empty object at the start

Stored once in memory

Properties and methods are inherited by each instance
On the execution




    only once execution by instance
Challenges


Reduce the inheritance levels & migrate to prototype

Unify Chico UI & Chico Mobile
Unify Chico UI & Chico Mobile
    two repositories same components
Unify Chico UI & Chico Mobile
    two repositories same components
Code by repository
Code by repository
Code by repository
Bonus Track
We also did it:
( only in the last 6 months :P )


    New Features                          Improvements
    Wizard                                Unified Repository
    Content                               Closable, Expandable, Viewport, debug, helpers,
    Look & Feel Implementation            util, Collapsible, Menu, Widget, events, preload,
    Spinner                               Content, Positioner, cache, factory, support
    Datagrid Control                      Modal & Lite Modal
    Form                                  Validation Default Messages
    Big Inputs                            Close - WAI-ARIA
    Versioned Assets                      Positioner
    Icons                                 Viewport
    New Boxes                             Carousel
    Message Boxes                         Only one sprite for fallback!
    Chico via CDN                         Deprecated Styles Deleted
    Tests                                 Documentation & Template
Bonus Track
We also read it:
( only in the last 2 months, :O too nerdy )


    Pointer Events Draft                                 DOM Browser Support
    New CSS3 relative font size: rem                     Measuring Performance On Mobile With Chrome
    A Strategy for i18n and Node.js                      DevTools + Remote Debugging
    Revisiting JavaScript Objects                        Firefox OS Simulator 1.0 is here!
    SHADOW DOM 101                                       Decouple Your CSS From HTML With Reusable
    How we Learned to Stop Worrying and Love             Modules
    JavaScript                                           Sub-Pixel Problems in CSS
    Design, Viewport & Content                           How to Detect DOM Changes in CSS
    Testing @font-face Support on Mobile and Tablet      Native CSS feature detection via the @supports
    Conditional loading of resources with mediaqueries   rule
    Why you should say HTML classes, CSS class           Conditional comments (Windows)
    selectors, or CSS pseudo-classes, but not CSS        JavaScript APIs you’ve never heard of (and some
    classes                                              you have)
    Links for Advanced JavaScript Reading                CSS Grid Layout Draft
Bonus Track
We also speak about it:
( during the year )


    Chico UI at JSConfAR
    FrontEnd good practices at BA & San Luis
    HTML for developers at BA & San Luis
    Outline the content at BA
    The prototype property at BA
    CSS good practices at BA
    JavaScript module pattern at BA
Thanks
        @chicoui - chico@mercadolibre.com
https://github.com/mercadolibre/chico/issues/new

Más contenido relacionado

Similar a Chico JS - Q4 Challenges

Eric Steele – World Plone Day 2010 – Plone 4 Overview
Eric Steele – World Plone Day 2010 – Plone 4 OverviewEric Steele – World Plone Day 2010 – Plone 4 Overview
Eric Steele – World Plone Day 2010 – Plone 4 Overview
Eric Steele
 
How Heroku uses Heroku to build Heroku
How Heroku uses Heroku to build HerokuHow Heroku uses Heroku to build Heroku
How Heroku uses Heroku to build Heroku
Craig Kerstiens
 

Similar a Chico JS - Q4 Challenges (20)

Google Dev Fest 2016 - Realm database
Google Dev Fest 2016 - Realm databaseGoogle Dev Fest 2016 - Realm database
Google Dev Fest 2016 - Realm database
 
To Host, Or Not To Host?
To Host, Or Not To Host?To Host, Or Not To Host?
To Host, Or Not To Host?
 
Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog
Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrogDocker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog
Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog
 
Matt Franklin - Apache Software (Geekfest)
Matt Franklin - Apache Software (Geekfest)Matt Franklin - Apache Software (Geekfest)
Matt Franklin - Apache Software (Geekfest)
 
Libraries Frameworks And Cms
Libraries Frameworks And CmsLibraries Frameworks And Cms
Libraries Frameworks And Cms
 
All your data belong to us - The Active Objects Plugin
All your data belong to us - The Active Objects PluginAll your data belong to us - The Active Objects Plugin
All your data belong to us - The Active Objects Plugin
 
Media Applications on AWS
Media Applications on AWSMedia Applications on AWS
Media Applications on AWS
 
Eric Steele – World Plone Day 2010 – Plone 4 Overview
Eric Steele – World Plone Day 2010 – Plone 4 OverviewEric Steele – World Plone Day 2010 – Plone 4 Overview
Eric Steele – World Plone Day 2010 – Plone 4 Overview
 
Your Goat Antifragiled My Snowflake!: Demystifying DevOps Jargon - ChefConf 2015
Your Goat Antifragiled My Snowflake!: Demystifying DevOps Jargon - ChefConf 2015Your Goat Antifragiled My Snowflake!: Demystifying DevOps Jargon - ChefConf 2015
Your Goat Antifragiled My Snowflake!: Demystifying DevOps Jargon - ChefConf 2015
 
Leaving the Ivory Tower: Research in the Real World
Leaving the Ivory Tower: Research in the Real WorldLeaving the Ivory Tower: Research in the Real World
Leaving the Ivory Tower: Research in the Real World
 
CakePHP - The Path to 2.0
CakePHP - The Path to 2.0CakePHP - The Path to 2.0
CakePHP - The Path to 2.0
 
How Heroku uses Heroku to build Heroku
How Heroku uses Heroku to build HerokuHow Heroku uses Heroku to build Heroku
How Heroku uses Heroku to build Heroku
 
Overview of iOS 11 - Seattle Mobile .NET
Overview of iOS 11 - Seattle Mobile .NETOverview of iOS 11 - Seattle Mobile .NET
Overview of iOS 11 - Seattle Mobile .NET
 
2013 lecture-01-introduction
2013 lecture-01-introduction2013 lecture-01-introduction
2013 lecture-01-introduction
 
Jquery2012 defs
Jquery2012 defsJquery2012 defs
Jquery2012 defs
 
ISTA 2019 - Migrating data-intensive microservices from Python to Go
ISTA 2019 - Migrating data-intensive microservices from Python to GoISTA 2019 - Migrating data-intensive microservices from Python to Go
ISTA 2019 - Migrating data-intensive microservices from Python to Go
 
Advanced Topics in Continuous Deployment
Advanced Topics in Continuous DeploymentAdvanced Topics in Continuous Deployment
Advanced Topics in Continuous Deployment
 
The Lean Lifecycle in the Cloud
The Lean Lifecycle in the CloudThe Lean Lifecycle in the Cloud
The Lean Lifecycle in the Cloud
 
Pharo Status
Pharo StatusPharo Status
Pharo Status
 
Games for the Masses (Jax)
Games for the Masses (Jax)Games for the Masses (Jax)
Games for the Masses (Jax)
 

Más de Hernan Mammana

Front End Good Practices
Front End Good PracticesFront End Good Practices
Front End Good Practices
Hernan Mammana
 

Más de Hernan Mammana (11)

The prototype property
The prototype propertyThe prototype property
The prototype property
 
Vender Ropa en MercadoLibre - Mobile First, Progressive Enhancement & RESS
Vender Ropa en MercadoLibre - Mobile First, Progressive Enhancement & RESSVender Ropa en MercadoLibre - Mobile First, Progressive Enhancement & RESS
Vender Ropa en MercadoLibre - Mobile First, Progressive Enhancement & RESS
 
JavaScript regular expression
JavaScript regular expressionJavaScript regular expression
JavaScript regular expression
 
Javascript coding-and-design-patterns
Javascript coding-and-design-patternsJavascript coding-and-design-patterns
Javascript coding-and-design-patterns
 
Getting Started with DOM
Getting Started with DOMGetting Started with DOM
Getting Started with DOM
 
The html5 outline
The html5 outlineThe html5 outline
The html5 outline
 
Front End Good Practices
Front End Good PracticesFront End Good Practices
Front End Good Practices
 
Layout
LayoutLayout
Layout
 
Tipowebgrafía
TipowebgrafíaTipowebgrafía
Tipowebgrafía
 
Semantic markup - Creating Outline
Semantic markup -  Creating OutlineSemantic markup -  Creating Outline
Semantic markup - Creating Outline
 
Frontend for developers
Frontend for developersFrontend for developers
Frontend for developers
 

Chico JS - Q4 Challenges