JavaScripting

The definitive source of the best
JavaScript libraries, frameworks, and plugins.


  • ×

    Alloy is a UI metaframework that provides a consistent and simple API for building web applications across allthree levels of the browser: structure, style and behavior.
    Filed under  › 

    • 🔾60%Overall
    • 1,550
    • 23.1 days
    • 🕩679
    • 👥22

    :warning: This repo is now archived (ie. switched to read-only mode). Alloy UI is deprecated and but future critical patches will continue at liferay/liferay-frontend-projects monorepo.


    AlloyUI

    AlloyUI Robo Suit

    AlloyUI is a framework built on top of YUI3 (JavaScript) that uses Bootstrap 3 (HTML/CSS) to provide a simple API for building high scalable applications.

    Browser Support

    As an user interface framework we do care about browser support. Most of our modules use all the power of HTML5, so for old browsers we provide fallbacks in Flash.

    IE Chrome Firefox Opera Safari
    IE 8+ ✔ Latest ✔ Latest ✔ Latest ✔ Latest ✔

    Automated tasks

    We use Gulp, a task-runner in Node, to automate things.

    gulp <command>
    

    To discover the most commonly used tasks, run:

    gulp help
    

    Setup

    1. Install NodeJS <= v0.12.0, if you don't have it yet.

    2. Install global dependencies:

    [sudo] npm install -g gulp
    
    1. Install local dependencies:
    npm install
    
    1. Initialize and fetch dependencies via Bower:
    gulp init
    
    1. Build AlloyUI & YUI3 using Shifter:
    gulp build
    

    Development

    Rebuild AUI components:

    gulp build-aui
    

    If run at the root level, it will build all AUI components.

    If run within a component folder (ie. cd src/aui-datatable), it will only build that specific component.

    Watch for changes and rebuild automatically:

    gulp watch
    

    Discussion

    Structure

    The basic structure of the project is given in the following way:

    • bower_components/ Contains all dependencies fetched via Bower. However, this directory is unnecessary for versioning, so it is ignored (.gitignore).
    • build/ Contains AlloyUI and YUI generated files, once build task has been run. However, this directory is unnecessary for versioning, so it is ignored (.gitignore).
    • demos/ Contains basic examples of the AlloyUI modules.
    • src/ Contains the source code of the AlloyUI modules.
    • tasks/ Contains the source code of the Gulp tasks.
    • .alloy.json Specifies all dependencies and some configurations.
    • .editorconfig Specifies the coding style for different editors/IDEs.
    • .jsbeautifyrc Specifies the coding format rules for JSBeautify.
    • .jshintrc Specifies the linting configurations for JSHint.
    • .yeti.json Specifies the testing configurations for Yeti.
    • LICENSE.md Defines the license agreement for AlloyUI.
    • README.md Explains the AlloyUI project.
    • package.json Lists all NodeJS dependencies.

    Team

    AlloyUI is maintained by Liferay's Frontend Infrastructure team and a bunch of awesome contributors.

    Liferay Frontend Infrastructure Team
    Liferay Frontend Infrastructure Team

    History

    Discover all versions in the Releases page.

    Each module (located under src/) contains a HISTORY.md file, check them for detailed changelog.

    License

    BSD-3-Clause License (c) Liferay, Inc.

    Show All