SlideShare a Scribd company logo
ROBOTS HATE YOUR SINGLE-PAGE APP,
LONG LIVE THE ROBOT
Niklas Lindgren
SC5 Online Ltd
Hello World!
My name is Niklas, I’m on the internet:
http://nikc.org/+
http://nikc.org/@
(@nikcorg)
A Single-Page App
<!doctype html>
<html>
<head>
<meta charset=”utf-8”>
<title>My Awesome Single-Page App</title>
<script src=”/js/app.js”></script>
</head>
<body/>
</html>
Robots?
https://developers.google.com/webmasters/ajax-crawling/
From Start to Finish
TodayThe beginning
Today
Rewind 9 Months
The beginning
Toying with the idea
Sharing is Caring
Choosing the Building Blocks
Backbone
&
Underscore
2013 10-02-backbone-robots-aarhus
LayoutManager
&
jQuery / Cheerio
http://layoutmanager.org/
Q.js
https://github.com/kriskowal/q
Handlebars
A Quick Aside About Modules
UMD
https://github.com/umdjs/umd
Cajon
https://github.com/requirejs/cajon
RequireJS
http://requirejs.org/
Code Sharing Demo
https://github.com/nikcorg/commonjs-and-amd
#Include Drupal
Getting the Ball Rolling
Talk HTTP to Me
Wait...Wait...Wait...Wait...OK
Finding Our Way to the Data
This Might Actually Work
The beginning
Toying with the idea
First working prototype
Dear Button,
Y U NO CLICK?
Rebooting in the Browser
Rebooting in the Browser
var FooView = module.exports = Backbone.Layout.extend({
});
Rebooting in the Browser
var FooView = module.exports = Backbone.Layout.extend({
events: {
"change select": "onClick",
"submit": "onSubmit"
},
onClick: function (ev) {
// Magic
},
onSubmit: function (ev) {
// More magic
}
});
Rebooting in the Browser
var FooView = module.exports = Backbone.Layout.extend({
attributes: {
"data-reboot-as": "views/foo"
}
});
Rebooting in the Browser
var FooView = module.exports = Backbone.Layout.extend({
attributes: {
"data-reboot-as": "views/foo"
},
staticInit: function () {
// Hello World!
}
});
Academia Is Perfect For
Laboratory Conditions
From Start to Finish
TodayThe beginning
Toying with the idea
First working prototype
Real work begins
Oh shit.
OH YEAH!
Oh shit.
OH YEAH!
Working With A Less Than Ideal API
Drupal Client
Working With A Less Than Ideal API
Drupal Client
Node.js
#Include Drupal+Magic
Drupal Client
The Joy of Existing in
More Than One Environment
Self-Contained Views
No Hard Dependencies
There’s Always an Exception
Third Party Integrations
What if I Don't Want a
Single-Page App?
What a Shiny Toy!
Can I Play With It?
Questions?
Twitter: @nikcorg
Google+: http://nikc.org/+

More Related Content

PPTX
Get along with JHipster
Dmytro Panin
 
PDF
2020 [pweb] 13 typescript
VICTOR JATOBÁ
 
PDF
Spring framework 4.0
Diego Pacheco
 
KEY
Joys and Pains of Node.js in the Enterprise
Marc Fasel
 
ODP
Android under the hood - GDG + Drippler event
Nir Hartmann
 
PDF
Starters with Django
BeDjango
 
PDF
Angular.js Primer in Aalto University
SC5.io
 
PDF
Securing the client side web
SC5.io
 
Get along with JHipster
Dmytro Panin
 
2020 [pweb] 13 typescript
VICTOR JATOBÁ
 
Spring framework 4.0
Diego Pacheco
 
Joys and Pains of Node.js in the Enterprise
Marc Fasel
 
Android under the hood - GDG + Drippler event
Nir Hartmann
 
Starters with Django
BeDjango
 
Angular.js Primer in Aalto University
SC5.io
 
Securing the client side web
SC5.io
 

Viewers also liked (10)

PDF
Engineering HTML5 Applications for Better Performance
SC5.io
 
PDF
Miten design-muutosjohtaminen hyödyttää yrityksiä?
SC5.io
 
PDF
2013 10-02-html5-performance-aarhus
SC5.io
 
PDF
Helsinki Serverless Meetup 15.6.2016 : AWS Services
Mikael Puittinen
 
PDF
AngularJS: Overview & Key Features
Mohamad Al Asmar
 
PDF
2013 04-02-server-side-backbone
SC5.io
 
PDF
Angular.JS: Do it right
Eugene Zharkov
 
ODP
AngularJs Crash Course
Keith Bloomfield
 
PPTX
AngularJS Architecture
Eyal Vardi
 
PDF
AngularJS 101 - Everything you need to know to get started
Stéphane Bégaudeau
 
Engineering HTML5 Applications for Better Performance
SC5.io
 
Miten design-muutosjohtaminen hyödyttää yrityksiä?
SC5.io
 
2013 10-02-html5-performance-aarhus
SC5.io
 
Helsinki Serverless Meetup 15.6.2016 : AWS Services
Mikael Puittinen
 
AngularJS: Overview & Key Features
Mohamad Al Asmar
 
2013 04-02-server-side-backbone
SC5.io
 
Angular.JS: Do it right
Eugene Zharkov
 
AngularJs Crash Course
Keith Bloomfield
 
AngularJS Architecture
Eyal Vardi
 
AngularJS 101 - Everything you need to know to get started
Stéphane Bégaudeau
 
Ad

Similar to 2013 10-02-backbone-robots-aarhus (11)

ODP
Beyond responsive design - UI for the modern web application - Pete Smith - C...
Codemotion
 
PPTX
Developing and deploying a website with html5
Chris Love
 
PPTX
SearchLove Boston 2013_Will Critchlow_Technical SEO
Distilled
 
PDF
The Art and Science of Shipping Ember Apps
Jesse Cravens
 
PDF
jQuery Mobile: Progressive Enhancement with HTML5
Todd Anderson
 
PPTX
That's crazy! how to build single page web apps
Chris Love
 
PDF
Optimizing for Change (Henrik Joreteg)
Future Insights
 
PPTX
jQuery Mobile
Naeem Junejo
 
PPTX
Jquery Mobile
Logical Minds
 
PDF
Crawling & Indexing for JavaScript Heavy Sites brightonSEO 2021
DavidSmart53
 
PDF
The Future of Web Apps
iCiDIGITAL
 
Beyond responsive design - UI for the modern web application - Pete Smith - C...
Codemotion
 
Developing and deploying a website with html5
Chris Love
 
SearchLove Boston 2013_Will Critchlow_Technical SEO
Distilled
 
The Art and Science of Shipping Ember Apps
Jesse Cravens
 
jQuery Mobile: Progressive Enhancement with HTML5
Todd Anderson
 
That's crazy! how to build single page web apps
Chris Love
 
Optimizing for Change (Henrik Joreteg)
Future Insights
 
jQuery Mobile
Naeem Junejo
 
Jquery Mobile
Logical Minds
 
Crawling & Indexing for JavaScript Heavy Sites brightonSEO 2021
DavidSmart53
 
The Future of Web Apps
iCiDIGITAL
 
Ad

More from SC5.io (7)

PDF
AWS Machine Learning & Google Cloud Machine Learning
SC5.io
 
PDF
Transfer learning with Custom Vision
SC5.io
 
PDF
Practical AI for Business: Bandit Algorithms
SC5.io
 
PDF
Decision trees & random forests
SC5.io
 
PDF
Bandit Algorithms
SC5.io
 
PDF
Machine Learning Using Cloud Services
SC5.io
 
PPTX
Building single page applications
SC5.io
 
AWS Machine Learning & Google Cloud Machine Learning
SC5.io
 
Transfer learning with Custom Vision
SC5.io
 
Practical AI for Business: Bandit Algorithms
SC5.io
 
Decision trees & random forests
SC5.io
 
Bandit Algorithms
SC5.io
 
Machine Learning Using Cloud Services
SC5.io
 
Building single page applications
SC5.io
 

Recently uploaded (20)

PDF
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
PPTX
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
PDF
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
PDF
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
PDF
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 
PDF
Software Development Methodologies in 2025
KodekX
 
PDF
Doc9.....................................
SofiaCollazos
 
PDF
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
codernjn73
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 
Software Development Methodologies in 2025
KodekX
 
Doc9.....................................
SofiaCollazos
 
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
codernjn73
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 

2013 10-02-backbone-robots-aarhus