SlideShare ist ein Scribd-Unternehmen logo
1 von 80
Downloaden Sie, um offline zu lesen
CommonJS
                               Dexter.Yy @




Sunday, December 19, 2010
……




Sunday, December 19, 2010
……

                            CommonJS




Sunday, December 19, 2010
……

                            CommonJS




Sunday, December 19, 2010
……

                            CommonJS




Sunday, December 19, 2010
team        ……
                                   ……




Sunday, December 19, 2010
•
               •
                            ——   UI




Sunday, December 19, 2010
Sunday, December 19, 2010
•
               •
                            ——                    UI



               •      jQuery     YUI   MooTools            ——


               •                                       /


               •
               •
Sunday, December 19, 2010
•            ——
                                 /    /
                                 ……




Sunday, December 19, 2010
•            ——
                                         /    /
                                         ……




               •                 “   ”


               •
               •
               •

Sunday, December 19, 2010
•
                      ——

               •            TTI
                      ——




Sunday, December 19, 2010
•
                      ——

               •                        TTI
                      ——



               •
                            hack              ……

               •
                                                   vs
                                   ——

               •              ……        ……


Sunday, December 19, 2010
•
                            •
                            •




Sunday, December 19, 2010
……          ……




                                         module
                                             +

                            autobuild / preprocessor / compiler




Sunday, December 19, 2010
CommonJS




Sunday, December 19, 2010
“    JS”
                        CommonJS




                                ……




Sunday, December 19, 2010
CommonJS

                   •             API

                   •
                   •                        de facto <> de jure

                   •
                            JS

                   •                   JS             ecosystem


Sunday, December 19, 2010
JS

                   •        JS                        API

                   •

                   •        Python PyPI (egg) + setuptools

                   •        Ruby   Gem

                   •        Perl   CPAN


Sunday, December 19, 2010
Python

                            module




Sunday, December 19, 2010
•        Kevin Dangoor 09            CommonJS

                   •          What Server Side JavaScript needs

                   •        09       Mozilla web

                   •        08 10 Mozilla         Ajaxian       Dion
                            Almaer Ben Galbraith
                                  Skywriter/Bespin Kevin Dangoor       lead

                   •             SitePen      TurboGears Paver


Sunday, December 19, 2010
CommonJS
                   •              JS   /
                            API


                   •                        module

                   •        JS
                                           CommonJS
                                  ——          module


Sunday, December 19, 2010
“         JS”

                   •        “              ” JavaScript

                                   UI

                   •        JavaScript
                                 “         ”
                                         module



Sunday, December 19, 2010
JS“   ”



Sunday, December 19, 2010
JS

                   •        Firefox      Add-on SDK Jetpack

                   •                   1.0beta1

                   •            Firefox                   XUL
                            XPCOM                               JS


                   •                     CommonJS     module
                                      JS API


Sunday, December 19, 2010
DEMO     Bebilith




Sunday, December 19, 2010
DEMO: Safari
          •            Chrome

          •                 API module


          •       Chrome                Firebug


          •                 “       ”     hack
                                         Apple
                       ……



Sunday, December 19, 2010
/                GUI         JS
            • Nokia QT Quick
            • MeeGo Symbian                        App

            •       QT                              C++

            • QML JavaScript
                                JavaScript




Sunday, December 19, 2010
/           GUI   JS
                   • WebOS 2.0
                   •           nodejs




Sunday, December 19, 2010
/     GUI            JS

                   •               OneRing

                   •        “
                            HTML5+CSS3                Javascript
                                             web
                                   ”

                   •        Issue 25         CommonJS API……



Sunday, December 19, 2010
JSConf.eu
                            JsConf 2009 DC       JsConf 2009 Berlin




             JsConf 2010 DC           JsConf 2010 Berlin     JsConf 2011 DC




Sunday, December 19, 2010
10% embedded



               •            js

               •       Arduino

               •
               •       arduinojs: Arduino will run JavaScript one day

               •                             Geek




Sunday, December 19, 2010
Sunday, December 19, 2010
JS
                   • Ryan Dahl           09   11   JSConf
                                NodeJS

                   •         Aptana Jaxer            JS
                            NodeJS


                   •     server

                   • v8                            erlang

                   • CommonJS
Sunday, December 19, 2010
NodeJS module

                   • github   550+

                   • web
                                     ……




Sunday, December 19, 2010
JS

                   •        module

                   •
                   •


Sunday, December 19, 2010
Module




Sunday, December 19, 2010
module
                            main.py




                                      moduleB.py

                        moduleA.py




Sunday, December 19, 2010
module
                                     JS
                   •        module

                   •
                   •
                   •
                   •
                   •
                   •
Sunday, December 19, 2010
module
                                               JS
                   •             JS   module
                                      module

                   •
                   •
                   •
                   •        JS

                   •
                   •        JS


Sunday, December 19, 2010
JS
                            script tag HTML   ……




                            script combo           ……




Sunday, December 19, 2010
•
                   •
                   •

Sunday, December 19, 2010
Script loader
                            Mo
                              du
                                 le
                                      loa
                                         de
                                            r




Sunday, December 19, 2010
script loader


                    • LABjs
                    •
                    •


Sunday, December 19, 2010
script loader
                                       HeadJS



                                                “        ”



                                                    ……




Sunday, December 19, 2010
script loader
                            API   TUI.module.use   script loader


                                   ……




Sunday, December 19, 2010
Module Pattern




Sunday, December 19, 2010
Dave Herman:
                        JavaScript needs modules!

                       Q               ……



                            A Dave Herman Mozilla            ECMA TC39
                                ECMAScript5 Simple Modules



Sunday, December 19, 2010
ES5 Simple Modules

                   •               http://wiki.ecmascript.org/doku.php?
                            id=strawman:simple_modules
                   •                   http://www.ccs.neu.edu/home/
                            dherman/talks/javascript-needs-modules.pdf
                   •               Narcissus



Sunday, December 19, 2010
ES5 Simple Modules
                                     <script type=”text/es-harmony”>




                        moduleA.js




Sunday, December 19, 2010
ES5 Simple Modules
                   •         CommonJS                            Simple
                            Modules and Current Modules




                   •                       Kris Zyp Sitepen        Dojo
                                  Alex Russell Dojo           Brendan Eich JS


                   •        Simple Modules          “          ” strawman
                            proposal

Sunday, December 19, 2010
ES5 Simple Modules

                            •
                            •
                            •   web

                            •
                            •
Sunday, December 19, 2010
CommonJS module




Sunday, December 19, 2010
Bebilith


                                  require   exports




Sunday, December 19, 2010
CommonJS Module
                                     main.js



                                               moduleA.js
                      moduleB.js




Sunday, December 19, 2010
CommonJS module




Sunday, December 19, 2010
CommonJS module

                                       oz.js
                                  CommonJS

                            API
                                  ……

Sunday, December 19, 2010
CommonJS module
                            ……
                                        API
                                 CommonJS

                                 ……



Sunday, December 19, 2010
RequireJS
                   •           James Burke dojo               Mozilla
                               —— CommonJS

                   •                                 script loader


                   •                       require

                   •                define
                            CommonJS “AMD”             Asynchronous
                            Modules Definition

Sunday, December 19, 2010
Asynchronous Modules



                                        moduleA.js




                              main.js

Sunday, December 19, 2010
Asynchronous Modules




            JSONP



Sunday, December 19, 2010
Asynchronous Modules
                   •
                   •
                   •
                   •                  Module Pattern

                   •        exports require        module
                                                   module

                   •                  module


Sunday, December 19, 2010
OzJS


                       • require.js 5.3K
                       • oz.js 1.5K
                       •
                                    MRL

                       • OzJS             .def
                                   URI


Sunday, December 19, 2010
OzJS   def
                            URI
     URI




Sunday, December 19, 2010
OzJS
                      •     def


                      •
                      •
                      •

                      •
                      •
                      •

Sunday, December 19, 2010
Make it easier to share code,
                 and people will share more.
                            -- Dave Herman, “JavaScript needs modules”




Sunday, December 19, 2010
Sunday, December 19, 2010
Sunday, December 19, 2010
OzJS
                            RequireJS




Sunday, December 19, 2010
OzJS
                            RequireJS

                                        TUICompiler




Sunday, December 19, 2010
OzJS + TUICompiler
                       OzJS                    TUICompiler




                              Module Loader
                                       +
                              Moduler Loader


Sunday, December 19, 2010
“        ”

                   • Python
                   • https://github.com/dexteryy/TUICompiler
                   •                   WSGI

                   •                       compiler
                                preprocessor

                   •
Sunday, December 19, 2010
Vim   :make


                    Q           vim   windows



                            A   ……    ……        ……




Sunday, December 19, 2010
TUICompiler




                            wxpython    GUI




                                       JIRA


                                              ……


Sunday, December 19, 2010
TUICompiler




                                     mylyn




Sunday, December 19, 2010
TUICompiler




Sunday, December 19, 2010
TUICompiler




                                          TUICompiler




Sunday, December 19, 2010
TUICompiler




                                          Fiddler
                                            /



Sunday, December 19, 2010
TUICompiler




                              Fiddler
                                /


Sunday, December 19, 2010
……
                   •        Twitter: http://twitter.com/dexteryy

                   •        Google buzz http://www.google.com/profiles/dexter.yy

                   •        Blog http://www.limboy.com



                   •        OzJS   https://github.com/dexteryy/OzJS

                   •        TUICompiler    https://github.com/dexteryy/TUICompiler




Sunday, December 19, 2010

Weitere ähnliche Inhalte

Andere mochten auch

Linux 系列分享[1] 概览
Linux 系列分享[1]   概览Linux 系列分享[1]   概览
Linux 系列分享[1] 概览rainoxu
 
浅谈 Javascript 性能优化
浅谈 Javascript 性能优化浅谈 Javascript 性能优化
浅谈 Javascript 性能优化rainoxu
 
Steve Jobs Announces iTown - Douban Special Event, Jan 2012
Steve Jobs Announces iTown - Douban Special Event, Jan 2012Steve Jobs Announces iTown - Douban Special Event, Jan 2012
Steve Jobs Announces iTown - Douban Special Event, Jan 2012Dexter Yang
 
Learning JavaScript in Three Web Apps(中文)
Learning JavaScript in Three Web Apps(中文)Learning JavaScript in Three Web Apps(中文)
Learning JavaScript in Three Web Apps(中文)Dexter Yang
 
Git 零基础介绍
Git 零基础介绍Git 零基础介绍
Git 零基础介绍Ethan Zhang
 
新版阿尔法城背后的前端MVC实践
新版阿尔法城背后的前端MVC实践新版阿尔法城背后的前端MVC实践
新版阿尔法城背后的前端MVC实践Dexter Yang
 
不断归零的前端人生 - 2016 中国软件开发者大会
不断归零的前端人生 - 2016 中国软件开发者大会不断归零的前端人生 - 2016 中国软件开发者大会
不断归零的前端人生 - 2016 中国软件开发者大会Joseph Chiang
 
Web前端性能优化 2014
Web前端性能优化 2014Web前端性能优化 2014
Web前端性能优化 2014Yubei Li
 
基于原型的JavaScript面向对象编程
基于原型的JavaScript面向对象编程基于原型的JavaScript面向对象编程
基于原型的JavaScript面向对象编程zhangdaiping
 
使用 Visual Studio Code 建構 JavaScript 應用程式
使用 Visual Studio Code 建構 JavaScript 應用程式使用 Visual Studio Code 建構 JavaScript 應用程式
使用 Visual Studio Code 建構 JavaScript 應用程式Will Huang
 
Frontend django, Django Web 前端探索
Frontend django, Django Web 前端探索Frontend django, Django Web 前端探索
Frontend django, Django Web 前端探索Tim (文昌)
 
CardKit & DOMO UI - 移动时代技术与设计的十字路口
CardKit & DOMO UI - 移动时代技术与设计的十字路口CardKit & DOMO UI - 移动时代技术与设计的十字路口
CardKit & DOMO UI - 移动时代技术与设计的十字路口Dexter Yang
 
Scalable JavaScript Application Architecture
Scalable JavaScript Application ArchitectureScalable JavaScript Application Architecture
Scalable JavaScript Application ArchitectureNicholas Zakas
 
第三方内容开发最佳实践
第三方内容开发最佳实践第三方内容开发最佳实践
第三方内容开发最佳实践taobao.com
 
高力:19楼现有前端架构
高力:19楼现有前端架构高力:19楼现有前端架构
高力:19楼现有前端架构taobao.com
 
广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化taobao.com
 
淘宝开放产品前端实践
淘宝开放产品前端实践淘宝开放产品前端实践
淘宝开放产品前端实践taobao.com
 
李成银:前端编译平台
李成银:前端编译平台李成银:前端编译平台
李成银:前端编译平台taobao.com
 
吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践
吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践
吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践taobao.com
 

Andere mochten auch (20)

Linux 系列分享[1] 概览
Linux 系列分享[1]   概览Linux 系列分享[1]   概览
Linux 系列分享[1] 概览
 
浅谈 Javascript 性能优化
浅谈 Javascript 性能优化浅谈 Javascript 性能优化
浅谈 Javascript 性能优化
 
Steve Jobs Announces iTown - Douban Special Event, Jan 2012
Steve Jobs Announces iTown - Douban Special Event, Jan 2012Steve Jobs Announces iTown - Douban Special Event, Jan 2012
Steve Jobs Announces iTown - Douban Special Event, Jan 2012
 
Learning JavaScript in Three Web Apps(中文)
Learning JavaScript in Three Web Apps(中文)Learning JavaScript in Three Web Apps(中文)
Learning JavaScript in Three Web Apps(中文)
 
Git 零基础介绍
Git 零基础介绍Git 零基础介绍
Git 零基础介绍
 
新版阿尔法城背后的前端MVC实践
新版阿尔法城背后的前端MVC实践新版阿尔法城背后的前端MVC实践
新版阿尔法城背后的前端MVC实践
 
不断归零的前端人生 - 2016 中国软件开发者大会
不断归零的前端人生 - 2016 中国软件开发者大会不断归零的前端人生 - 2016 中国软件开发者大会
不断归零的前端人生 - 2016 中国软件开发者大会
 
Web前端性能优化 2014
Web前端性能优化 2014Web前端性能优化 2014
Web前端性能优化 2014
 
基于原型的JavaScript面向对象编程
基于原型的JavaScript面向对象编程基于原型的JavaScript面向对象编程
基于原型的JavaScript面向对象编程
 
Node way
Node wayNode way
Node way
 
使用 Visual Studio Code 建構 JavaScript 應用程式
使用 Visual Studio Code 建構 JavaScript 應用程式使用 Visual Studio Code 建構 JavaScript 應用程式
使用 Visual Studio Code 建構 JavaScript 應用程式
 
Frontend django, Django Web 前端探索
Frontend django, Django Web 前端探索Frontend django, Django Web 前端探索
Frontend django, Django Web 前端探索
 
CardKit & DOMO UI - 移动时代技术与设计的十字路口
CardKit & DOMO UI - 移动时代技术与设计的十字路口CardKit & DOMO UI - 移动时代技术与设计的十字路口
CardKit & DOMO UI - 移动时代技术与设计的十字路口
 
Scalable JavaScript Application Architecture
Scalable JavaScript Application ArchitectureScalable JavaScript Application Architecture
Scalable JavaScript Application Architecture
 
第三方内容开发最佳实践
第三方内容开发最佳实践第三方内容开发最佳实践
第三方内容开发最佳实践
 
高力:19楼现有前端架构
高力:19楼现有前端架构高力:19楼现有前端架构
高力:19楼现有前端架构
 
广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化
 
淘宝开放产品前端实践
淘宝开放产品前端实践淘宝开放产品前端实践
淘宝开放产品前端实践
 
李成银:前端编译平台
李成银:前端编译平台李成银:前端编译平台
李成银:前端编译平台
 
吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践
吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践
吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践
 

Ähnlich wie 通用JS时代的模块机制和编译工具

Presentation to wdim_students
Presentation to wdim_studentsPresentation to wdim_students
Presentation to wdim_studentsScott Motte
 
Dojo Basics Js UserGroup Chicago
Dojo Basics Js UserGroup ChicagoDojo Basics Js UserGroup Chicago
Dojo Basics Js UserGroup Chicagowolframkriesing
 
YUIConf 2010, YUI3 and Mobile Web Development
YUIConf 2010, YUI3 and Mobile Web DevelopmentYUIConf 2010, YUI3 and Mobile Web Development
YUIConf 2010, YUI3 and Mobile Web Developmentsdezzi
 
Developing Plugins on OpenVBX at Greater San Francisco Bay Area LAMP Group
Developing Plugins on OpenVBX at Greater San Francisco Bay Area LAMP GroupDeveloping Plugins on OpenVBX at Greater San Francisco Bay Area LAMP Group
Developing Plugins on OpenVBX at Greater San Francisco Bay Area LAMP Groupminddog
 
Entrepreneur incubator plan
Entrepreneur incubator planEntrepreneur incubator plan
Entrepreneur incubator planGordon Kraft
 
Fixing The Media #Fleet09
Fixing The Media #Fleet09Fixing The Media #Fleet09
Fixing The Media #Fleet09Jo Caudron
 
Compiling and Optimizing Your Own Browser with WebKit
Compiling and Optimizing Your Own Browser with WebKitCompiling and Optimizing Your Own Browser with WebKit
Compiling and Optimizing Your Own Browser with WebKitSencha
 
Knowledge Management and Linked Data
Knowledge Management and Linked DataKnowledge Management and Linked Data
Knowledge Management and Linked DataAndrew Kumar
 
Django Bootstrapping with Ease
Django Bootstrapping with EaseDjango Bootstrapping with Ease
Django Bootstrapping with EaseConcentric Sky
 

Ähnlich wie 通用JS时代的模块机制和编译工具 (11)

Presentation to wdim_students
Presentation to wdim_studentsPresentation to wdim_students
Presentation to wdim_students
 
Introduction to MySQL
Introduction to MySQLIntroduction to MySQL
Introduction to MySQL
 
Dojo Basics Js UserGroup Chicago
Dojo Basics Js UserGroup ChicagoDojo Basics Js UserGroup Chicago
Dojo Basics Js UserGroup Chicago
 
YUIConf 2010, YUI3 and Mobile Web Development
YUIConf 2010, YUI3 and Mobile Web DevelopmentYUIConf 2010, YUI3 and Mobile Web Development
YUIConf 2010, YUI3 and Mobile Web Development
 
Developing Plugins on OpenVBX at Greater San Francisco Bay Area LAMP Group
Developing Plugins on OpenVBX at Greater San Francisco Bay Area LAMP GroupDeveloping Plugins on OpenVBX at Greater San Francisco Bay Area LAMP Group
Developing Plugins on OpenVBX at Greater San Francisco Bay Area LAMP Group
 
Entrepreneur incubator plan
Entrepreneur incubator planEntrepreneur incubator plan
Entrepreneur incubator plan
 
Fixing The Media #Fleet09
Fixing The Media #Fleet09Fixing The Media #Fleet09
Fixing The Media #Fleet09
 
Compiling and Optimizing Your Own Browser with WebKit
Compiling and Optimizing Your Own Browser with WebKitCompiling and Optimizing Your Own Browser with WebKit
Compiling and Optimizing Your Own Browser with WebKit
 
Knowledge Management and Linked Data
Knowledge Management and Linked DataKnowledge Management and Linked Data
Knowledge Management and Linked Data
 
Django Bootstrapping with Ease
Django Bootstrapping with EaseDjango Bootstrapping with Ease
Django Bootstrapping with Ease
 
NYU:
NYU: NYU:
NYU:
 

Kürzlich hochgeladen

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
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
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 

Kürzlich hochgeladen (20)

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
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
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 

通用JS时代的模块机制和编译工具

  • 1. CommonJS Dexter.Yy @ Sunday, December 19, 2010
  • 3. …… CommonJS Sunday, December 19, 2010
  • 4. …… CommonJS Sunday, December 19, 2010
  • 5. …… CommonJS Sunday, December 19, 2010
  • 6. team …… …… Sunday, December 19, 2010
  • 7. • —— UI Sunday, December 19, 2010
  • 9. • —— UI • jQuery YUI MooTools —— • / • • Sunday, December 19, 2010
  • 10. —— / / …… Sunday, December 19, 2010
  • 11. —— / / …… • “ ” • • • Sunday, December 19, 2010
  • 12. —— • TTI —— Sunday, December 19, 2010
  • 13. —— • TTI —— • hack …… • vs —— • …… …… Sunday, December 19, 2010
  • 14. • • Sunday, December 19, 2010
  • 15. …… …… module + autobuild / preprocessor / compiler Sunday, December 19, 2010
  • 17. JS” CommonJS …… Sunday, December 19, 2010
  • 18. CommonJS • API • • de facto <> de jure • JS • JS ecosystem Sunday, December 19, 2010
  • 19. JS • JS API • • Python PyPI (egg) + setuptools • Ruby Gem • Perl CPAN Sunday, December 19, 2010
  • 20. Python module Sunday, December 19, 2010
  • 21. Kevin Dangoor 09 CommonJS • What Server Side JavaScript needs • 09 Mozilla web • 08 10 Mozilla Ajaxian Dion Almaer Ben Galbraith Skywriter/Bespin Kevin Dangoor lead • SitePen TurboGears Paver Sunday, December 19, 2010
  • 22. CommonJS • JS / API • module • JS CommonJS —— module Sunday, December 19, 2010
  • 23. JS” • “ ” JavaScript UI • JavaScript “ ” module Sunday, December 19, 2010
  • 24. JS“ ” Sunday, December 19, 2010
  • 25. JS • Firefox Add-on SDK Jetpack • 1.0beta1 • Firefox XUL XPCOM JS • CommonJS module JS API Sunday, December 19, 2010
  • 26. DEMO Bebilith Sunday, December 19, 2010
  • 27. DEMO: Safari • Chrome • API module • Chrome Firebug • “ ” hack Apple …… Sunday, December 19, 2010
  • 28. / GUI JS • Nokia QT Quick • MeeGo Symbian App • QT C++ • QML JavaScript JavaScript Sunday, December 19, 2010
  • 29. / GUI JS • WebOS 2.0 • nodejs Sunday, December 19, 2010
  • 30. / GUI JS • OneRing • “ HTML5+CSS3 Javascript web ” • Issue 25 CommonJS API…… Sunday, December 19, 2010
  • 31. JSConf.eu JsConf 2009 DC JsConf 2009 Berlin JsConf 2010 DC JsConf 2010 Berlin JsConf 2011 DC Sunday, December 19, 2010
  • 32. 10% embedded • js • Arduino • • arduinojs: Arduino will run JavaScript one day • Geek Sunday, December 19, 2010
  • 34. JS • Ryan Dahl 09 11 JSConf NodeJS • Aptana Jaxer JS NodeJS • server • v8 erlang • CommonJS Sunday, December 19, 2010
  • 35. NodeJS module • github 550+ • web …… Sunday, December 19, 2010
  • 36. JS • module • • Sunday, December 19, 2010
  • 38. module main.py moduleB.py moduleA.py Sunday, December 19, 2010
  • 39. module JS • module • • • • • • Sunday, December 19, 2010
  • 40. module JS • JS module module • • • • JS • • JS Sunday, December 19, 2010
  • 41. JS script tag HTML …… script combo …… Sunday, December 19, 2010
  • 42. • • Sunday, December 19, 2010
  • 43. Script loader Mo du le loa de r Sunday, December 19, 2010
  • 44. script loader • LABjs • • Sunday, December 19, 2010
  • 45. script loader HeadJS “ ” …… Sunday, December 19, 2010
  • 46. script loader API TUI.module.use script loader …… Sunday, December 19, 2010
  • 48. Dave Herman: JavaScript needs modules! Q …… A Dave Herman Mozilla ECMA TC39 ECMAScript5 Simple Modules Sunday, December 19, 2010
  • 49. ES5 Simple Modules • http://wiki.ecmascript.org/doku.php? id=strawman:simple_modules • http://www.ccs.neu.edu/home/ dherman/talks/javascript-needs-modules.pdf • Narcissus Sunday, December 19, 2010
  • 50. ES5 Simple Modules <script type=”text/es-harmony”> moduleA.js Sunday, December 19, 2010
  • 51. ES5 Simple Modules • CommonJS Simple Modules and Current Modules • Kris Zyp Sitepen Dojo Alex Russell Dojo Brendan Eich JS • Simple Modules “ ” strawman proposal Sunday, December 19, 2010
  • 52. ES5 Simple Modules • • • web • • Sunday, December 19, 2010
  • 54. Bebilith require exports Sunday, December 19, 2010
  • 55. CommonJS Module main.js moduleA.js moduleB.js Sunday, December 19, 2010
  • 57. CommonJS module oz.js CommonJS API …… Sunday, December 19, 2010
  • 58. CommonJS module …… API CommonJS …… Sunday, December 19, 2010
  • 59. RequireJS • James Burke dojo Mozilla —— CommonJS • script loader • require • define CommonJS “AMD” Asynchronous Modules Definition Sunday, December 19, 2010
  • 60. Asynchronous Modules moduleA.js main.js Sunday, December 19, 2010
  • 61. Asynchronous Modules JSONP Sunday, December 19, 2010
  • 62. Asynchronous Modules • • • • Module Pattern • exports require module module • module Sunday, December 19, 2010
  • 63. OzJS • require.js 5.3K • oz.js 1.5K • MRL • OzJS .def URI Sunday, December 19, 2010
  • 64. OzJS def URI URI Sunday, December 19, 2010
  • 65. OzJS • def • • • • • • Sunday, December 19, 2010
  • 66. Make it easier to share code, and people will share more. -- Dave Herman, “JavaScript needs modules” Sunday, December 19, 2010
  • 69. OzJS RequireJS Sunday, December 19, 2010
  • 70. OzJS RequireJS TUICompiler Sunday, December 19, 2010
  • 71. OzJS + TUICompiler OzJS TUICompiler Module Loader + Moduler Loader Sunday, December 19, 2010
  • 72. ” • Python • https://github.com/dexteryy/TUICompiler • WSGI • compiler preprocessor • Sunday, December 19, 2010
  • 73. Vim :make Q vim windows A …… …… …… Sunday, December 19, 2010
  • 74. TUICompiler wxpython GUI JIRA …… Sunday, December 19, 2010
  • 75. TUICompiler mylyn Sunday, December 19, 2010
  • 77. TUICompiler TUICompiler Sunday, December 19, 2010
  • 78. TUICompiler Fiddler / Sunday, December 19, 2010
  • 79. TUICompiler Fiddler / Sunday, December 19, 2010
  • 80. …… • Twitter: http://twitter.com/dexteryy • Google buzz http://www.google.com/profiles/dexter.yy • Blog http://www.limboy.com • OzJS https://github.com/dexteryy/OzJS • TUICompiler https://github.com/dexteryy/TUICompiler Sunday, December 19, 2010