SlideShare ist ein Scribd-Unternehmen logo
1 von 30
JavaScript




                            Node.js

                                           HAML




 Jade和less                               Jade




在WEB前端开发中的应用
    尹志翔
                                          less



                                          CSS




      Jade和less在前端开发中的应用   尹志翔 http://zhixiang.in/
JavaScript




                                 Node.js

                                                HAML



                                              Jade




浏览器端模版引擎

JADE                                           less



                                               CSS




           Jade和less在前端开发中的应用   尹志翔 http://zhixiang.in/
JavaScript


    先聊聊JavaScript吧
                                        Node.js


• 网页:HTML+CSS+JavaScript+(其他                           HAML


  资源)                                                Jade


• 简单:
  – 不面向对象,
  – C语言族,(它的鼻祖叫C--)
  – 语法少,                                              less

  – 类型少
• 除了网页:WScript,ASP,Node.js
                                                      CSS




                  Jade和less在前端开发中的应用   尹志翔 http://zhixiang.in/
JavaScript


JavaScript是用来做什么的?
                                             Node.js


• 验证表单                                                      HAML



• 交互时向用户询问信息                                              Jade


  (prompt,alert,confirm…)
• 弹出窗口

                                                           less



                                                           CSS




                       Jade和less在前端开发中的应用   尹志翔 http://zhixiang.in/
JavaScript


JavaScript被拿来做什么了
                                     Node.js


• 修复一些浏览器对一些样式的不兼容                                  HAML



• 更丰富的控件                                          Jade


• 实现动画!
  …
• 比如:
 – 做一个IDE?                                         less


  Cloud9 IDE
                                                   CSS




               Jade和less在前端开发中的应用   尹志翔 http://zhixiang.in/
当人类已经阻止不了
                                               JavaScript




      JavaScript                         Node.js


• AJAX一脚踢破了浏览器与服务器之                                     HAML


  间的那堵墙(也就是HTML)                                      Jade

 – 注:AJAX=异步JavaScript和XML

                        :服务器(化工厂)

     :HTML(瓶子)
                    :数据(洗衣液)                           less



                                                       CSS
   :AJAX(袋子)        :浏览器(家庭主妇的储存室)


                   Jade和less在前端开发中的应用   尹志翔 http://zhixiang.in/
当人类已经阻止不了
                                                 JavaScript




       JavaScript                          Node.js


• JavaScript代码量越来越大                                       HAML


• 把垃圾都扔给JavaScript吧                                     Jade

 – ‘语义化的WEB设计’(WEB3.0的概念)
 – 而非‘面向对象的WEB设计’
 – MVC的概念让前端心驰神往
• 前端模版库的出现
 – backbone.js                                           less


 – spine.js                                              CSS

 – jQuery Template

                     Jade和less在前端开发中的应用   尹志翔 http://zhixiang.in/
JavaScript


     顺便提一下node.js
                                      Node.js


• 监听端口->HTTP请求->表单数据                                 HAML


  +URL->用JavaScript程序输出响应-                         Jade

  >HTTP响应
• 用它做WEB应用程序通常还需要一
  个WEB框架
 – GeddyJS
                                                    less
 – express.js
 …                                                  CSS




                Jade和less在前端开发中的应用   尹志翔 http://zhixiang.in/
JavaScript




                                Node.js

                                               HAML



                                             Jade




JADE是啥?                                       less



                                              CSS




          Jade和less在前端开发中的应用   尹志翔 http://zhixiang.in/
JavaScript


一个为Node.js而生的模版引擎
                                Node.js

                                               HAML



                                             Jade




                                              less



                                              CSS




          Jade和less在前端开发中的应用   尹志翔 http://zhixiang.in/
JavaScript


   一个HAML的衍生品
                                        Node.js


• HAML来自Ruby                                           HAML


 – ERB来自Rails(一个基于Ruby的MVC框架)                        Jade

 – 当Ruby---一个缩进风格语言---的程序员遇上
   ERB(内嵌式Ruby)



                                                      less



                                                      CSS




                  Jade和less在前端开发中的应用   尹志翔 http://zhixiang.in/
JavaScript




                                 Node.js

                                                HAML



                                              Jade




JADE能干啥?                                       less



                                               CSS




           Jade和less在前端开发中的应用   尹志翔 http://zhixiang.in/
JavaScript


将数据和模版变成HTML
                                        Node.js

                                                       HAML



                           :数据(洗衣液)                  Jade
   :Jade模版(空瓶子)




                                                      less


                  :HTML(装满了洗衣液的瓶子)                    CSS




                  Jade和less在前端开发中的应用   尹志翔 http://zhixiang.in/
JavaScript




                                 Node.js

                                                HAML



                                              Jade




为啥用JADE?                                       less



                                               CSS




           Jade和less在前端开发中的应用   尹志翔 http://zhixiang.in/
JavaScript


     开发环境零配置
                                      Node.js


• 因为Jade编译器能在浏览器端运行                                  HAML



 – 开发主线使用JavaScript编写.                             Jade

 – 自适应Node.js/浏览器运行环境
• 本地开发,使用任何WebServer

                                                    less



                                                    CSS




                Jade和less在前端开发中的应用   尹志翔 http://zhixiang.in/
因为Jade的语法对设计人员友
                                           JavaScript




        好                            Node.js


• Jade语法非常接近CSS选择器语法                                HAML



 – Jade对HAML语法的改进                                 Jade


• Jade语法很简洁



                                                   less



                                                   CSS




               Jade和less在前端开发中的应用   尹志翔 http://zhixiang.in/
JavaScript


编译和运行分开
                           Node.js

                                          HAML



                                        Jade




                                         less



                                         CSS




     Jade和less在前端开发中的应用   尹志翔 http://zhixiang.in/
JavaScript


       多种架构选择
                                       Node.js


• 浏览器端编译,运行(开发环境)                                     HAML



• 服务器端编译(优化),运行                                     Jade


  (express.js/Node.js中)
• 部署编译,部署运行
• 部署编译,浏览器端运行
                                                     less



                                                     CSS




                 Jade和less在前端开发中的应用   尹志翔 http://zhixiang.in/
JavaScript




                                  Node.js

                                                 HAML



                                               Jade




咱怎么用JADE?                                       less



                                                CSS




            Jade和less在前端开发中的应用   尹志翔 http://zhixiang.in/
JavaScript


        开发环境
                                      Node.js


• xxx.htm里不放任何内容                                     HAML



• 将Jade模版储存为xxx.htm.jade与                          Jade


  xxx.htm存放在一起,通过AJAX加载
• 渲染Jade需要的数据通过数组的形
  式在xxx.htm.js定义
 – 通过AJAX加载                                         less

 – JSON格式
                                                    CSS




                Jade和less在前端开发中的应用   尹志翔 http://zhixiang.in/
JavaScript


        生产环境
                                     Node.js


• 将Jade模版提前编译为JavaScript函                           HAML


  数,内嵌在HTML页面之中.                                  Jade


• 在客户端运行.



                                                   less



                                                   CSS




               Jade和less在前端开发中的应用   尹志翔 http://zhixiang.in/
JavaScript




                                Node.js

                                               HAML



                                             Jade




CSS预处理器

LESS                                          less



                                              CSS




          Jade和less在前端开发中的应用   尹志翔 http://zhixiang.in/
JavaScript


   CSS-网页的垃圾堆
                                     Node.js


• ↓ CSS推出之前的HTML2.0                                 HAML



                                                  Jade




                                                   less



                                                   CSS




               Jade和less在前端开发中的应用   尹志翔 http://zhixiang.in/
JavaScript


    CSS-网页的垃圾堆
                                             Node.js


• HTML3.2中的CSS--内联样式的滥用                                     HAML



 – 1997年的W3C主页:                                           Jade

 http://web.archive.org/web/1997121022
   0609/http://www.w3.org/


                                                           less



                                                           CSS




                       Jade和less在前端开发中的应用   尹志翔 http://zhixiang.in/
JavaScript


    CSS-网页的垃圾堆
                                             Node.js


• XHTML (2000年-现在)                                          HAML



• 嵌套结构有点复杂                                                Jade


 – 看看它的样式
   表:http://www.w3school.com.cn/css/in
   dex.asp

                                                           less



                                                           CSS




                       Jade和less在前端开发中的应用   尹志翔 http://zhixiang.in/
JavaScript


Less有啥用
                           Node.js

                                          HAML



                                        Jade




                                         less



                                         CSS




     Jade和less在前端开发中的应用   尹志翔 http://zhixiang.in/
JavaScript


Less有啥用
                           Node.js

                                          HAML



                                        Jade




  !!!                                    less



                                         CSS




     Jade和less在前端开发中的应用   尹志翔 http://zhixiang.in/
JavaScript


       Less有哪些特性?
                                    Node.js


•   嵌套!                                            HAML



•   变量!                                          Jade


•   混合(继承!)
•   其他小功能
    – 注释
    – 引用                                          less



                                                  CSS




              Jade和less在前端开发中的应用   尹志翔 http://zhixiang.in/
JavaScript


        Less有哪些特性?
                                                 Node.js


• 主线依然采用JavaScript进行开发,在浏                                       HAML


  览器端运行!                                                      Jade
• 很多实现和工具
 –   Node.js(主线)
 –   本地编译运行
 –    在github上搜索less+css
 –   ...                                                       less
 –   国人喜欢它: http://less.cnodejs.net/tools
     http://www.lesscss.net/                                   CSS




                           Jade和less在前端开发中的应用   尹志翔 http://zhixiang.in/
JavaScript


      咱们咋用less
                                  Node.js


• 开发环境中直接通过标签引用                                  HAML



                                               Jade




• 生产环境中在部署时编译为CSS
 –…                                             less



                                                CSS




            Jade和less在前端开发中的应用   尹志翔 http://zhixiang.in/

Weitere ähnliche Inhalte

Andere mochten auch

Banking industry Hot Topics - Forum in New Orleans
Banking industry Hot Topics - Forum in New OrleansBanking industry Hot Topics - Forum in New Orleans
Banking industry Hot Topics - Forum in New OrleansGrant Thornton
 
The multirisk approach for the Pays A3V, France, BRGM
The multirisk approach for the Pays A3V, France, BRGMThe multirisk approach for the Pays A3V, France, BRGM
The multirisk approach for the Pays A3V, France, BRGMGlobal Risk Forum GRFDavos
 
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD Editor
 
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD Editor
 
Pain nourishes courage. You can't be brave if you've only had wonderful thing...
Pain nourishes courage. You can't be brave if you've only had wonderful thing...Pain nourishes courage. You can't be brave if you've only had wonderful thing...
Pain nourishes courage. You can't be brave if you've only had wonderful thing...Rhea Myers
 
Improved Risk information to support sound policy/decision making processes –...
Improved Risk information to support sound policy/decision making processes –...Improved Risk information to support sound policy/decision making processes –...
Improved Risk information to support sound policy/decision making processes –...Global Risk Forum GRFDavos
 
The truth is everywhere. If it wasn't it wouldn't be the truth.
The truth is everywhere. If it wasn't it wouldn't be the truth.The truth is everywhere. If it wasn't it wouldn't be the truth.
The truth is everywhere. If it wasn't it wouldn't be the truth.Rhea Myers
 
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD Editor
 
Do not look where you fell, but where you slipped.
Do not look where you fell, but where you slipped.Do not look where you fell, but where you slipped.
Do not look where you fell, but where you slipped.Rhea Myers
 
After all is said and done, more is said than done.
After all is said and done, more is said than done.After all is said and done, more is said than done.
After all is said and done, more is said than done.Rhea Myers
 
ανθρωποι διαφορων φυλων ενωμενοι
ανθρωποι διαφορων φυλων ενωμενοιανθρωποι διαφορων φυλων ενωμενοι
ανθρωποι διαφορων φυλων ενωμενοιgymzosim
 
η κοσμική και η θρησκευτική θεώρηση των όρων
η κοσμική και η θρησκευτική θεώρηση των όρωνη κοσμική και η θρησκευτική θεώρηση των όρων
η κοσμική και η θρησκευτική θεώρηση των όρωνgymzosim
 
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD Editor
 
GT IBR 2012 - focus on Netherlands
GT IBR 2012 - focus on NetherlandsGT IBR 2012 - focus on Netherlands
GT IBR 2012 - focus on NetherlandsGrant Thornton
 
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD Editor
 
The Greatest Money-Making Secret in History!
The Greatest Money-Making Secret in History!The Greatest Money-Making Secret in History!
The Greatest Money-Making Secret in History!chiki2852
 
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD Editor
 

Andere mochten auch (19)

Banking industry Hot Topics - Forum in New Orleans
Banking industry Hot Topics - Forum in New OrleansBanking industry Hot Topics - Forum in New Orleans
Banking industry Hot Topics - Forum in New Orleans
 
The multirisk approach for the Pays A3V, France, BRGM
The multirisk approach for the Pays A3V, France, BRGMThe multirisk approach for the Pays A3V, France, BRGM
The multirisk approach for the Pays A3V, France, BRGM
 
Idrc david alexander
Idrc david alexanderIdrc david alexander
Idrc david alexander
 
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
 
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
 
Pain nourishes courage. You can't be brave if you've only had wonderful thing...
Pain nourishes courage. You can't be brave if you've only had wonderful thing...Pain nourishes courage. You can't be brave if you've only had wonderful thing...
Pain nourishes courage. You can't be brave if you've only had wonderful thing...
 
Improved Risk information to support sound policy/decision making processes –...
Improved Risk information to support sound policy/decision making processes –...Improved Risk information to support sound policy/decision making processes –...
Improved Risk information to support sound policy/decision making processes –...
 
The truth is everywhere. If it wasn't it wouldn't be the truth.
The truth is everywhere. If it wasn't it wouldn't be the truth.The truth is everywhere. If it wasn't it wouldn't be the truth.
The truth is everywhere. If it wasn't it wouldn't be the truth.
 
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
 
Muebles guardia
Muebles guardiaMuebles guardia
Muebles guardia
 
Do not look where you fell, but where you slipped.
Do not look where you fell, but where you slipped.Do not look where you fell, but where you slipped.
Do not look where you fell, but where you slipped.
 
After all is said and done, more is said than done.
After all is said and done, more is said than done.After all is said and done, more is said than done.
After all is said and done, more is said than done.
 
ανθρωποι διαφορων φυλων ενωμενοι
ανθρωποι διαφορων φυλων ενωμενοιανθρωποι διαφορων φυλων ενωμενοι
ανθρωποι διαφορων φυλων ενωμενοι
 
η κοσμική και η θρησκευτική θεώρηση των όρων
η κοσμική και η θρησκευτική θεώρηση των όρωνη κοσμική και η θρησκευτική θεώρηση των όρων
η κοσμική και η θρησκευτική θεώρηση των όρων
 
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
 
GT IBR 2012 - focus on Netherlands
GT IBR 2012 - focus on NetherlandsGT IBR 2012 - focus on Netherlands
GT IBR 2012 - focus on Netherlands
 
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
 
The Greatest Money-Making Secret in History!
The Greatest Money-Making Secret in History!The Greatest Money-Making Secret in History!
The Greatest Money-Making Secret in History!
 
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
 

Ähnlich wie Jade和less 在WEB前端开发中的应用

建立前端开发团队 (Front-end Development Environment)
建立前端开发团队 (Front-end Development Environment)建立前端开发团队 (Front-end Development Environment)
建立前端开发团队 (Front-end Development Environment)Joseph Chiang
 
猴子也能懂的Node.js
猴子也能懂的Node.js猴子也能懂的Node.js
猴子也能懂的Node.jsHopenglishRD
 
Node js feat pegasus
Node js feat pegasusNode js feat pegasus
Node js feat pegasuscnfi
 
Node.js 進攻桌面開發
Node.js 進攻桌面開發Node.js 進攻桌面開發
Node.js 進攻桌面開發Fred Chien
 
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型裕波 周
 
Modern Web with CSS and CSS Grid (image with links inside)
Modern Web with CSS and CSS Grid (image with links inside)Modern Web with CSS and CSS Grid (image with links inside)
Modern Web with CSS and CSS Grid (image with links inside)百範 陳
 
Full stack-development with node js
Full stack-development with node jsFull stack-development with node js
Full stack-development with node jsXuefeng Zhang
 
赶集团购开发总结4
赶集团购开发总结4赶集团购开发总结4
赶集团购开发总结4yangdj
 
Study4 love.2016.2.20.ionic
Study4 love.2016.2.20.ionicStudy4 love.2016.2.20.ionic
Study4 love.2016.2.20.ionicKyle Shen
 
【项目分享】赶集移动Web App开发总结
【项目分享】赶集移动Web App开发总结 【项目分享】赶集移动Web App开发总结
【项目分享】赶集移动Web App开发总结 yangdj
 
如何提高网站性能之Css篇
如何提高网站性能之Css篇如何提高网站性能之Css篇
如何提高网站性能之Css篇2010felicia
 
深入淺出Node.JS
深入淺出Node.JS深入淺出Node.JS
深入淺出Node.JS國昭 張
 
July.2011.w3ctech
July.2011.w3ctechJuly.2011.w3ctech
July.2011.w3ctechKai Cui
 
css框架研究
css框架研究css框架研究
css框架研究chandleryu
 
CSS preprocessor 介紹,與 SASS 入門分享
CSS preprocessor 介紹,與 SASS 入門分享CSS preprocessor 介紹,與 SASS 入門分享
CSS preprocessor 介紹,與 SASS 入門分享wantingj
 
Js高级技巧
Js高级技巧Js高级技巧
Js高级技巧fool2fish
 
Nodejs部门分享
Nodejs部门分享Nodejs部门分享
Nodejs部门分享zffl
 

Ähnlich wie Jade和less 在WEB前端开发中的应用 (20)

建立前端开发团队 (Front-end Development Environment)
建立前端开发团队 (Front-end Development Environment)建立前端开发团队 (Front-end Development Environment)
建立前端开发团队 (Front-end Development Environment)
 
猴子也能懂的Node.js
猴子也能懂的Node.js猴子也能懂的Node.js
猴子也能懂的Node.js
 
Node js feat pegasus
Node js feat pegasusNode js feat pegasus
Node js feat pegasus
 
Node.js 進攻桌面開發
Node.js 進攻桌面開發Node.js 進攻桌面開發
Node.js 進攻桌面開發
 
SASS入門實作
SASS入門實作SASS入門實作
SASS入門實作
 
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
 
Modern Web with CSS and CSS Grid (image with links inside)
Modern Web with CSS and CSS Grid (image with links inside)Modern Web with CSS and CSS Grid (image with links inside)
Modern Web with CSS and CSS Grid (image with links inside)
 
Full stack-development with node js
Full stack-development with node jsFull stack-development with node js
Full stack-development with node js
 
赶集团购开发总结4
赶集团购开发总结4赶集团购开发总结4
赶集团购开发总结4
 
Study4 love.2016.2.20.ionic
Study4 love.2016.2.20.ionicStudy4 love.2016.2.20.ionic
Study4 love.2016.2.20.ionic
 
【项目分享】赶集移动Web App开发总结
【项目分享】赶集移动Web App开发总结 【项目分享】赶集移动Web App开发总结
【项目分享】赶集移动Web App开发总结
 
如何提高网站性能之Css篇
如何提高网站性能之Css篇如何提高网站性能之Css篇
如何提高网站性能之Css篇
 
深入淺出Node.JS
深入淺出Node.JS深入淺出Node.JS
深入淺出Node.JS
 
All about NodeJS
All about NodeJSAll about NodeJS
All about NodeJS
 
July.2011.w3ctech
July.2011.w3ctechJuly.2011.w3ctech
July.2011.w3ctech
 
Web Development Roadmap
Web Development RoadmapWeb Development Roadmap
Web Development Roadmap
 
css框架研究
css框架研究css框架研究
css框架研究
 
CSS preprocessor 介紹,與 SASS 入門分享
CSS preprocessor 介紹,與 SASS 入門分享CSS preprocessor 介紹,與 SASS 入門分享
CSS preprocessor 介紹,與 SASS 入門分享
 
Js高级技巧
Js高级技巧Js高级技巧
Js高级技巧
 
Nodejs部门分享
Nodejs部门分享Nodejs部门分享
Nodejs部门分享
 

Jade和less 在WEB前端开发中的应用

  • 1. JavaScript Node.js HAML Jade和less Jade 在WEB前端开发中的应用 尹志翔 less CSS Jade和less在前端开发中的应用 尹志翔 http://zhixiang.in/
  • 2. JavaScript Node.js HAML Jade 浏览器端模版引擎 JADE less CSS Jade和less在前端开发中的应用 尹志翔 http://zhixiang.in/
  • 3. JavaScript 先聊聊JavaScript吧 Node.js • 网页:HTML+CSS+JavaScript+(其他 HAML 资源) Jade • 简单: – 不面向对象, – C语言族,(它的鼻祖叫C--) – 语法少, less – 类型少 • 除了网页:WScript,ASP,Node.js CSS Jade和less在前端开发中的应用 尹志翔 http://zhixiang.in/
  • 4. JavaScript JavaScript是用来做什么的? Node.js • 验证表单 HAML • 交互时向用户询问信息 Jade (prompt,alert,confirm…) • 弹出窗口 less CSS Jade和less在前端开发中的应用 尹志翔 http://zhixiang.in/
  • 5. JavaScript JavaScript被拿来做什么了 Node.js • 修复一些浏览器对一些样式的不兼容 HAML • 更丰富的控件 Jade • 实现动画! … • 比如: – 做一个IDE? less Cloud9 IDE CSS Jade和less在前端开发中的应用 尹志翔 http://zhixiang.in/
  • 6. 当人类已经阻止不了 JavaScript JavaScript Node.js • AJAX一脚踢破了浏览器与服务器之 HAML 间的那堵墙(也就是HTML) Jade – 注:AJAX=异步JavaScript和XML :服务器(化工厂) :HTML(瓶子) :数据(洗衣液) less CSS :AJAX(袋子) :浏览器(家庭主妇的储存室) Jade和less在前端开发中的应用 尹志翔 http://zhixiang.in/
  • 7. 当人类已经阻止不了 JavaScript JavaScript Node.js • JavaScript代码量越来越大 HAML • 把垃圾都扔给JavaScript吧 Jade – ‘语义化的WEB设计’(WEB3.0的概念) – 而非‘面向对象的WEB设计’ – MVC的概念让前端心驰神往 • 前端模版库的出现 – backbone.js less – spine.js CSS – jQuery Template Jade和less在前端开发中的应用 尹志翔 http://zhixiang.in/
  • 8. JavaScript 顺便提一下node.js Node.js • 监听端口->HTTP请求->表单数据 HAML +URL->用JavaScript程序输出响应- Jade >HTTP响应 • 用它做WEB应用程序通常还需要一 个WEB框架 – GeddyJS less – express.js … CSS Jade和less在前端开发中的应用 尹志翔 http://zhixiang.in/
  • 9. JavaScript Node.js HAML Jade JADE是啥? less CSS Jade和less在前端开发中的应用 尹志翔 http://zhixiang.in/
  • 10. JavaScript 一个为Node.js而生的模版引擎 Node.js HAML Jade less CSS Jade和less在前端开发中的应用 尹志翔 http://zhixiang.in/
  • 11. JavaScript 一个HAML的衍生品 Node.js • HAML来自Ruby HAML – ERB来自Rails(一个基于Ruby的MVC框架) Jade – 当Ruby---一个缩进风格语言---的程序员遇上 ERB(内嵌式Ruby) less CSS Jade和less在前端开发中的应用 尹志翔 http://zhixiang.in/
  • 12. JavaScript Node.js HAML Jade JADE能干啥? less CSS Jade和less在前端开发中的应用 尹志翔 http://zhixiang.in/
  • 13. JavaScript 将数据和模版变成HTML Node.js HAML :数据(洗衣液) Jade :Jade模版(空瓶子) less :HTML(装满了洗衣液的瓶子) CSS Jade和less在前端开发中的应用 尹志翔 http://zhixiang.in/
  • 14. JavaScript Node.js HAML Jade 为啥用JADE? less CSS Jade和less在前端开发中的应用 尹志翔 http://zhixiang.in/
  • 15. JavaScript 开发环境零配置 Node.js • 因为Jade编译器能在浏览器端运行 HAML – 开发主线使用JavaScript编写. Jade – 自适应Node.js/浏览器运行环境 • 本地开发,使用任何WebServer less CSS Jade和less在前端开发中的应用 尹志翔 http://zhixiang.in/
  • 16. 因为Jade的语法对设计人员友 JavaScript 好 Node.js • Jade语法非常接近CSS选择器语法 HAML – Jade对HAML语法的改进 Jade • Jade语法很简洁 less CSS Jade和less在前端开发中的应用 尹志翔 http://zhixiang.in/
  • 17. JavaScript 编译和运行分开 Node.js HAML Jade less CSS Jade和less在前端开发中的应用 尹志翔 http://zhixiang.in/
  • 18. JavaScript 多种架构选择 Node.js • 浏览器端编译,运行(开发环境) HAML • 服务器端编译(优化),运行 Jade (express.js/Node.js中) • 部署编译,部署运行 • 部署编译,浏览器端运行 less CSS Jade和less在前端开发中的应用 尹志翔 http://zhixiang.in/
  • 19. JavaScript Node.js HAML Jade 咱怎么用JADE? less CSS Jade和less在前端开发中的应用 尹志翔 http://zhixiang.in/
  • 20. JavaScript 开发环境 Node.js • xxx.htm里不放任何内容 HAML • 将Jade模版储存为xxx.htm.jade与 Jade xxx.htm存放在一起,通过AJAX加载 • 渲染Jade需要的数据通过数组的形 式在xxx.htm.js定义 – 通过AJAX加载 less – JSON格式 CSS Jade和less在前端开发中的应用 尹志翔 http://zhixiang.in/
  • 21. JavaScript 生产环境 Node.js • 将Jade模版提前编译为JavaScript函 HAML 数,内嵌在HTML页面之中. Jade • 在客户端运行. less CSS Jade和less在前端开发中的应用 尹志翔 http://zhixiang.in/
  • 22. JavaScript Node.js HAML Jade CSS预处理器 LESS less CSS Jade和less在前端开发中的应用 尹志翔 http://zhixiang.in/
  • 23. JavaScript CSS-网页的垃圾堆 Node.js • ↓ CSS推出之前的HTML2.0 HAML Jade less CSS Jade和less在前端开发中的应用 尹志翔 http://zhixiang.in/
  • 24. JavaScript CSS-网页的垃圾堆 Node.js • HTML3.2中的CSS--内联样式的滥用 HAML – 1997年的W3C主页: Jade http://web.archive.org/web/1997121022 0609/http://www.w3.org/ less CSS Jade和less在前端开发中的应用 尹志翔 http://zhixiang.in/
  • 25. JavaScript CSS-网页的垃圾堆 Node.js • XHTML (2000年-现在) HAML • 嵌套结构有点复杂 Jade – 看看它的样式 表:http://www.w3school.com.cn/css/in dex.asp less CSS Jade和less在前端开发中的应用 尹志翔 http://zhixiang.in/
  • 26. JavaScript Less有啥用 Node.js HAML Jade less CSS Jade和less在前端开发中的应用 尹志翔 http://zhixiang.in/
  • 27. JavaScript Less有啥用 Node.js HAML Jade !!! less CSS Jade和less在前端开发中的应用 尹志翔 http://zhixiang.in/
  • 28. JavaScript Less有哪些特性? Node.js • 嵌套! HAML • 变量! Jade • 混合(继承!) • 其他小功能 – 注释 – 引用 less CSS Jade和less在前端开发中的应用 尹志翔 http://zhixiang.in/
  • 29. JavaScript Less有哪些特性? Node.js • 主线依然采用JavaScript进行开发,在浏 HAML 览器端运行! Jade • 很多实现和工具 – Node.js(主线) – 本地编译运行 – 在github上搜索less+css – ... less – 国人喜欢它: http://less.cnodejs.net/tools http://www.lesscss.net/ CSS Jade和less在前端开发中的应用 尹志翔 http://zhixiang.in/
  • 30. JavaScript 咱们咋用less Node.js • 开发环境中直接通过标签引用 HAML Jade • 生产环境中在部署时编译为CSS –… less CSS Jade和less在前端开发中的应用 尹志翔 http://zhixiang.in/