SlideShare uma empresa Scribd logo
1 de 64
Baixar para ler offline
YQL
and
YUI
                 Bausteine
fürs
web




Chris7an
Heilmann,
Yahoo
internal
talk,
Sunnyvale,
California,
02/02/2010
Ich
bin
dafür
bekannt,

schnell
mal
eine

Webapplika7on
zu
bauen.
hJp://keywordfinder.org/
hJp://isithackday.com/hacks/guardian/
hJp://icant.co.uk/geomaker/index.php
hJp://github.com/codepo8/QuickTrans
hJp://icant.co.uk/goohoobi/index.php?research
hJp://uk‐house‐prices.com/
Der
Grund
ist,
das
ich

schon
bestehende

Bausteine
verwende.
Und
das
gibt
mir
die

Freiheit,
mich
auf

Wich7geres
zu

konzentrieren.
Etwas,
was
mich
langweilt

sind
CSS
layouts.
Aus
diesem
Grund

verwende
ich
ein

bestehendes
Werkzeug

dafür.
hJp://developer.yahoo.com/yui/grids/builder/
hJp://developer.yahoo.com/yui/grids/builder/
Der
Grund
ist
das
ich

Browser
unterstützen
will,

anstaJ
für
sie
zu
arbeiten.
Eine
CSS
URI
zu
erneuern

ist
um
einiges
einfacher,

als
das
CSS
neu
zu

schreiben.
Dinge,
für
die
wir
viel
zu

viel
Zeit
verwenden:
 Browser‐spezifische
Tricks
und
Fehlerbehebungen
 Frühzei7ge
Op7mierung
 Verwendung
unserer
Lieblingstechnologie
‐
egal
wie

 passend.
 Lesen
von
schlechter
und
veralteter
Dokumenta7on
 Verwendung
von
komplexen
Technologien
und
dann

 der
Versuch
eine
barrierefreie
Alterna7vversion
zu

 erstellen.
 Klickibun7
und
Dschingderassabumm
Womit
wir
wirklich

beginnen
sollten,
sind
die

Daten.
Und
hier
kommen
wir
zum

Thema
APIs
und

Webservices.
Das
Problem
mit
denen
ist

das
alle
unterschiedlich

sind,
eigene
Schlüssel

brauchen
und
daten
in

wirren
Formaten

zurückgeben.
YQL



   hJp://developer.yahoo.com/yql/console/
YQL



   hJp://developer.yahoo.com/yql/console/




          select
{was}
from
{wo}
           
where
{kondi7onen}
hJp://isithackday.com/hacks/frankfurt
http://github.com/yql/yql-tables
Ein
paar
Beispiele...

select
*
from
flickr.photos.search

where
text="donkey"
Ein
paar
Beispiele...

select
*
from
flickr.photos.search

where
text="donkey"
and
license=4
Ein
paar
Beispiele...

select
*
from
craigslist.search
where

loca7on="sfay"
and
type="sss"
and

query="flower
pot"
Ein
paar
Beispiele...

select
*
from
google.news
where

q="healthcare"
Ein
paar
Beispiele...
select
*
from
query.mul7
where

queries
in
(
'select
*
from
nyt.ar7cle.search
where

query="healthcare"',
'select
*
from
microsoi.bing.news
where

query="healthcare"',
'select
*
from
google.news
where
q="healthcare"'
)
Ein
paar
Beispiele...

select
content
from
html
where

url="hJp://www.foxnews.com/"
and

xpath="//h2/a"
Ein
paar
Beispiele...
select
*
from
google.translate
where
q

in
(
  select
content
from
html
where

  url="hJp://www.foxnews.com/"
and

  xpath="//h2/a"
)
and
target="fr"
Ein
paar
Beispiele...
insert
into
wordpress.post

(7tle,
descrip7on,
blogurl,
username,

password)

values
("Test
Title",
"This
is
a
test

body",
"hJp://yqltest.wordpress.com",

"yqltest",
"password")
Die
Verwendung
von
YQL

bringt
mehrere
Vorteile:
 Keine
Zeit
damit
zu
verschwenden,

 Dokumenta7on
zu
lesen.
 Die
Verwendung
der
Konsole
macht
es

 einfach
komplexe
Abfragen
zu
erstellen.
 Daten
werden
auf
nur
das
nö7gste
reduziert.
 Dicke
Anbindung
 Caching
und
Konver7erung
 Serversei7ges
JavaScript

YQL
ist
einfach!
(PHP)
YQL
ist
einfach!
(JavaScript)
Normalerweise
erstelle
ich

kleine
APIs
mit
YQL.
Der
Grund:

Wiederverwendung.
Eine
solche
“API”
erlaubt

es
mir
eine
nicht‐JavaScript

Version
zu
erstellen
und
in

der
JavaScript
Version
per

Ajax
die
gleichen
Daten
zu

erhalten.
Ausserdem
kann
man
dann

die
API
auch
anderen

Entwicklern
anbieten
:)
Und
um
das
Interface
zu

bauen,
verwende
ich

Bibliotheken.
Bibliotheken.




                (...)
IT !
         DA M
      SS

  HLU
SC
Webseiten
sollen
von

jedem
verwendbar
sein.

Das
bedeutet
sinniges

HTML
und
CSS.
hJp://icant.co.uk/csscharts/
hJp://uk‐house‐prices.com/graphs.php?
bloc=230&bstart=50&bend=54&start=50&end=54&loc=230
hJp://developer.yahoo.com/yui/ar7cles/hos7ng/#configure
hJp://developer.yahoo.com/yui/examples/autocomplete/
ac_basic_array.html
hJp://developer.yahoo.com/yui/examples/slider/
slider_dual_with_highlight.html
Kleine
Vorschau!
Kinnersch
heutzutage...




                 hJp://www.flickr.com/photos/jamin2/3851031112/
                 hJp://www.flickr.com/photos/codepo8/311805104/
Indem
man
Bausteine

verwendet
und

wiederverwendbare

Skripts
erstellt
kann
man

sehr
schnell
eine

Applika7on

zusammenstellen.
Falls
das
nicht
krea7v

genug
ist,
kann
man
ja
den

Bibliotheken
helfen,
dies

Anderen
zu
erlauben.
Nur
durch
die
Anwendung

und
durch
Testen
in
echten

Produkten
können
wir

unsere
Lösungen

verbessern.
Also,
probier
doch
mal
aus,

was
hier
gezeigt
wurde.

Eventuell
steckt
ja
auch

der
Hacker
in
dir.

Chris7an
Heilmann

hJp://wait‐7ll‐i.com

                                  Thanks!

hJp://developer‐evangelism.com

hJp://twiJer.com/codepo8




Mais conteúdo relacionado

Semelhante a YQL and YUI - Bausteine fuers web

Frontend-Performance @ IPC
Frontend-Performance @ IPCFrontend-Performance @ IPC
Frontend-Performance @ IPCNico Steiner
 
Frontend-Performance mit PHP
Frontend-Performance mit PHPFrontend-Performance mit PHP
Frontend-Performance mit PHPFrank Kleine
 
Bastelstunde mit dem web und freien-daten-webtechcon2010
Bastelstunde mit dem web und freien-daten-webtechcon2010Bastelstunde mit dem web und freien-daten-webtechcon2010
Bastelstunde mit dem web und freien-daten-webtechcon2010Christian Heilmann
 
Web Performance Optimization - Web Tech Conference 2011 Talk
Web Performance Optimization - Web Tech Conference 2011 TalkWeb Performance Optimization - Web Tech Conference 2011 Talk
Web Performance Optimization - Web Tech Conference 2011 TalkFabian Lange
 
PageSpeed Extreme für das große Speed Update 2021
PageSpeed Extreme für das große Speed Update 2021PageSpeed Extreme für das große Speed Update 2021
PageSpeed Extreme für das große Speed Update 2021SEARCH ONE
 
Site Speed EXTREME - SEOkomm 2014
Site Speed EXTREME - SEOkomm 2014Site Speed EXTREME - SEOkomm 2014
Site Speed EXTREME - SEOkomm 2014Bastian Grimm
 
Einstieg in das Vueniverse
Einstieg in das VueniverseEinstieg in das Vueniverse
Einstieg in das VueniverseHendrik Lösch
 
Andy bosch-jsf-javascript
Andy bosch-jsf-javascriptAndy bosch-jsf-javascript
Andy bosch-jsf-javascriptAndy Bosch
 
Mehr Pagespeed geht nicht - SEOkomm 2015
Mehr Pagespeed geht nicht - SEOkomm 2015Mehr Pagespeed geht nicht - SEOkomm 2015
Mehr Pagespeed geht nicht - SEOkomm 2015Bastian Grimm
 
JavaScript Days 2015: Security
JavaScript Days 2015: SecurityJavaScript Days 2015: Security
JavaScript Days 2015: SecurityMayflower GmbH
 
20120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v0220120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v02Chris Palatinus
 
Web Performance Optimization - JAX 2011 Talk
Web Performance Optimization - JAX 2011 TalkWeb Performance Optimization - JAX 2011 Talk
Web Performance Optimization - JAX 2011 TalkFabian Lange
 
Web Performance Optimierung (WPO)
Web Performance Optimierung (WPO)Web Performance Optimierung (WPO)
Web Performance Optimierung (WPO)Martin Kliehm
 
Legacy php - Sanieren oder Ablösen?
Legacy php  - Sanieren oder Ablösen?Legacy php  - Sanieren oder Ablösen?
Legacy php - Sanieren oder Ablösen?Johann-Peter Hartmann
 

Semelhante a YQL and YUI - Bausteine fuers web (16)

Frontend-Performance @ IPC
Frontend-Performance @ IPCFrontend-Performance @ IPC
Frontend-Performance @ IPC
 
Frontend-Performance mit PHP
Frontend-Performance mit PHPFrontend-Performance mit PHP
Frontend-Performance mit PHP
 
Bastelstunde mit dem web und freien-daten-webtechcon2010
Bastelstunde mit dem web und freien-daten-webtechcon2010Bastelstunde mit dem web und freien-daten-webtechcon2010
Bastelstunde mit dem web und freien-daten-webtechcon2010
 
Web Performance Optimization - Web Tech Conference 2011 Talk
Web Performance Optimization - Web Tech Conference 2011 TalkWeb Performance Optimization - Web Tech Conference 2011 Talk
Web Performance Optimization - Web Tech Conference 2011 Talk
 
PageSpeed Extreme für das große Speed Update 2021
PageSpeed Extreme für das große Speed Update 2021PageSpeed Extreme für das große Speed Update 2021
PageSpeed Extreme für das große Speed Update 2021
 
Site Speed EXTREME - SEOkomm 2014
Site Speed EXTREME - SEOkomm 2014Site Speed EXTREME - SEOkomm 2014
Site Speed EXTREME - SEOkomm 2014
 
Einstieg in das Vueniverse
Einstieg in das VueniverseEinstieg in das Vueniverse
Einstieg in das Vueniverse
 
Andy bosch-jsf-javascript
Andy bosch-jsf-javascriptAndy bosch-jsf-javascript
Andy bosch-jsf-javascript
 
Mehr Pagespeed geht nicht - SEOkomm 2015
Mehr Pagespeed geht nicht - SEOkomm 2015Mehr Pagespeed geht nicht - SEOkomm 2015
Mehr Pagespeed geht nicht - SEOkomm 2015
 
HTML5-Features
HTML5-FeaturesHTML5-Features
HTML5-Features
 
JavaScript Days 2015: Security
JavaScript Days 2015: SecurityJavaScript Days 2015: Security
JavaScript Days 2015: Security
 
20120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v0220120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v02
 
Web Performance Optimization - JAX 2011 Talk
Web Performance Optimization - JAX 2011 TalkWeb Performance Optimization - JAX 2011 Talk
Web Performance Optimization - JAX 2011 Talk
 
Web Performance Optimierung (WPO)
Web Performance Optimierung (WPO)Web Performance Optimierung (WPO)
Web Performance Optimierung (WPO)
 
Legacy php - Sanieren oder Ablösen?
Legacy php  - Sanieren oder Ablösen?Legacy php  - Sanieren oder Ablösen?
Legacy php - Sanieren oder Ablösen?
 
How to use Big Data
How to use Big DataHow to use Big Data
How to use Big Data
 

Mais de Christian Heilmann

Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019Christian Heilmann
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilegeChristian Heilmann
 
Seven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloSeven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloChristian Heilmann
 
Artificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynoteArtificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynoteChristian Heilmann
 
Killing the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynoteKilling the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynoteChristian Heilmann
 
Progressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays FinlandProgressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays FinlandChristian Heilmann
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilegeChristian Heilmann
 
Five ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developerFive ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developerChristian Heilmann
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Christian Heilmann
 
You learned JavaScript - now what?
You learned JavaScript - now what?You learned JavaScript - now what?
You learned JavaScript - now what?Christian Heilmann
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Christian Heilmann
 
Progressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReachProgressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReachChristian Heilmann
 
Progressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worldsProgressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worldsChristian Heilmann
 
Non-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humansNon-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humansChristian Heilmann
 
Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center Christian Heilmann
 
CSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. ControlCSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. ControlChristian Heilmann
 
Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Christian Heilmann
 
The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)Christian Heilmann
 

Mais de Christian Heilmann (20)

Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019
 
Hinting at a better web
Hinting at a better webHinting at a better web
Hinting at a better web
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilege
 
Seven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloSeven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC Oslo
 
Artificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynoteArtificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynote
 
Killing the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynoteKilling the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynote
 
Progressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays FinlandProgressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays Finland
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilege
 
Five ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developerFive ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developer
 
Taking the P out of PWA
Taking the P out of PWATaking the P out of PWA
Taking the P out of PWA
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
 
You learned JavaScript - now what?
You learned JavaScript - now what?You learned JavaScript - now what?
You learned JavaScript - now what?
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
 
Progressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReachProgressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReach
 
Progressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worldsProgressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worlds
 
Non-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humansNon-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humans
 
Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center
 
CSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. ControlCSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. Control
 
Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017
 
The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)
 

YQL and YUI - Bausteine fuers web