Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Turbolinks 101

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

Turbolinks 101

Avatar for Alessandro Dias Batista

Alessandro Dias Batista

September 19, 2015
Tweet

More Decks by Alessandro Dias Batista

Other Decks in Programming

Transcript

  1. #= require jquery #= require jquery_ujs #= require_tree app #=

    require pickadate/picker #= require pickadate/picker.date #= require select2 #= require jquery.slick #= require jquery.scrollTo #= require jquery-maskedinput #= require refile #= require components/modal
  2. #= require jquery #= require jquery_ujs #= require_tree app #=

    require pickadate/picker #= require pickadate/picker.date #= require select2 #= require cocoon #= require jquery.slick #= require jquery.scrollTo #= require jquery-maskedinput #= require refile #= require jQuery.toggleModifier #= require helpers/toggle_element #= require helpers/token_fields #= require helpers/hide_if #= require helpers/carousel #= require helpers/cocoon #= require helpers/pickadate_translate #= require helpers/pickadate #= require helpers/error_fields #= require helpers/sticky_header #= require helpers/mask_fields #= require components/accordions #= require components/tabs_navigation #= require components/modal #= require components/rounds_navigation #= require components/preview_upload #= require components/social_buttons #= require pages/tournament_creation #= require pages/tournaments #= require pages/player #= require page_control
  3. Single Page Frameworks • É para Single Page applications; •

    Dificulta SEO e acessibilidade; • Precisa de uma camada de API;
  4. Pjax • Configurável; • Boa performance; • Depende do JQuery;

    • Precisa alterar o controller para retornar o conteúdo especifico;
  5. Turbolinks • Desenvolvida pela Basecamp (antiga 37Signals); • Usado na

    versão mobile do campfire; • Simples de add na app; • Não precisa de alteração no backend; • Executa full page load em navegadores incompatíveis;
  6. gem ‘turbolinks’ //= require jquery //= require turbolinks stylesheet_link_tag 'application',

    media: 'all', 'data-turbolinks- track' => true javascript_include_tag 'application', 'data-turbolinks-track' => true
  7. gem ‘jquery-turbolinks’ //= require jquery //= require jquery.turbolinks //= require

    jquery_ujs // ... your other scripts here ... //= require turbolinks