SlideShare uma empresa Scribd logo
1 de 127
的昨天、今天与明天

                   承玉
    yiminghe@gmail.com




                     1
定位、目标


  立足淘宝业务,服务电子商
务行业,做一个功能全面、灵活
定制、社区活跃的前端框架.
            - kissyteam
大纲
• KISSY 的昨天

• KISSY 今天与明天
 –   seed
 –   core
 –   component
 –   gallery
 –   sub project
KISSY
• 2009.07 – 2009.12 构思期

• 2010.01 – 2010.07 孕育期

• 2010.07 – 2011.01 快速成长期

• 2011.01 – now     稳固发展期
• KISSY 的昨天
2009 构思
2009
• KISSY Editor 1.0

  – 依赖 YUI2 Core
  – KISSY 雏形
    •   mix
    •   add
    •   app
    •   ready
2010上 孕育




• KISSY 1.0.0 – 1.0.8
2010上
• KISSY 1.0.0 – 1.0.8
  – getScript/cookie/dom/event/json/node
  – css/common/grid/reset.css

  – datalazyload/suggest/switchable/editor/
    swf(flash)
• suggest
• switchable
  – tab/carousel/slide
2010 下 快速成长期




全职的 kissyteam + 志愿者

  KISSY 1.1.0 – 1.1.7
2010 下
• 核心基本可用
 – simple loader => seajs
 – ajax/anim/dom/event/node/ua/base/cookie
 – cssreset/grid/common.css


• 组件兼容
 – switchable/suggest/datalazyload/flash
2010 下



• 更多的组件
2010 下
• Calendar
  – 日期选择
  – 范围限定
  – 事件触发
• Ajbridge:javascript 和 flash 的桥梁

    – storage
    – uploader
    – communication
• Imagezoom:图片放大镜
 – 多种放大形式自由选择
• Overlay:浮层控制
 – align
 – width/height
 – drag
New KISSY Editor
• 底层稳定
• 插件丰富
• Draggable 节点可拖放

• Template 模板系统
 – logic
 – 控制结构自定义
• KISSY 今天 v1.2 的变化
概况
sub project   • kissy-nodejs/kissy-tools…


  gallery     • grid/chart/kscroll…


component     • editor/overlay/switchable…


   core       • dom/event/base…


   seed       • lang/loader
seed
seed
• 语言增强&前提准备
 – mix/merge/clone/extend…
 – each/map/reduce/bind…
 – escapeHTML/param/substitute…

 – ready/globalEval…

 – config()
• module mechanism

                     package




           module
          compiler



                               AMD
AMD
KISSY.add
          module registration


KISSY.add(function(S,DOM){
        // TODO!
},{
        requires:[“dom”]
});
KISSY.use

                 Use modules


KISSY.use(“overlay,switchable”,
function(S,Overlay,Switchable){
         // TODO!
});
package
KISSY.config
            Package config


KISSY.config({
        packages:[{
               name:”yourpackage”
               path:”yourpath”
        }]
});
module compiler
module compiler
   Combine modules
<java classname="com.taobao.f2e.Main">
     <arg value="-requires"/>
     <!-- 入口模块 -->
     <arg value="youpackage/xx"/>
     <arg value="-baseUrls"/>
     <arg value="${assets.dir}"/>
     <arg value="-encodings"/>
     <arg value="${charset}"/>
     <arg value="-outputEncoding"/>
     <arg value="${charset}"/>
     <arg value="-output"/>
     <arg value="xx.combo.js"/>
     <classpath>
          <pathelement path="${module.compiler}"/>
          <pathelement path="${java.class.path}"/>
     </classpath>
</java>
core
core
DOM
– query(selector,context):context 限制同selector


– clone:克隆自身以及事件

– inner/outer|Width/Height
Event
Unified registration
• 原生节点
 – S.one(domNode).on(“click”,fn,context)


• 自定义事件
 – obj.on(“customEvent”,fn,context)
fire
• Native event
  – S.one(domNode).fire(“click”)


• Custom event
  – obj.fire(“customEvent”)
bubbling
• Native event

    ul id=„test‟

           li


                        S.all(“#test li”).on(“click”,fn)
           li


           li
delegation
• Native event

    ul id=„test‟        S.one(“#test”).delegate(“click”,”li”,fn)

           li


           li


           li
Custom event
• registration


        obj1


                      obj[1..3].on(“customEvent”,fn)
        obj2


        obj3
Custom event
Bubble and delegation


 host                   host.on(“customEvent”,fn)

        obj1
                        e.target instanceof Obj

        obj2


        obj3            obj.addTarget(host);
                        Obj.publish(“customEvent”,{
                                 bubbles:true
                        });
DOM事件补全

•   submit/change @ie bubble
•   focusin/out @non-ie
•   mouseenter/leave @non-ie
•   hashchange @ie
•   mousewheel @firefox
•   valuechange @all
ajax
ajax
IO
io
XMLHttpRequest

KISSY.io({
        url : ‟getJson.htm‟,
        cache : false,
        type : ‟get‟,// „post‟
        data : { x: 1},
        dataType : ‟json‟, // „text‟?
        success : function(d){
        },
        error : function(_,reason){
        },
        complete : function(){
        }
});
JSONP

KISSY.io({
        url : ‟getJsonp.htm‟,
        type : ‟get‟,// „post‟
        cache : false,
        data : { x: 1},
        dataType : ‟jsonp‟,
        success : function(d){
        },
        error : function(_,reason){
        },
        complete : function(){
        }
});
file upload

KISSY.io({
        url : ‟upload.htm‟,
        type : „post‟,              <form id=„formEl‟ method=„post‟
        data : {x: 1},              enctype=„multipart/form-data‟ >
        dataType : ‟json‟,          <input name=„f‟ type=„file‟ />
        form: „#formEl‟,            </form>
        success : function(d){
        },
        error : function(_,reason){
        },
        complete : function(){
        }
});
form serialization

KISSY.io({
        url : ‟getJson.htm‟,
        type : „post‟,                <form id=„formEl‟ >
        data : {x: 1},                <input name=„f‟ value=„s‟ />
        dataType : ‟json‟,            </form>
        form: „#formEl‟,
        success : function(d){
        },
        error : function(_,reason){
        },
        complete : function(){
        }
});
xdr
• Cross domain request
  – Sub domain
    { xdr : { subDomain :
         { proxy : ”/proxy.html” } // 默认:/sub_domain_proxy.html
    }}


  – Different domain
    • transparent in client
    • server apply to CORS
cancellable




  xhr.abort();
anim
• memory efficient
  – 1.1.6




  – 1.2
• Less cpu
more
• support scrollTop/Left
more
• support scrollTop/Left

• Support queue
  – Stop single animation
  – Stop single queue
  – Stop all queues
node
Easy to use
DOM
Event


        Anim




    Node
• Easy chained query



             S.all(“.cls”).all(“a”)
              .css(“color”,”red”)
                    .end()
            .css(“color”,”green”);
Easy node creation

S.all(“<div class=„easy‟>kissy</div>”).
appendTo(document.body);
Easy dom operation


node.appendTo(another);
node.css(„color‟,‟red‟);
node.attr(“checked”)
Easy event registration


node.on(„click‟,fn);
node.delegate(„click‟,‟a‟,fn);
node.detach(„click‟)
node.fire(„click‟)
Easy animation

node.animate({left:”100px”,top:”100px”});
node.stop();
node.stop(true);
node.isRunning();
node.stop(true,true,queueName);

node.slideToggle();
node.fadeToggle();
base
• Solid foundation
Support validator

MyClass.ATTRS={
        myAttr:{
                 validator:function(v){
                          return v>10;
                 }
        }
};

myClass.set(“myAttr”,1) // => false
Support bulk set


myClass.set({
     attr1 : v1,
     attr2 : v2,
     attr3 : v3
});
Support sub attribute



myClass.set(“attr”, { child1:1 });

myClass.set( “attr.child2” , ”2”);

myClass.get(“attr”) // => { child1:1,child2:2}
兼容
• ua



• json



• Cookie
Component
component
dd
dd
• Droppable
   – 可放置区域
• DraggableDelegate
   – 拖委托
• DroppableDelegate
   – 放委托
• Proxy
   – 拖代理
• Scroll
   – 容器自适应滚动
switchable

• aria



• keyboard
resizable




new Resizable({
       node : ”#container”,
       handlers: [“b”,”tl”], // 可拖动位置
       // 最大最小宽高
       minHeight : 50,
       maxHeight : 100,
       minWidth : 40,
       maxWidth : 400
});
validation
• 配置简单

• 丰富的验证规则

• 多重验证,依赖验证

• 自定义验证规则

• 多种信息提示方式
waterfall
与时俱进的新布局

new Waterfall.Loader({
      // 容器
      container:"#ColumnContainer",
      // 加载方式
      load: function(success, end) {
         $('#loadingPins').show();
         S.ajax({
             success: function(d) {
                // 如果数据错误, 则立即结束
                if (d.stat !== 'ok') {
                    alert('load data error!');
                    // 停止加载
                    end();
                    return;
                }
                // 拼装每页数据
                var items = [];
                        // 继续加载
                success (items);
             },
             complete: function() {
                $('#loadingPins').hide();
             }
         });
      },
      // 最小列数
      minColCount : 2,
      // 列宽度
      colWidth : 228
  });
mvc
• Scaffold for KISSY app.
  – Model / Collection
     • Base
  – View
  – Router
  – Sync
editor is module too!



KISSY.use(“editor”,function(S , Editor){
      new Editor(…).use(…);
});
Consistent interface
Consistent interface
• Consistent interface across most components
   – set() / get()

   – new / render() / show() / hide() / destroy()

   – addChild()/removeChild()

   – width/height/prefixCls/render
Consistent interface
• Consistent interface across most components
   – set() / get()
   – new / render() / show() / hide() / destroy()
   – addChild()/removeChild()
   – width/height/prefixCls/render



• Overlay / Menu / MenuButton / Button / Tree
overlay
• closeAction
  – hide / destroy



  new Overlay.Dialog({
    closeAction : “hide”
  });
overlay

• aria
  – 焦点捕获
• resize
  – 配合 resizable
• effect
  – none/ fade/ slide
Simulated controls
• Button
  – attributes
     • disabled
     • content
     • Value
  – events
     • click
Simulated controls
• Menu
  – events
     • click
• MenuItem
  – Attributes
     •   selectable
     •   checkable
     •   value
     •   content
• MenuButton
  – Attributes
     • Menu
     • menuCfg
  – Events
     • Click
  – Method
     • addItem
     • removeItem
• Tree
   – Events
       • click

• TreeNode
   – Attributes
      • content
      • selected
      • expanded
   – Methods
      • select()
      • collapse()
gallery
gallery
usage

KISSY.config({ packages : [{
        name : ‟gallery‟,
        path : ‟http://a.tbcdn.cn/s/kissy/‟
}] });



KISSY.use(“gallery/name/version/”)
• grid
  – gallery/grid/1.0/
  – 董晓庆 (lp.taobao.com)
• chart
  – gallery/chart/1.0
  – 文龙
• uploader
  – gallery/form/1.0
  – 剑平 & …
• Starrating
  – gallery/starrating/1.0
  – 盛艳(乔花)
• kscroll
  – gallery/kscroll/1.0
  – 常胤
• huabao
  – Gallery/huabao/1.0/
  – 法海
• Countdown
  – gallery/countdown/1.0
  – 基德
• Reflection
  – gallery/reflection/1.0
  – 元泉
• image-tagging
  – gallery/image-tagging/1.0
  – 乔福
• more
  – Selectable
  – Spotlight
  – Pagination
  – Magnifier
  – …..


• 25
Look forward to your participation
Sub project
Sub project

•   Kissy-tools : 工具集合
•   Kissy-util : 代码片段
•   Kissy-dpl : 设计模式规范库
•   Kissy-ajbridge : as-js 桥梁
•   Kissy-nodejs : kissy on nodejs
Kissy-nodejs
• nodejs-kissy
  – ui-less unit test
• nodejs-kissy
  – ui-less unit test


• npm install KISSY
  – KISSY = require(“KISSY”);
  – KISSY.config()
  – KISSY.add
  – KISSY.use
KISSY 的明天
• Loader
   – Auto combo
   – Load on demand

• S.use("overlay,calendar,switchable,
  suggest,gallery/kscroll/1.0/");
• Loader
   – Auto combo v1.3
   – Load on demand v1.3

• S.use("overlay,calendar,switchable,
  suggest,gallery/kscroll/1.0/");
• Core
  – Stable
• Core
  – Stable
  – Bug-free
    • Github issue
• Core
  – Stable
  – Bug-free
  – api-friendly
     • more sugar ?
     • Promise api v1.3
• Core
  – Stable
  – Bug-free
  – api-friendly
  – Evolve
     • namespace in event v1.3
     • pause/resume in anim v1.3
     • wrap in DOM v1.3
• Component
  – Consistent interface
    • Suggest => Autocomplete v1.3
    • Switchable -> Tab v1.3
    •…
• Component
  – Consistent interface
  – Full-featured components
    • Switchable – enhancement v1.3
    •…
• Component
  – Consistent interface
  – Full-featured components
  – performance
    • ie
• Component
  – Consistent interface
  – Full-featured components
  – performance
  – Scalability
    • Easy to customize
• Component
  – Consistent interface
  – Full-featured components
  – performance
  – Scalability
  – Test case covered
    • more tc
• Editor
  – Open – API

  – Load on demand v1.3

  – Core functionality covered by test case

  – Plugin gallery
• KISSY - Gallery
  – Open

  – Promotion

  – Easy to use
• KISSY Sub Project
  – KISSY Mobile ?

  – Game Engine ?

  – Parser ?

  – Welcome !
• Contact kissyteam
  – Docs:
     http://docs.kissyui.com
  – Bug:
     http://github.com/kissyteam/kissy/issues
  – email:
     kissyteam@gmail.com
  – Twitter:
     http://twitter.com/#!/kissyteam
  – Google Group:
     http://groups.google.com/group/kissy-ui
KISSY 的昨天、今天与明天

Mais conteúdo relacionado

Mais procurados

Introduction to Nodejs
Introduction to NodejsIntroduction to Nodejs
Introduction to NodejsGabriele Lana
 
Stratalux Cloud Formation and Chef Integration Presentation
Stratalux Cloud Formation and Chef Integration PresentationStratalux Cloud Formation and Chef Integration Presentation
Stratalux Cloud Formation and Chef Integration PresentationJeremy Przygode
 
The state of your own hypertext preprocessor
The state of your own hypertext preprocessorThe state of your own hypertext preprocessor
The state of your own hypertext preprocessorAlessandro Nadalin
 
Mongoose and MongoDB 101
Mongoose and MongoDB 101Mongoose and MongoDB 101
Mongoose and MongoDB 101Will Button
 
[Coscup 2012] JavascriptMVC
[Coscup 2012] JavascriptMVC[Coscup 2012] JavascriptMVC
[Coscup 2012] JavascriptMVCAlive Kuo
 
Symfony2 from the Trenches
Symfony2 from the TrenchesSymfony2 from the Trenches
Symfony2 from the TrenchesJonathan Wage
 
Doctrine MongoDB Object Document Mapper
Doctrine MongoDB Object Document MapperDoctrine MongoDB Object Document Mapper
Doctrine MongoDB Object Document MapperJonathan Wage
 
From mysql to MongoDB(MongoDB2011北京交流会)
From mysql to MongoDB(MongoDB2011北京交流会)From mysql to MongoDB(MongoDB2011北京交流会)
From mysql to MongoDB(MongoDB2011北京交流会)Night Sailer
 
Web Components With Rails
Web Components With RailsWeb Components With Rails
Web Components With RailsBoris Nadion
 
DOM Scripting Toolkit - jQuery
DOM Scripting Toolkit - jQueryDOM Scripting Toolkit - jQuery
DOM Scripting Toolkit - jQueryRemy Sharp
 
Forget the Web
Forget the WebForget the Web
Forget the WebRemy Sharp
 
Paris js extensions
Paris js extensionsParis js extensions
Paris js extensionserwanl
 
Web::Machine - Simpl{e,y} HTTP
Web::Machine - Simpl{e,y} HTTPWeb::Machine - Simpl{e,y} HTTP
Web::Machine - Simpl{e,y} HTTPMichael Francis
 
2015 02-09 - NoSQL Vorlesung Mosbach
2015 02-09 - NoSQL Vorlesung Mosbach2015 02-09 - NoSQL Vorlesung Mosbach
2015 02-09 - NoSQL Vorlesung MosbachJohannes Hoppe
 
ZendCon2010 Doctrine MongoDB ODM
ZendCon2010 Doctrine MongoDB ODMZendCon2010 Doctrine MongoDB ODM
ZendCon2010 Doctrine MongoDB ODMJonathan Wage
 
HTML5: where flash isn't needed anymore
HTML5: where flash isn't needed anymoreHTML5: where flash isn't needed anymore
HTML5: where flash isn't needed anymoreRemy Sharp
 
History of jQuery
History of jQueryHistory of jQuery
History of jQueryjeresig
 

Mais procurados (20)

Introduction to Nodejs
Introduction to NodejsIntroduction to Nodejs
Introduction to Nodejs
 
Stratalux Cloud Formation and Chef Integration Presentation
Stratalux Cloud Formation and Chef Integration PresentationStratalux Cloud Formation and Chef Integration Presentation
Stratalux Cloud Formation and Chef Integration Presentation
 
The state of your own hypertext preprocessor
The state of your own hypertext preprocessorThe state of your own hypertext preprocessor
The state of your own hypertext preprocessor
 
Mongoose and MongoDB 101
Mongoose and MongoDB 101Mongoose and MongoDB 101
Mongoose and MongoDB 101
 
[Coscup 2012] JavascriptMVC
[Coscup 2012] JavascriptMVC[Coscup 2012] JavascriptMVC
[Coscup 2012] JavascriptMVC
 
Symfony2 from the Trenches
Symfony2 from the TrenchesSymfony2 from the Trenches
Symfony2 from the Trenches
 
Html5 For Jjugccc2009fall
Html5 For Jjugccc2009fallHtml5 For Jjugccc2009fall
Html5 For Jjugccc2009fall
 
Doctrine MongoDB Object Document Mapper
Doctrine MongoDB Object Document MapperDoctrine MongoDB Object Document Mapper
Doctrine MongoDB Object Document Mapper
 
From mysql to MongoDB(MongoDB2011北京交流会)
From mysql to MongoDB(MongoDB2011北京交流会)From mysql to MongoDB(MongoDB2011北京交流会)
From mysql to MongoDB(MongoDB2011北京交流会)
 
Web Components With Rails
Web Components With RailsWeb Components With Rails
Web Components With Rails
 
HTML,CSS Next
HTML,CSS NextHTML,CSS Next
HTML,CSS Next
 
DOM Scripting Toolkit - jQuery
DOM Scripting Toolkit - jQueryDOM Scripting Toolkit - jQuery
DOM Scripting Toolkit - jQuery
 
Web2.0 with jQuery in English
Web2.0 with jQuery in EnglishWeb2.0 with jQuery in English
Web2.0 with jQuery in English
 
Forget the Web
Forget the WebForget the Web
Forget the Web
 
Paris js extensions
Paris js extensionsParis js extensions
Paris js extensions
 
Web::Machine - Simpl{e,y} HTTP
Web::Machine - Simpl{e,y} HTTPWeb::Machine - Simpl{e,y} HTTP
Web::Machine - Simpl{e,y} HTTP
 
2015 02-09 - NoSQL Vorlesung Mosbach
2015 02-09 - NoSQL Vorlesung Mosbach2015 02-09 - NoSQL Vorlesung Mosbach
2015 02-09 - NoSQL Vorlesung Mosbach
 
ZendCon2010 Doctrine MongoDB ODM
ZendCon2010 Doctrine MongoDB ODMZendCon2010 Doctrine MongoDB ODM
ZendCon2010 Doctrine MongoDB ODM
 
HTML5: where flash isn't needed anymore
HTML5: where flash isn't needed anymoreHTML5: where flash isn't needed anymore
HTML5: where flash isn't needed anymore
 
History of jQuery
History of jQueryHistory of jQuery
History of jQuery
 

Destaque

Introduction to kissy for adc 2013
Introduction to kissy for adc 2013Introduction to kissy for adc 2013
Introduction to kissy for adc 2013yiming he
 
KISSY Mechanism
KISSY MechanismKISSY Mechanism
KISSY Mechanismlifesinger
 
Kissy简介
Kissy简介Kissy简介
Kissy简介jay li
 
Kissy component system
Kissy component systemKissy component system
Kissy component systemyiming he
 
callSuper in kissy
callSuper in kissycallSuper in kissy
callSuper in kissyyiming he
 
kissy at alibaba
kissy at alibabakissy at alibaba
kissy at alibabayiming he
 
Kissy design
Kissy designKissy design
Kissy designyiming he
 
kissy 1.5 progress
kissy 1.5 progresskissy 1.5 progress
kissy 1.5 progressyiming he
 
Taobao presentation
Taobao presentationTaobao presentation
Taobao presentationoption0417
 
KISSY Component API Design
KISSY Component API DesignKISSY Component API Design
KISSY Component API Designyiming he
 
3 Tier Architecture
3  Tier Architecture3  Tier Architecture
3 Tier ArchitectureWebx
 

Destaque (13)

Introduction to kissy for adc 2013
Introduction to kissy for adc 2013Introduction to kissy for adc 2013
Introduction to kissy for adc 2013
 
KISSY Mechanism
KISSY MechanismKISSY Mechanism
KISSY Mechanism
 
Kissy简介
Kissy简介Kissy简介
Kissy简介
 
Kissy component system
Kissy component systemKissy component system
Kissy component system
 
callSuper in kissy
callSuper in kissycallSuper in kissy
callSuper in kissy
 
kissy at alibaba
kissy at alibabakissy at alibaba
kissy at alibaba
 
Kissy design
Kissy designKissy design
Kissy design
 
kissy 1.5 progress
kissy 1.5 progresskissy 1.5 progress
kissy 1.5 progress
 
Taobao presentation
Taobao presentationTaobao presentation
Taobao presentation
 
Taobao
TaobaoTaobao
Taobao
 
KISSY Component API Design
KISSY Component API DesignKISSY Component API Design
KISSY Component API Design
 
Alibaba taobao
Alibaba taobaoAlibaba taobao
Alibaba taobao
 
3 Tier Architecture
3  Tier Architecture3  Tier Architecture
3 Tier Architecture
 

Semelhante a KISSY 的昨天、今天与明天

Writing Maintainable JavaScript
Writing Maintainable JavaScriptWriting Maintainable JavaScript
Writing Maintainable JavaScriptAndrew Dupont
 
Burn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesBurn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesLindsay Holmwood
 
Express Presentation
Express PresentationExpress Presentation
Express Presentationaaronheckmann
 
Writing robust Node.js applications
Writing robust Node.js applicationsWriting robust Node.js applications
Writing robust Node.js applicationsTom Croucher
 
Taming that client side mess with Backbone.js
Taming that client side mess with Backbone.jsTaming that client side mess with Backbone.js
Taming that client side mess with Backbone.jsJarod Ferguson
 
Week 4 - jQuery + Ajax
Week 4 - jQuery + AjaxWeek 4 - jQuery + Ajax
Week 4 - jQuery + Ajaxbaygross
 
soft-shake.ch - Hands on Node.js
soft-shake.ch - Hands on Node.jssoft-shake.ch - Hands on Node.js
soft-shake.ch - Hands on Node.jssoft-shake.ch
 
Javascript first-class citizenery
Javascript first-class citizeneryJavascript first-class citizenery
Javascript first-class citizenerytoddbr
 
Jquery optimization-tips
Jquery optimization-tipsJquery optimization-tips
Jquery optimization-tipsanubavam-techkt
 
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)Doris Chen
 
The Open Web and what it means
The Open Web and what it meansThe Open Web and what it means
The Open Web and what it meansRobert Nyman
 
Hazelcast and MongoDB at Cloud CMS
Hazelcast and MongoDB at Cloud CMSHazelcast and MongoDB at Cloud CMS
Hazelcast and MongoDB at Cloud CMSuzquiano
 
Introduction to jQuery - Barcamp London 9
Introduction to jQuery - Barcamp London 9Introduction to jQuery - Barcamp London 9
Introduction to jQuery - Barcamp London 9Jack Franklin
 
#NewMeetup Performance
#NewMeetup Performance#NewMeetup Performance
#NewMeetup PerformanceJustin Cataldo
 
Websockets talk at Rubyconf Uruguay 2010
Websockets talk at Rubyconf Uruguay 2010Websockets talk at Rubyconf Uruguay 2010
Websockets talk at Rubyconf Uruguay 2010Ismael Celis
 
JavaScript APIs - The Web is the Platform - .toster conference, Moscow
JavaScript APIs - The Web is the Platform - .toster conference, MoscowJavaScript APIs - The Web is the Platform - .toster conference, Moscow
JavaScript APIs - The Web is the Platform - .toster conference, MoscowRobert Nyman
 

Semelhante a KISSY 的昨天、今天与明天 (20)

Writing Maintainable JavaScript
Writing Maintainable JavaScriptWriting Maintainable JavaScript
Writing Maintainable JavaScript
 
Burn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesBurn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websites
 
Express Presentation
Express PresentationExpress Presentation
Express Presentation
 
JavaScript JQUERY AJAX
JavaScript JQUERY AJAXJavaScript JQUERY AJAX
JavaScript JQUERY AJAX
 
Writing robust Node.js applications
Writing robust Node.js applicationsWriting robust Node.js applications
Writing robust Node.js applications
 
Taming that client side mess with Backbone.js
Taming that client side mess with Backbone.jsTaming that client side mess with Backbone.js
Taming that client side mess with Backbone.js
 
Week 4 - jQuery + Ajax
Week 4 - jQuery + AjaxWeek 4 - jQuery + Ajax
Week 4 - jQuery + Ajax
 
soft-shake.ch - Hands on Node.js
soft-shake.ch - Hands on Node.jssoft-shake.ch - Hands on Node.js
soft-shake.ch - Hands on Node.js
 
Javascript first-class citizenery
Javascript first-class citizeneryJavascript first-class citizenery
Javascript first-class citizenery
 
Jquery optimization-tips
Jquery optimization-tipsJquery optimization-tips
Jquery optimization-tips
 
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
 
The Open Web and what it means
The Open Web and what it meansThe Open Web and what it means
The Open Web and what it means
 
Play vs Rails
Play vs RailsPlay vs Rails
Play vs Rails
 
Hazelcast and MongoDB at Cloud CMS
Hazelcast and MongoDB at Cloud CMSHazelcast and MongoDB at Cloud CMS
Hazelcast and MongoDB at Cloud CMS
 
Introduction to jQuery - Barcamp London 9
Introduction to jQuery - Barcamp London 9Introduction to jQuery - Barcamp London 9
Introduction to jQuery - Barcamp London 9
 
#NewMeetup Performance
#NewMeetup Performance#NewMeetup Performance
#NewMeetup Performance
 
Jquery fundamentals
Jquery fundamentalsJquery fundamentals
Jquery fundamentals
 
Websockets talk at Rubyconf Uruguay 2010
Websockets talk at Rubyconf Uruguay 2010Websockets talk at Rubyconf Uruguay 2010
Websockets talk at Rubyconf Uruguay 2010
 
JavaScript APIs - The Web is the Platform - .toster conference, Moscow
JavaScript APIs - The Web is the Platform - .toster conference, MoscowJavaScript APIs - The Web is the Platform - .toster conference, Moscow
JavaScript APIs - The Web is the Platform - .toster conference, Moscow
 
Hujs 总结
Hujs 总结Hujs 总结
Hujs 总结
 

Último

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 

Último (20)

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 

KISSY 的昨天、今天与明天