大家学到现在应该也已经对前端的HTML,CSS,JS有个基本的了解了。 前端开发者是非常需要更近时代的。 现在给大家补点前端现状。
此文引用了一些包的官方介绍。
- Bower
Twitter 出品,前端包管理工具。
Bower is a package manager for the web.
It offers a generic, unopinionated solution to the problem of front-end package management,
while exposing the package dependency model via
an API that can be consumed by a more opinionated build stack.
There are no system wide dependencies,
no dependencies are shared between different apps, and the dependency tree is flat.
Bower runs over Git, and is package-agnostic.
A packaged component can be made up of any type of asset,
and use any type of transport (e.g., AMD, CommonJS, etc.).
如果你试过在 Javascript 里头写 HTML,一定觉得非常难受, 因为变量嵌在字符串中需要写很多很多引号加号。 当然若是用 CoffeeScript的话会好些。 下面介绍一写渲染模板引擎。
- mustache
https://github.com/janl/mustache.js
- Hogan.js
JavaScript templating from Twitter.
http://twitter.github.io/hogan.js/
- Jade
Jade is a clean, whitespace sensitive syntax for writing html. Here is a simple example:
doctype 5
html(lang="en")
head
title= pageTitle
script(type='text/javascript').
if (foo) bar(1 + 5)
body
h1 Jade - node template engine
#container.col
if youAreUsingJade
p You are amazing
else
p Get on it!
p.
Jade is a terse and simple templating language with a
strong focus on performance and powerful features.
becomes
<!DOCTYPE html>
<html lang="en">
<head>
<title>Jade</title>
<script type="text/javascript">
if (foo) bar(1 + 5)
</script>
</head>
<body>
<h1>Jade - node template engine</h1>
<div id="container" class="col">
<p>You are amazing</p>
<p>Jade is a terse and simple templating language with a strong focus on performance and powerful features.</p>
</div>
</body>
</html>
- ejs
<% if (user) { %>
<h2><%= user.name %></h2>
<% } %>
- swig
<h1>{{ pagename|title }}</h1>
<ul>
{% for author in authors %}
<li{% if loop.first %} class="first"{% endif %}>{{ author }}</li>
{% endfor %}
</ul>
求是潮目前用的比较多的 Less,不过我个人觉得 Stylus 也不错。具体用什么由项目决定。
- Less
http://www.lesscss.net/article/document.html
- Stylus
https://github.com/learnboost/stylus
- Sass
http://sass-lang.com/documentation/file.SASS_REFERENCE.html#css_extensions
- CoffeeScript
CoffeeScript非常优雅,我用CoffeeScript最突出的感受就是, 简单,解决了 Javascript 在常见任务中会碰到的很多不得不 dirty 的地方。 但是记住 CoffeeScript == Javascript。 学习 CoffeeScript,可以通过 compile 成 Javascript,看看具体都是如何实现的, 对 Javascript 功力的长进也是非常有裨益的。
- TypeScript
与 CoffeeScript 不同,TypeScript是一种 Javascript 的超集。TypeScript 是Microsoft公司开发的开源语言。
-
Backbone
-
Angular
- Grunt
- RequireJS
http://requirejs.org/docs/api.html
- SeaJS
SeaJS 比起 RequireJS 要简单上一些,并且非常符合 NodeJS 的模块感觉。 国内很多项目都用 SeaJS。
- prototype.js
这个问题值得一看,http://stackoverflow.com/questions/2644556/prototype-vs-jquery-strengths-and-weaknesses
- underscore
采用类似 jQuery 的思想,只操作了 window._ , 非常有用的库,提供了很多有用的函数,建议大家一看。
了解以上种种东西,然后寻找一些类似的有趣的东西