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




YQL and YUI - Bausteine fuers web