Skip to content

Commit 2466b6e

Browse files
committed
Revisited the project structure
1 parent 3b32dd6 commit 2466b6e

31 files changed

+152
-149
lines changed

README.md

Lines changed: 32 additions & 149 deletions
Original file line numberDiff line numberDiff line change
@@ -4,152 +4,35 @@
44

55
If you are willing to contribute, open a pull request to complete, update or fill in a section. Thank you for doing so!
66

7-
## AngularJS
8-
9-
[AngularJS](https://angularjs.org/) is a structural framework for dynamic web apps. It lets developers use HTML as their template language and lets them extend HTML’s syntax to express their application’s components clearly and succinctly.
10-
11-
Angular’s data binding and dependency injection eliminate much of the code developers would otherwise have to write. And it all happens within the browser, making it an ideal partner with any server technology.
12-
13-
## Babel
14-
15-
[Babel](https://babeljs.io/) (formerly *6to5*) is essentially an [ECMAScript](#ecmascript-es) 6 and beyond transpiler. It means that it is a program that translates future’s JavaScript into today’s widely understood (by browsers) JavaScript. The idea behind such a tool is to allow developers to write their code using ECMAScript new features while still making it work in current browsers (and past) browsers.
16-
17-
As of version 6, Babel also intends to be a platform, a suite of tools designed to create the next generation of JavaScript tooling. This means Babel is also supposed to power minifiers, linters, formatters, syntax highlighters, code completion tools, type checkers, codemod tools, and every other tool to be using the same foundation to do their job better than ever before.
18-
19-
## Backbone
20-
21-
[Backbone.js](http://backbonejs.org/) is a framework giving structure to web applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to existing APIs over a RESTful JSON interface.
22-
23-
## Bower
24-
25-
[Bower](http://bower.io/) is a package manager for front-end dependencies. It takes care of hunting, finding, downloading, saving these dependencies and keeping track of them in a manifest file called `bower.json`. Bower uses a flat dependency tree, requiring only one version for each package, reducing page load to a minimum.
26-
27-
## Broccoli
28-
29-
[Broccoli](https://github.com/broccolijs/broccoli) is a fast, reliable asset pipeline, supporting constant-time rebuilds and compact build definitions. Comparable to the [Rails](http://rubyonrails.org/) asset pipeline in scope, though it runs on [Node.js](#nodejs) and is backend-agnostic.
30-
31-
## Browserify
32-
33-
[Browserify](http://browserify.org/) is a tool that allows you to use the [require](https://nodejs.org/api/modules.html) [Node.js](#nodejs) function while working for the browser by bundling up all the required dependencies.
34-
35-
The idea behind Browserify is to make it possible to use existing libraries from [npm](#npm) even when writing code for the client side. To allow this, it goes through the code, request the required dependencies, then create a single file containing everything: both the dependencies and the code using them.
36-
37-
## Brunch
38-
39-
[Brunch](http://brunch.io/) is a builder. Not a generic task runner, but a specialized tool focusing on the production of a small number of deployment-ready files from a large number of heterogenous development files or trees.
40-
41-
Brunch is fundamentally specialized and geared towards building assets, these files that get used in the end by the runtime platform, usually a web browser. It thus comes pre-equipped with a number of behaviors and features such as concatenation, minification and watching of source files.
42-
43-
## CoffeeScript
44-
45-
[CoffeeScript](http://coffeescript.org/) is a little language that compiles into JavaScript. It is an attempt to expose the good parts of JavaScript in a simple way and friendly syntax, the golden rule being: “It’s just JavaScript”.
46-
47-
The code compiles one-to-one into the equivalent JS, and there is no interpretation at runtime. The compiled output is readable and pretty-printed, will work in every JavaScript runtime, and tends to run as fast or faster than the equivalent handwritten JavaScript.
48-
49-
## D3.js
50-
51-
[D3.js](http://d3js.org/) is a library for manipulating documents based on data. D3 helps bringing data to life using HTML, SVG, and CSS. Its emphasis on web standards gives the full capabilities of modern browsers without tying to a proprietary framework, combining powerful visualization components and a data-driven approach to DOM manipulation.
52-
53-
## ECMAScript (ES)
54-
55-
[ECMAScript](http://www.ecmascript.org/) (shortened as *ES*) is the standardized specification of the scripting language used by JavaScript, as well as less known languages JScript and ActionScript.
56-
57-
The versioning convention of ECMAScript has been the subject of hot debates. We often refer to ES5 (understood by most browsers), ES6 (the future of JavaScript) and even ES7 (the far future of JavaScript), but the official appelation for ES6 would actually be ES2015. The intention is to publish a version of the specification a year, making the language evolve quicker than ever. Still, most developers use ES5 and ES6 terms.
58-
59-
## Ember
60-
61-
[Ember](http://emberjs.com/) section to be completed.
62-
63-
## Express
64-
65-
[Express](http://expressjs.com/en/index.html) is a fast, unopinionated, minimalist web framework for [Node.js](#nodejs). Express provides a thin layer of fundamental web application features, without obscuring Node.js features that developers already know and like. The myriad of HTTP utility methods and middleware provided by Express makes creating a robust API quick and easy.
66-
67-
## Flux
68-
69-
[Flux](https://facebook.github.io/flux/) is an application structure that is developed and used at Facebook to complement [React](#react)’s one-way data flow. With Flux, application state and logic are contained in stores.
70-
71-
## Grunt
72-
73-
[Grunt](http://gruntjs.com/) is a task runner aiming at automating tedious and possibly complex tasks. The idea behind Grunt (and its peer [Gulp](#gulp)) is to define tasks that perform (usually file-based) actions. These tasks can then be run through the command line or as part of another build step.
74-
75-
## Gulp
76-
77-
[Gulp](http://gulpjs.com/) is a task runner aiming at automating tedious and possibly complex tasks. The idea behind Gulp (and its peer [Grunt](#grunt)) is to define tasks that perform (usually file-based) actions. These tasks can then be run through the command line or as part of another build step.
78-
79-
Gulp also owes its success to its very large ecosystem of plugins, making it easy to perform everyday’s tasks without having to write much code.
80-
81-
## jQuery
82-
83-
[jQuery](https://jquery.com/) is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers. With a combination of versatility and extensibility, jQuery has changed the way that millions of people write JavaScript.
84-
85-
## Knockout
86-
87-
[Knockout](http://knockoutjs.com/) (shortened as *KO*) is a JavaScript library that helps developers creating rich, responsive display and editor user interfaces with a clean underlying data model. Knockout helps implementing sections of UI that update dynamically (e.g. changes depending on user’s actions or when external data source gets updated) more simply and maintainably.
88-
89-
## Meteor
90-
91-
[Meteor](https://www.meteor.com/) section to be completed.
92-
93-
## MooTools
94-
95-
[MooTools](http://mootools.net/) section to be completed.
96-
97-
## Node.js
98-
99-
[Node.js](https://nodejs.org/en/) is an open-source, cross-platform runtime environment for developing server-side web applications built on Chrome’s [V8](#v8) JavaScript engine. These applications are written in JavaScript and can be run within the Node.js runtime.
100-
101-
Node.js uses an event-driven, non-blocking I/O (input/output) model that makes it lightweight and efficient as well as optimized for real-time web applications’ throughput and scalability.
102-
103-
Its work is hosted and supported by the [Node.js Foundation](https://nodejs.org/en/foundation/), a collaborative project at Linux Foundation.
104-
105-
## npm
106-
107-
[npm](https://www.npmjs.com/) is utility to help publishing packages to, and installing from, an npm repository. The repository npmjs.com is the best known, and contains many useful community written and tested packages.
108-
109-
## nvm
110-
111-
[nvm](https://github.com/creationix/nvm/blob/master/README.markdown) is a utility to help run multiple versions of [Node.js](#nodejs) (and its branches) on the same machine. It can install, list, and choose versions. It is analagous to [RVM](https://rvm.io/) (Ruby Version Manager).
112-
113-
## PhoneGap
114-
115-
[PhoneGap](http://phonegap.com/) section to be completed.
116-
117-
## React
118-
119-
[React](https://facebook.github.io/react/) is a library developed and used at Facebook for building user interfaces. It can be seen as the V in MVC (Model View Controller) as it makes no assumptions about the rest of the technology stack. Using [React Native](#react-native) it can even be used to power native apps.
120-
121-
In React you can write HTML directly in JS using an XML-like syntax called JSX. JSX compiles to JS and is optional, but does make the code more expressive.
122-
123-
Data flow in React is one-way which makes it easier to reason about and avoid mistakes. This quality can be enhanced using [Flux](#flux), Facebook’s complementary application architecture, or [Redux](#redux) which many people see as a “better Flux”.
124-
125-
## React Native
126-
127-
[React Native](https://facebook.github.io/react-native/) section to be completed.
128-
129-
## Redux
130-
131-
[Redux](http://redux.js.org/) is a predictable state container for JavaScript apps, which is a fancy way of saying it controls application state and state mutations. It does so by keeping state in a store, which is the single source of truth.
132-
133-
Redux is an alternative to [Flux](#flux) and used a lot together with [React](#react), but you can use it with any other view library.
134-
135-
## RequireJS
136-
137-
[RequireJS](http://requirejs.org/) section to be completed.
138-
139-
## TypeScript
140-
141-
[TypeScript](http://www.typescriptlang.org/) is a super-set of the JavaScript language that introduces types (plus interfaces and new JavaScript features). It allows type-checking during development time with supported editors such as [Visual Studio](https://code.visualstudio.com/). The compiler requires information about the “shape” of a module in a _type-definition-file_.
142-
143-
## Yeoman
144-
145-
[Yeoman](http://yeoman.io/) is both a generator builder and an ecosystem. A generator is basically a plugin which will generate files based on user input. Plugins can be run with the `yo` command to scaffold complete projects or useful parts.
146-
147-
Therefore, the goal of a Yeoman generator is usually (but not necessarily) to speed up the setup and installation process of a project or part of a project by packaging it inside a module that can be configured through a question/reply workflow from the command line.
148-
149-
## V8
150-
151-
[V8](https://code.google.com/p/v8/) section to be completed.
152-
153-
## Webpack
154-
155-
[Webpack](https://github.com/webpack/webpack) helps you managing dependencies in your project, and also offers a friendly and fast development environment, simplifying a lot of common tasks behind a simple configuration file. It also allows you to bundle your modules into static assets for browsers. Its killer feature is the known as [hot module replacement](https://github.com/webpack/docs/wiki/hot-module-replacement-with-webpack), which lets your live code in the browser update automatically as you change files in your preferred editor without a page reload.
7+
## Glossary
8+
9+
* [AngularJS](/glossary/ANGULARJS.md): a structural framework for dynamic web apps.
10+
* [Babel](/glossary/BABEL.md): an ECMAScript 6 (and beyond) to ECMAScript 5 code translator (transpiler).
11+
* [Backbone](/glossary/BACKBONE.md): a structural framework for dynamic web apps.
12+
* [Bower](/glossary/BOWER.md): a package manager for front-end dependencies.
13+
* [Broccoli](/glossary/BROCCOLI.md): a fast and reliable asset pipeline.
14+
* [Browserify](/glossary/BROWSERIFY.md): a tool making possible to use the `require` function from Node.js while working for the browser.
15+
* [Brunch](/glossary/BRUNCH.md): a tool focusing on the production of deployment-ready files from development files.
16+
* [CoffeeScript](/glossary/COFFEESCRIPT.md): a language that compiles into JavaScript.
17+
* [D3.js](/glossary/D3JS.md): a library for manipulating documents based on data.
18+
* [ECMAScript](/glossary/ECMASCRIPT.md): the standardized specification of the scripting language used by JavaScript.
19+
* [Ember](/glossary/EMBER.md): to be completed.
20+
* [Express](/glossary/EXPRESS.md): a fast, unopinionated, minimalist web framework for Node.js.
21+
* [Flux](/glossary/FLUX.md): an application structure focusing on improved data flow.
22+
* [Grunt](/glossary/GRUNT.md): a task runner aiming at automating tedious and possibly complex tasks.
23+
* [Gulp](/glossary/GULP.md): a task runner aiming at automating tedious and possibly complex tasks.
24+
* [jQuery](/glossary/JQUERY.md): a fast, small, and feature-rich client-side library.
25+
* [Knockout](/glossary/KNOCKOUT.md): a library that helps developers creating user interfaces with a clean underlying data model.
26+
* [Meteor](/glossary/METEOR.md): to be completed.
27+
* [Mootools](/glossary/MOOTOOLS.md): to be completed.
28+
* [Node.js](/glossary/NODEJS.md): a cross-platform runtime environment for developing server-side applications built on V8 engine.
29+
* [npm](/glossary/NPM.md): a utility to help publishing packages to, and installing from, an npm repository.
30+
* [nvm](/glossary/NVM.md): a utility to help run multiple versions of Node.js on the same machine.
31+
* [PhoneGap](/glossary/PHONEGAP.md): to be completed.
32+
* [React](/glossary/REACT.md): a library developed and used at Facebook for building user interfaces.
33+
* [Redux](/glossary/REDUX.md): a predictable state container for apps.
34+
* [Require.js](/glossary/REQUIREJS.md): to be completed.
35+
* [TypeScript](/glossary/TYPESCRIPT.md): a super-set of the JavaScript language that introduces types.
36+
* [V8](/glossary/V8.md): to be completed.
37+
* [webpack](/glossary/WEBPACK.md): a dependency manager with a friendly and fast development environment, simplifying a lot of common tasks.
38+
* [Yeoman](/glossary/YEOMAN.md): a generator builder to speed up the setup and installation process of a project or part of a project.

glossary/ANGULARJS.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# AngularJS
2+
3+
[AngularJS](https://angularjs.org/) is a structural framework for dynamic web apps. It lets developers use HTML as their template language and lets them extend HTML’s syntax to express their application’s components clearly and succinctly.
4+
5+
Angular’s data binding and dependency injection eliminate much of the code developers would otherwise have to write. And it all happens within the browser, making it an ideal partner with any server technology.

glossary/BABEL.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Babel
2+
3+
[Babel](https://babeljs.io/) (formerly *6to5*) is essentially an [ECMAScript](ECMASCRIPT.md) 6 and beyond transpiler. It means that it is a program that translates future’s JavaScript into today’s widely understood (by browsers) JavaScript. The idea behind such a tool is to allow developers to write their code using ECMAScript new features while still making it work in current browsers (and past) browsers.
4+
5+
As of version 6, Babel also intends to be a platform, a suite of tools designed to create the next generation of JavaScript tooling. This means Babel is also supposed to power minifiers, linters, formatters, syntax highlighters, code completion tools, type checkers, codemod tools, and every other tool to be using the same foundation to do their job better than ever before.

glossary/BACKBONE.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Backbone
2+
3+
[Backbone.js](http://backbonejs.org/) is a framework giving structure to web applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to existing APIs over a RESTful JSON interface.

glossary/BOWER.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Bower
2+
3+
[Bower](http://bower.io/) is a package manager for front-end dependencies. It takes care of hunting, finding, downloading, saving these dependencies and keeping track of them in a manifest file called `bower.json`. Bower uses a flat dependency tree, requiring only one version for each package, reducing page load to a minimum.

glossary/BROCCOLI.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Broccoli
2+
3+
[Broccoli](https://github.com/broccolijs/broccoli) is a fast, reliable asset pipeline, supporting constant-time rebuilds and compact build definitions. Comparable to the [Rails](http://rubyonrails.org/) asset pipeline in scope, though it runs on [Node.js](NODEJS.md) and is backend-agnostic.

glossary/BROWSERIFY.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Browserify
2+
3+
[Browserify](http://browserify.org/) is a tool that allows you to use the [require](https://nodejs.org/api/modules.html) [Node.js](NODEJS.md) function while working for the browser by bundling up all the required dependencies.
4+
5+
The idea behind Browserify is to make it possible to use existing libraries from [npm](NPM.md) even when writing code for the client side. To allow this, it goes through the code, request the required dependencies, then create a single file containing everything: both the dependencies and the code using them.

glossary/BRUNCH.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Brunch
2+
3+
[Brunch](http://brunch.io/) is a builder. Not a generic task runner, but a specialized tool focusing on the production of a small number of deployment-ready files from a large number of heterogenous development files or trees.
4+
5+
Brunch is fundamentally specialized and geared towards building assets, these files that get used in the end by the runtime platform, usually a web browser. It thus comes pre-equipped with a number of behaviors and features such as concatenation, minification and watching of source files.

glossary/COFFEESCRIPT.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# CoffeeScript
2+
3+
[CoffeeScript](http://coffeescript.org/) is a little language that compiles into JavaScript. It is an attempt to expose the good parts of JavaScript in a simple way and friendly syntax, the golden rule being: “It’s just JavaScript”.
4+
5+
The code compiles one-to-one into the equivalent JS, and there is no interpretation at runtime. The compiled output is readable and pretty-printed, will work in every JavaScript runtime, and tends to run as fast or faster than the equivalent handwritten JavaScript.

glossary/D3JS.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# D3.js
2+
3+
[D3.js](http://d3js.org/) is a library for manipulating documents based on data. D3 helps bringing data to life using HTML, SVG, and CSS. Its emphasis on web standards gives the full capabilities of modern browsers without tying to a proprietary framework, combining powerful visualization components and a data-driven approach to DOM manipulation.

glossary/ECMASCRIPT.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# ECMAScript (ES)
2+
3+
[ECMAScript](http://www.ecmascript.org/) (shortened as *ES*) is the standardized specification of the scripting language used by JavaScript, as well as less known languages JScript and ActionScript.
4+
5+
The versioning convention of ECMAScript has been the subject of hot debates. We often refer to ES5 (understood by most browsers), ES6 (the future of JavaScript) and even ES7 (the far future of JavaScript), but the official appelation for ES6 would actually be ES2015. The intention is to publish a version of the specification a year, making the language evolve quicker than ever. Still, most developers use ES5 and ES6 terms.

glossary/EMBER.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Ember
2+
3+
[Ember](http://emberjs.com/) section to be completed.

glossary/EXPRESS.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Express
2+
3+
[Express](http://expressjs.com/en/index.html) is a fast, unopinionated, minimalist web framework for [Node.js](NODEJS.md). Express provides a thin layer of fundamental web application features, without obscuring Node.js features that developers already know and like. The myriad of HTTP utility methods and middleware provided by Express makes creating a robust API quick and easy.

glossary/FLUX.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Flux
2+
3+
[Flux](https://facebook.github.io/flux/) is an application structure that is developed and used at Facebook to complement [React](REACT.md)’s one-way data flow. With [Flux](/FLUX.md), application state and logic are contained in stores.

0 commit comments

Comments
 (0)