SlideShare una empresa de Scribd logo
1 de 50
Descargar para leer sin conexión
Build your web apps with
            YQL and YUI
Application = Data manipulation

                                                       +

                                             Data visualization

Yahoo! Presentation Template, Confidential         2
What are we going to cover?
YQL


 Why and what of YQL
 Overview of YQL features
 YQL Console
 Community


YUI
 What is YUI
 YUI3
 Community

Yahoo! Presentation Template, Confidential   3
Why YQL - My application

                       My awesome application
The trouble with Data
   You need to find data API
   Get Access, sign up
   Find data endpoint
   Read docs to learn the API
   Get data in different formats
   Use data after converting and filtering
   Keep up with API changes
   Multiply by number of APIs
   Deal with multiple connections

Yahoo! Presentation Template, Confidential   5
To make data
                             accessible,
                         Yahoo! Created YQL



Yahoo! Presentation Template, Confidential   6
Why – Entering the world of YQL
• Single API spec
                                my awesome application
• SQL-like
• select/insert/update/delete
• Optimization
• Powerful
• Extensible

                                          bindings
What is YQL
 The Yahoo! Query Language is an expressive SQL-like
  language that lets you query, filter, and join data across
  Web services.
 Select * from internet
 SQL-Like Language
  › Familiar to developers
  › Synonymous with data access
 Through the SHOW, DESC commands and the console,
  we enable developers to discover the available data
  sources and structure without opening another Web
  browser.
Yahoo! Presentation Template, Confidential   8
What can YQL do
    show: lists the supported tables

    desc: describes the structure of a table

    select: fetches data

    insert/update/delete: modify data

    use: use an Open Data Table

    set: define key-values across Open Data Tables




Yahoo! Presentation Template, Confidential   9
Filtering, paging, projection
 Table data can be filtered in the WHERE clause
 YQL presents data as “rows”
  › Abstracts away “paging” views of data sources
 In YQL fields are analogous to the columns of a table,
  multiple fields are delimited by commas

select Title,Address from local.search where
query="sushi" and location="san francisco, ca" and
Rating.AverageRating="4.5" LIMIT 2


Yahoo! Presentation Template, Confidential   10
Joining across sources
 Sub-select works the same as normal select

 Example: How to get weather forecast of Hong Kong?
  Join two services from different companies:

select * from weather.forecast where location in (select id
from xml where
url=“http://xoap.weather.com/search/search?where=hong+
kong”)

 Parallelizes execution
Yahoo! Presentation Template, Confidential   11
Post-query manipulation
 YQL includes built-in functions such as sort, unique, truncate, tail,
  reverse.


 Simple post-SELECT processing can be performed by appending
  the “pipe” symbol to the end of the statement
SELECT … |
  sort(field=item.date)
SELECT … | unique(field=item.title) | …

 Functions only operate on the data being returned by the query,
  nothing to do with the tables or data sources themselves


select * from social.profile where guid in (select guid from
social.connections where owner_guid=me) | sort(field="nickname")

Yahoo! Presentation Template, Confidential   12
Benefits




Yahoo! Presentation Template, Confidential   13
YQL Tables
 Built-in Tables
  › Maintained by Yahoo!
  › fantasy sports, weather, answers, flickr, geo, music,
    search, upcoming, mail …
  › Data Tables
    • Specialized tables to fetch raw data from the web
    • csv, html, json, xml …
YQL Tables
 Open tables
  › Brings the power of YQL to any API


 Community tables
  › Someone may have done the work for you already
  › http://datatables.org
  › Tables are hosted on GitHub
    • https://github.com/yql/yql-tables
YQL console
 http://developer.yahoo.com/yql/console/

 Hosted site which executes YQL queries

 IDE (Swiss Army Knife) for YQL Developers

 Quickly discover tables and iterate on queries

 Design, build, and debug

Yahoo! Presentation Template, Confidential   16
YQL Console
Console tables
Query builder and Explorer
YQL usage
 Launched October 28, 2008
 167 tables and 1244 community tables


 Powered Yahoo! properties like Livestand, many mobile apps,
  universal headers notifications, my Yahoo, toolbar. Processing over
  100 billion requests a month.


 Free external community cluster servers 10 billion requests a
  month.




Yahoo! Presentation Template, Confidential   20
YQL Tables on GitHub
Contributing
Process for adding/updating tables on Git
         1.              Fork the YQL Tables project
         2.              Clone your Fork
         3.              Make your changes
         4.              Push Changes / Commit
         5.              Make Pull Request
         6.              YQL Table Admin will moderate and merge changes and generate
                         new push to datatables.org


 Steps 1-5 are standard Git procedures, step 6 is unique
 Git Tutorials
    ›    http://help.github.com/forking
    ›    http://thinkvitamin.com/code/starting-with-git-cheat-sheet
 Yahoo! Presentation Template, Confidential            22
Information
 All YQL info on http://developer.yahoo.com/yql/

 Latest updates on yqlblog.net
  › Some recent updates:
    • New enhancements to console.
    • YQL Table Health and YQL Lint
    • Streaming.




Yahoo! Presentation Template, Confidential   23
Conclusion
 More easily build applications
  › Fewer lines of code
  › Data processing done away from app
  › Consistent and familiar syntax for all data
    access
  › Iterative environment for developing the
    queries

Yahoo! Presentation Template, Confidential   24
Conclusion
 Applications that run faster
  › Service in the cloud does the work
    • Conversion, filtering, parallel requests
  › Smaller network footprint
    • Fewer client calls
    • Smaller data amounts
    • Closer to the data, fatter pipes


                                 YQL = select * from internet
Yahoo! Presentation Template, Confidential     25
Introduce YUI 3
Presenter
• Name                                        WretchCa
                              News
 – Zordius                                       m

 – 陳建宏
                                       Auto   Music
                                  Joke
 – 小Z                                   Lifestyle
                                       Blog
• Job                             Movie
                                              Comic

 – 2003      ~ now @ Yahoo!       Map     Pulse

 – SDE                                 Homepag
                              Wretch      e    Music
 – F2E                                       Download
 2012/3/12
WHAT IS YUI

        28    2012/3/12
What is YUI
• YUI is a free, open source JavaScript and
  CSS framework for building richly
  interactive web applications
• Homepage
 – http://yuilibrary.com/




 2012/3/12
What is YUI
• Why use YUI?
 – Modular  architecture
 – Small, fast
 – Handle X browsers for you

• May I use other frameworks?
 – Yes … for small projects
 – YUI help you more in a large project: modular
   design, i18n, sandbox, plugins…
2012/3/12
What is YUI
• jQuery VS YUI 3


                               jQuery           YUI 3
                     core    Dom + Event         light

             Load modules   manual include       auto

              DOM access    CSS3 selector    CSS3 selector
               operations    OO, chaining    OO, chaining
               Versioning       strict         sandbox
               Extensions     Plugin site     YUI gallery
 2012/3/12
What is YUI
• jQuery code
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script>
$("a").click(function(event) {
       event.preventDefault();
       alert('Hello World!');
});
</script>




 2012/3/12
What is YUI
• jQuery code
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script src="moduleA.js"></script>
<script src="moduleBrequireA.js"></script>
<script>
$("a").click(function(event) {
       event.preventDefault();
       alert('Hello World!');
});
</script>


 2012/3/12
What is YUI
• YUI 3 code
<script src="http://yui.yahooapis.com/3.4.1/build/yui/yui-
  min.js"></script>
<script>
YUI().use('node', 'event', function (Y) {
 Y.one('a').on('click', function (E) {
             E.preventDefault();
             alert('Hello World!');
 });
});
</script>

 2012/3/12
What is YUI
• YUI 3 code
<script src="http://yui.yahooapis.com/3.4.1/build/yui/yui-
  min.js"></script>
<script>
YUI().use('node', 'event', 'moduleBrequireA', function (Y) {
 Y.one('a').on('click', function (E) {
             E.preventDefault();
             alert('Hello World!');
 });
});
</script>

 2012/3/12
YUI 3
• Reset
 –    removes the browser-provided styling for HTML elements
• Base
 –    consistent and basic cross-browser styling
• Fonts
 –    applies a baseline font treatment to all HTML elements
      (Arial , 13px size , 16px line-height)
• Grids

 2012/3/12
YUI 3
• Reset




 2012/3/12
YUI 3
• Reset




 2012/3/12
YUI 3
• Reset + Font




 2012/3/12
YUI 3
• Javascript modules
 – Utilities,   Extensions
 – Plugins
 – Widgets

• Dynamic loaded


2012/3/12
YUI 3
                                    Dynamic
yui-min.js                          loading
   CORE,                                           Dependency
                      YUI().use()                   checking
Module System
                                       Browser
   20.3 K                              specific
                                                     Lazy
                                                   loading



             Module   Module        Module        Module


 2012/3/12
YUI 3
• Plugin
 • Add / remove feature
 • Simple
 • Configurable
 • Y.one(‘#dragdiv’).plug(Y.Plugin.Drag);
 • Y.all(‘.resize’).plug(Y.Plugin.Resize);


 2012/3/12
YUI 3
 Plugin.Align                Plugin.NodeFX
 Plugin.AutoComplete         Plugin.Resize
 Plugin.Base                 Plugin.ResizeConstrained
 Plugin.Cache                Plugin.ResizeProxy
 Plugin.CalendarNavigator    Plugin.ScrollViewList
 Plugin.ConsoleFilters       Plugin.ScrollViewPaginator
 Plugin.CreateLinkBase       Plugin.ScrollViewScrollbars
 Plugin.DDConstrained        Plugin.Shim
 Plugin.DDNodeScroll         Plugin.SortScroll
 Plugin.DDProxy              Plugin.WidgetAnim
 Plugin.DDWindowScroll       plugin.NodeFocusManager
 Plugin.Drag                 plugin.NodeMenuNav
 Plugin.Drop
YUI 3
• Widgets
 • AutoComplete
 • Calendar
 • Charts
 • Dial




2012/3/12
COMMUNITY
Community
 YUI Gallery
 ›    405 modules




 2012/3/12
Community
 Contribute
 ›    Host on github
 ›    Anyone can fork / request push




 2012/3/12
Community

           Visit
  http://yuilibrary.com/


2012/3/12
Yahoo! Developer Network
Thank you!

Más contenido relacionado

Similar a Build your web apps with yql and yui

JavaScript Library Overview (Ajax Exp West 2007)
JavaScript Library Overview (Ajax Exp West 2007)JavaScript Library Overview (Ajax Exp West 2007)
JavaScript Library Overview (Ajax Exp West 2007)jeresig
 
Running YUI 3 on Node.js - JSConf 2010
Running YUI 3 on Node.js - JSConf 2010Running YUI 3 on Node.js - JSConf 2010
Running YUI 3 on Node.js - JSConf 2010Adam Moore
 
JavaScript Libraries (Ajax Exp 2006)
JavaScript Libraries (Ajax Exp 2006)JavaScript Libraries (Ajax Exp 2006)
JavaScript Libraries (Ajax Exp 2006)jeresig
 
YQL Publicis Hackday
YQL Publicis HackdayYQL Publicis Hackday
YQL Publicis HackdayPaul Donnelly
 
jQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPagesjQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPagesTeamstudio
 
Open Hack Taiwan 2012
Open Hack Taiwan 2012Open Hack Taiwan 2012
Open Hack Taiwan 2012Cody Schwebke
 
YUI3 and AlloyUI Introduction for Pernambuco.JS 2012
YUI3 and AlloyUI Introduction for Pernambuco.JS 2012YUI3 and AlloyUI Introduction for Pernambuco.JS 2012
YUI3 and AlloyUI Introduction for Pernambuco.JS 2012Eduardo Lundgren
 
JavaScript for ASP.NET programmers (webcast) upload
JavaScript for ASP.NET programmers (webcast) uploadJavaScript for ASP.NET programmers (webcast) upload
JavaScript for ASP.NET programmers (webcast) uploadRuss Fustino
 
夜宴49期《YUI Conf 2010》
夜宴49期《YUI Conf 2010》夜宴49期《YUI Conf 2010》
夜宴49期《YUI Conf 2010》Koubei Banquet
 
[Rakuten TechConf2014] [Fukuoka] Case Study of Financial Web Systems Developm...
[Rakuten TechConf2014] [Fukuoka] Case Study of Financial Web Systems Developm...[Rakuten TechConf2014] [Fukuoka] Case Study of Financial Web Systems Developm...
[Rakuten TechConf2014] [Fukuoka] Case Study of Financial Web Systems Developm...Rakuten Group, Inc.
 
Open Source Junction: Apache Wookie and W3C Widgets
Open Source Junction: Apache Wookie and W3C WidgetsOpen Source Junction: Apache Wookie and W3C Widgets
Open Source Junction: Apache Wookie and W3C Widgetsscottw
 
Wookie Intro
Wookie IntroWookie Intro
Wookie Introscottw
 
Let's run JavaScript Everywhere
Let's run JavaScript EverywhereLet's run JavaScript Everywhere
Let's run JavaScript EverywhereTom Croucher
 
Red Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
Red Hat JBoss BRMS and BPMS Workbench and Rich Client TechnologyRed Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
Red Hat JBoss BRMS and BPMS Workbench and Rich Client TechnologyMark Proctor
 
Yui conf nov8-2010-introtoyql
Yui conf nov8-2010-introtoyqlYui conf nov8-2010-introtoyql
Yui conf nov8-2010-introtoyqlmirekgrymuza
 
Case Study: Plus Retail - Moving from the Old World to the New World
Case Study: Plus Retail - Moving from the Old World to the New WorldCase Study: Plus Retail - Moving from the Old World to the New World
Case Study: Plus Retail - Moving from the Old World to the New WorldForgeRock
 

Similar a Build your web apps with yql and yui (20)

JavaScript Library Overview (Ajax Exp West 2007)
JavaScript Library Overview (Ajax Exp West 2007)JavaScript Library Overview (Ajax Exp West 2007)
JavaScript Library Overview (Ajax Exp West 2007)
 
Running YUI 3 on Node.js - JSConf 2010
Running YUI 3 on Node.js - JSConf 2010Running YUI 3 on Node.js - JSConf 2010
Running YUI 3 on Node.js - JSConf 2010
 
JavaScript Libraries (Ajax Exp 2006)
JavaScript Libraries (Ajax Exp 2006)JavaScript Libraries (Ajax Exp 2006)
JavaScript Libraries (Ajax Exp 2006)
 
YQL Publicis Hackday
YQL Publicis HackdayYQL Publicis Hackday
YQL Publicis Hackday
 
jQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPagesjQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPages
 
Open Hack Taiwan 2012
Open Hack Taiwan 2012Open Hack Taiwan 2012
Open Hack Taiwan 2012
 
YUI3 and AlloyUI Introduction for Pernambuco.JS 2012
YUI3 and AlloyUI Introduction for Pernambuco.JS 2012YUI3 and AlloyUI Introduction for Pernambuco.JS 2012
YUI3 and AlloyUI Introduction for Pernambuco.JS 2012
 
JavaScript for ASP.NET programmers (webcast) upload
JavaScript for ASP.NET programmers (webcast) uploadJavaScript for ASP.NET programmers (webcast) upload
JavaScript for ASP.NET programmers (webcast) upload
 
夜宴49期《YUI Conf 2010》
夜宴49期《YUI Conf 2010》夜宴49期《YUI Conf 2010》
夜宴49期《YUI Conf 2010》
 
Banquet 49
Banquet 49Banquet 49
Banquet 49
 
[Rakuten TechConf2014] [Fukuoka] Case Study of Financial Web Systems Developm...
[Rakuten TechConf2014] [Fukuoka] Case Study of Financial Web Systems Developm...[Rakuten TechConf2014] [Fukuoka] Case Study of Financial Web Systems Developm...
[Rakuten TechConf2014] [Fukuoka] Case Study of Financial Web Systems Developm...
 
Introduction to YUI
Introduction to YUIIntroduction to YUI
Introduction to YUI
 
Open Source Junction: Apache Wookie and W3C Widgets
Open Source Junction: Apache Wookie and W3C WidgetsOpen Source Junction: Apache Wookie and W3C Widgets
Open Source Junction: Apache Wookie and W3C Widgets
 
Wookie Intro
Wookie IntroWookie Intro
Wookie Intro
 
Let's run JavaScript Everywhere
Let's run JavaScript EverywhereLet's run JavaScript Everywhere
Let's run JavaScript Everywhere
 
Red Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
Red Hat JBoss BRMS and BPMS Workbench and Rich Client TechnologyRed Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
Red Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
 
Yui conf nov8-2010-introtoyql
Yui conf nov8-2010-introtoyqlYui conf nov8-2010-introtoyql
Yui conf nov8-2010-introtoyql
 
DrupalCon 2011 Highlight
DrupalCon 2011 HighlightDrupalCon 2011 Highlight
DrupalCon 2011 Highlight
 
BackboneJS
BackboneJSBackboneJS
BackboneJS
 
Case Study: Plus Retail - Moving from the Old World to the New World
Case Study: Plus Retail - Moving from the Old World to the New WorldCase Study: Plus Retail - Moving from the Old World to the New World
Case Study: Plus Retail - Moving from the Old World to the New World
 

Último

Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 

Último (20)

Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

Build your web apps with yql and yui

  • 1. Build your web apps with YQL and YUI
  • 2. Application = Data manipulation + Data visualization Yahoo! Presentation Template, Confidential 2
  • 3. What are we going to cover? YQL  Why and what of YQL  Overview of YQL features  YQL Console  Community YUI  What is YUI  YUI3  Community Yahoo! Presentation Template, Confidential 3
  • 4. Why YQL - My application My awesome application
  • 5. The trouble with Data  You need to find data API  Get Access, sign up  Find data endpoint  Read docs to learn the API  Get data in different formats  Use data after converting and filtering  Keep up with API changes  Multiply by number of APIs  Deal with multiple connections Yahoo! Presentation Template, Confidential 5
  • 6. To make data accessible, Yahoo! Created YQL Yahoo! Presentation Template, Confidential 6
  • 7. Why – Entering the world of YQL • Single API spec my awesome application • SQL-like • select/insert/update/delete • Optimization • Powerful • Extensible bindings
  • 8. What is YQL  The Yahoo! Query Language is an expressive SQL-like language that lets you query, filter, and join data across Web services.  Select * from internet  SQL-Like Language › Familiar to developers › Synonymous with data access  Through the SHOW, DESC commands and the console, we enable developers to discover the available data sources and structure without opening another Web browser. Yahoo! Presentation Template, Confidential 8
  • 9. What can YQL do show: lists the supported tables desc: describes the structure of a table select: fetches data insert/update/delete: modify data use: use an Open Data Table set: define key-values across Open Data Tables Yahoo! Presentation Template, Confidential 9
  • 10. Filtering, paging, projection  Table data can be filtered in the WHERE clause  YQL presents data as “rows” › Abstracts away “paging” views of data sources  In YQL fields are analogous to the columns of a table, multiple fields are delimited by commas select Title,Address from local.search where query="sushi" and location="san francisco, ca" and Rating.AverageRating="4.5" LIMIT 2 Yahoo! Presentation Template, Confidential 10
  • 11. Joining across sources  Sub-select works the same as normal select  Example: How to get weather forecast of Hong Kong? Join two services from different companies: select * from weather.forecast where location in (select id from xml where url=“http://xoap.weather.com/search/search?where=hong+ kong”)  Parallelizes execution Yahoo! Presentation Template, Confidential 11
  • 12. Post-query manipulation  YQL includes built-in functions such as sort, unique, truncate, tail, reverse.  Simple post-SELECT processing can be performed by appending the “pipe” symbol to the end of the statement
SELECT … | sort(field=item.date)
SELECT … | unique(field=item.title) | …  Functions only operate on the data being returned by the query, nothing to do with the tables or data sources themselves select * from social.profile where guid in (select guid from social.connections where owner_guid=me) | sort(field="nickname") Yahoo! Presentation Template, Confidential 12
  • 14. YQL Tables  Built-in Tables › Maintained by Yahoo! › fantasy sports, weather, answers, flickr, geo, music, search, upcoming, mail … › Data Tables • Specialized tables to fetch raw data from the web • csv, html, json, xml …
  • 15. YQL Tables  Open tables › Brings the power of YQL to any API  Community tables › Someone may have done the work for you already › http://datatables.org › Tables are hosted on GitHub • https://github.com/yql/yql-tables
  • 16. YQL console  http://developer.yahoo.com/yql/console/  Hosted site which executes YQL queries  IDE (Swiss Army Knife) for YQL Developers  Quickly discover tables and iterate on queries  Design, build, and debug Yahoo! Presentation Template, Confidential 16
  • 19. Query builder and Explorer
  • 20. YQL usage  Launched October 28, 2008  167 tables and 1244 community tables  Powered Yahoo! properties like Livestand, many mobile apps, universal headers notifications, my Yahoo, toolbar. Processing over 100 billion requests a month.  Free external community cluster servers 10 billion requests a month. Yahoo! Presentation Template, Confidential 20
  • 21. YQL Tables on GitHub
  • 22. Contributing Process for adding/updating tables on Git 1. Fork the YQL Tables project 2. Clone your Fork 3. Make your changes 4. Push Changes / Commit 5. Make Pull Request 6. YQL Table Admin will moderate and merge changes and generate new push to datatables.org  Steps 1-5 are standard Git procedures, step 6 is unique  Git Tutorials › http://help.github.com/forking › http://thinkvitamin.com/code/starting-with-git-cheat-sheet Yahoo! Presentation Template, Confidential 22
  • 23. Information  All YQL info on http://developer.yahoo.com/yql/  Latest updates on yqlblog.net › Some recent updates: • New enhancements to console. • YQL Table Health and YQL Lint • Streaming. Yahoo! Presentation Template, Confidential 23
  • 24. Conclusion  More easily build applications › Fewer lines of code › Data processing done away from app › Consistent and familiar syntax for all data access › Iterative environment for developing the queries Yahoo! Presentation Template, Confidential 24
  • 25. Conclusion  Applications that run faster › Service in the cloud does the work • Conversion, filtering, parallel requests › Smaller network footprint • Fewer client calls • Smaller data amounts • Closer to the data, fatter pipes YQL = select * from internet Yahoo! Presentation Template, Confidential 25
  • 27. Presenter • Name WretchCa News – Zordius m – 陳建宏 Auto Music Joke – 小Z Lifestyle Blog • Job Movie Comic – 2003 ~ now @ Yahoo! Map Pulse – SDE Homepag Wretch e Music – F2E Download 2012/3/12
  • 28. WHAT IS YUI 28 2012/3/12
  • 29. What is YUI • YUI is a free, open source JavaScript and CSS framework for building richly interactive web applications • Homepage – http://yuilibrary.com/ 2012/3/12
  • 30. What is YUI • Why use YUI? – Modular architecture – Small, fast – Handle X browsers for you • May I use other frameworks? – Yes … for small projects – YUI help you more in a large project: modular design, i18n, sandbox, plugins… 2012/3/12
  • 31. What is YUI • jQuery VS YUI 3 jQuery YUI 3 core Dom + Event light Load modules manual include auto DOM access CSS3 selector CSS3 selector operations OO, chaining OO, chaining Versioning strict sandbox Extensions Plugin site YUI gallery 2012/3/12
  • 32. What is YUI • jQuery code <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> <script> $("a").click(function(event) { event.preventDefault(); alert('Hello World!'); }); </script> 2012/3/12
  • 33. What is YUI • jQuery code <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> <script src="moduleA.js"></script> <script src="moduleBrequireA.js"></script> <script> $("a").click(function(event) { event.preventDefault(); alert('Hello World!'); }); </script> 2012/3/12
  • 34. What is YUI • YUI 3 code <script src="http://yui.yahooapis.com/3.4.1/build/yui/yui- min.js"></script> <script> YUI().use('node', 'event', function (Y) { Y.one('a').on('click', function (E) { E.preventDefault(); alert('Hello World!'); }); }); </script> 2012/3/12
  • 35. What is YUI • YUI 3 code <script src="http://yui.yahooapis.com/3.4.1/build/yui/yui- min.js"></script> <script> YUI().use('node', 'event', 'moduleBrequireA', function (Y) { Y.one('a').on('click', function (E) { E.preventDefault(); alert('Hello World!'); }); }); </script> 2012/3/12
  • 36. YUI 3 • Reset – removes the browser-provided styling for HTML elements • Base – consistent and basic cross-browser styling • Fonts – applies a baseline font treatment to all HTML elements (Arial , 13px size , 16px line-height) • Grids 2012/3/12
  • 37. YUI 3 • Reset 2012/3/12
  • 38. YUI 3 • Reset 2012/3/12
  • 39. YUI 3 • Reset + Font 2012/3/12
  • 40. YUI 3 • Javascript modules – Utilities, Extensions – Plugins – Widgets • Dynamic loaded 2012/3/12
  • 41. YUI 3 Dynamic yui-min.js loading CORE, Dependency YUI().use() checking Module System Browser 20.3 K specific Lazy loading Module Module Module Module 2012/3/12
  • 42. YUI 3 • Plugin • Add / remove feature • Simple • Configurable • Y.one(‘#dragdiv’).plug(Y.Plugin.Drag); • Y.all(‘.resize’).plug(Y.Plugin.Resize); 2012/3/12
  • 43. YUI 3  Plugin.Align  Plugin.NodeFX  Plugin.AutoComplete  Plugin.Resize  Plugin.Base  Plugin.ResizeConstrained  Plugin.Cache  Plugin.ResizeProxy  Plugin.CalendarNavigator  Plugin.ScrollViewList  Plugin.ConsoleFilters  Plugin.ScrollViewPaginator  Plugin.CreateLinkBase  Plugin.ScrollViewScrollbars  Plugin.DDConstrained  Plugin.Shim  Plugin.DDNodeScroll  Plugin.SortScroll  Plugin.DDProxy  Plugin.WidgetAnim  Plugin.DDWindowScroll  plugin.NodeFocusManager  Plugin.Drag  plugin.NodeMenuNav  Plugin.Drop
  • 44. YUI 3 • Widgets • AutoComplete • Calendar • Charts • Dial 2012/3/12
  • 46. Community  YUI Gallery › 405 modules 2012/3/12
  • 47. Community  Contribute › Host on github › Anyone can fork / request push 2012/3/12
  • 48. Community Visit http://yuilibrary.com/ 2012/3/12