HOME

TheInfoList



OR:

Yeoman is an
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
client-side
scaffolding Scaffolding, also called scaffold or staging, is a temporary structure used to support a work crew and materials to aid in the construction, maintenance and repair of buildings, bridges and all other man-made structures. Scaffolds are widely use ...
tool for
web application A web application (or web app) is application software that is accessed using a web browser. Web applications are delivered on the World Wide Web to users with an active network connection. History In earlier computing models like client-serve ...
s. Yeoman runs as a command-line interface written for
Node.js Node.js is an open-source server environment. Node.js is cross-platform and runs on Windows, Linux, Unix, and macOS. Node.js is a back-end JavaScript runtime environment. Node.js runs on the V8 JavaScript Engine and executes JavaScript code ou ...
and combines several functions into one place, such as generating a starter template, managing dependencies, running
unit tests In computer programming, unit testing is a software testing method by which individual units of source code—sets of one or more computer program modules together with associated control data, usage procedures, and operating procedures&m ...
, providing a local development server, and optimizing production code for deployment. Yeoman was released at
Google I/O Google I/O (or simply I/O) is an annual developer conference held by Google in Mountain View, California. "I/O" stands for Input/Output, as well as the slogan "Innovation in the Open". The event's format is similar to Google Developer Day. H ...
2012.


Overview

Yeoman combines several open source tools in an attempt to streamline many aspects of the web development process. Using a "generator" concept inspired by
Ruby on Rails Ruby on Rails (simplified as Rails) is a server-side web application framework written in Ruby under the MIT License. Rails is a model–view–controller (MVC) framework, providing default structures for a database, a web service, and web ...
, Yeoman first creates a basic project structure with vendor libraries included. The most basic Yeoman generator supplies the HTML5 Boilerplate, Normalize.css, the
jQuery jQuery is a JavaScript library designed to simplify HTML DOM tree traversal and manipulation, as well as event handling, CSS animation, and Ajax. It is free, open-source software using the permissive MIT License. As of Aug 2022, jQuery is ...
JavaScript library, and Modernizr as a basic template for developers. Yeoman also runs interactively, asking the developer if they would like additional components such as
Twitter Bootstrap Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains HTML, CSS and (optionally) JavaScript-based design templates for typography, forms, buttons, navigation, and other ...
or RequireJS (a library to support
Asynchronous Module Definition Asynchronous module definition (AMD) is a specification for the programming language JavaScript. It defines an application programming interface (API) that defines code modules and their dependencies, and loads them asynchronously if desired. I ...
) included. More sophisticated generators exist, such as ones which scaffold out a client-side MVC ( Model-View-Controller) framework, such as the
AngularJS AngularJS is a discontinued free and open-source JavaScript-based web framework for developing single-page applications. It was maintained mainly by Google and a community of individuals and corporations. It aimed to simplify both the developm ...
or
Backbone The backbone is the vertebral column of a vertebrate. Arts, entertainment, and media Film * ''Backbone'' (1923 film), a 1923 lost silent film starring Alfred Lunt * ''Backbone'' (1975 film), a 1975 Yugoslavian drama directed by Vlatko Gilić M ...
JavaScript libraries. Yeoman is meant to be modular such that anyone can design a generator to create a template for a particular type of project. More than 5600 generators have been created by the open source community. Beyond providing a template to scaffold projects, Yeoman also helps with intermediary phases of web application development. Yeoman lints code for potential problems using JSHint, runs unit tests, and provides a development server for working on an application. Finally, Yeoman also offers a build automation process featuring optimizations such as minification and concatenation of script files. All of these features use pre-configured tasks for the Grunt
JavaScript JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of Website, websites use JavaScript on the Client (computing), client side ...
task runner. Yeoman is an open source project whose code is hosted on
GitHub GitHub, Inc. () is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, co ...
. Some of the primary contributors are on the
Google Chrome Google Chrome is a cross-platform web browser developed by Google. It was first released in 2008 for Microsoft Windows, built with free software components from Apple WebKit and Mozilla Firefox. Versions were later released for Linux, macO ...
Developer Relations team, such as Addy Osmani, Paul Irish, and Eric Bidelman.


References


External links

* {{Official website, http://www.yeoman.io/
GruntJS

HTML5 Boilerplate

Modernizr
2012 software HTML JavaScript libraries JavaScript programming tools Software using the BSD license Web development software