All Projects → ember-lifeline → Ember Lifeline

ember-lifeline / Ember Lifeline

Licence: mit
An Ember addon for managing the lifecyle of asynchronous behavior in your objects

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Ember Lifeline

Ember Models Table
Table with pagination, sorting, filtering and much more
Stars: ✭ 212 (-12.03%)
Mutual labels:  ember, ember-addon
Emberx Select
Select component for Ember based on the native html select element.
Stars: ✭ 202 (-16.18%)
Mutual labels:  ember, ember-addon
Ember Toggle
Checkbox based Toggle Switches for Ember
Stars: ✭ 111 (-53.94%)
Mutual labels:  ember, ember-addon
Ember Wordpress
The bridge between Ember.js and Wordpress
Stars: ✭ 94 (-61%)
Mutual labels:  ember, ember-addon
Ember Cli Addon Docs
Easy, beautiful docs for your OSS Ember addons
Stars: ✭ 162 (-32.78%)
Mutual labels:  ember, ember-addon
Ember Cli Postcss
🔥 A Postcss integration for ember-cli
Stars: ✭ 97 (-59.75%)
Mutual labels:  ember, ember-addon
Ember Cli Document Title
Adding document title behaviour to your ember app
Stars: ✭ 220 (-8.71%)
Mutual labels:  ember, ember-addon
Ember Cli Sentry
Error tracking via Sentry for Ember.js apps
Stars: ✭ 81 (-66.39%)
Mutual labels:  ember, ember-addon
Ember Table
opensource.addepar.com/ember-table/
Stars: ✭ 1,695 (+603.32%)
Mutual labels:  ember, ember-addon
Ember Form For
Stars: ✭ 136 (-43.57%)
Mutual labels:  ember, ember-addon
Ember Cli Stripe
Stripe checkout for Ember
Stars: ✭ 84 (-65.15%)
Mutual labels:  ember, ember-addon
Ember Tooltips
Easy and extendible tooltips for Ember components - http://sir-dunxalot.github.io/ember-tooltips/
Stars: ✭ 205 (-14.94%)
Mutual labels:  ember, ember-addon
Ember Steps
Declaratively create wizards, tabbed UIs, and more
Stars: ✭ 84 (-65.15%)
Mutual labels:  ember, ember-addon
Ember Font Awesome
ember-cli addon for using Font Awesome icons in Ember apps
Stars: ✭ 225 (-6.64%)
Mutual labels:  ember, ember-addon
Ember Drag Sort
A sortable list component with support for multiple and nested lists
Stars: ✭ 82 (-65.98%)
Mutual labels:  ember, ember-addon
Ember Content Placeholders
Composable components for rendering fake (progressive) content like facebook
Stars: ✭ 121 (-49.79%)
Mutual labels:  ember, ember-addon
Ember Cli Coffeescript
Adds precompilation of CoffeeScript files and all the basic generation types to the ember generate command.
Stars: ✭ 72 (-70.12%)
Mutual labels:  ember, ember-addon
Ember Cli Bundle Analyzer
Analyze the size and contents of your Ember app's bundles
Stars: ✭ 78 (-67.63%)
Mutual labels:  ember, ember-addon
Ember Impagination
An Ember Addon that puts the fun back in asynchronous, paginated datasets
Stars: ✭ 123 (-48.96%)
Mutual labels:  ember, ember-addon
Ember Cli Notifications
⚛ Atom inspired notification messages for ember-cli
Stars: ✭ 168 (-30.29%)
Mutual labels:  ember, ember-addon

ember-lifeline

CI Build Ember Observer Score npm version Monthly Downloads from NPM Code Style: prettier

Ember applications have long life-cycles. A user may navigate to several pages and use many different features before they leave the application. This makes JavaScript and Ember development unlike Rails development, where the lifecycle of a request is short and the environment disposed of after each request. It makes Ember development much more like iOS or video game development than traditional server-side web development.

This addon introduces several functional utility methods to help manage async, object lifecycles, and the Ember runloop. These tools should provide a simple developer experience that allows engineers to focus on the business domain, and think less about the weird parts of working in a long-lived app.

The documentation website contains more examples and API information.

Installation

ember install ember-lifeline

Usage

Ember Lifeline supports a functional API that enables entanglement - the association of async behavior to object instances. This allows you to write async code in your classes that can be automatically cleaned up for you when the object is destroyed.

Ember's runloop functions, like the example below, don't ensure that an object's async is cleaned up.

import Component from '@ember/component';
import { run } from '@ember/runloop';

export default Component.extend({
  init() {
    this._super(...arguments);

    run.later(() => {
      this.set('date', new Date());
    }, 500);
  },
});

Using ember-lifeline's equivalent, in this case runTask, can help ensure that any active async is cleaned up once the object is destroyed.

import Component from '@ember/component';
import { runTask, runDisposables } from 'ember-lifeline';

export default Component.extend({
  init() {
    this._super(...arguments);

    runTask(
      this,
      () => {
        this.set('date', new Date());
      },
      500
    );
  },

  willDestroy() {
    this._super(...arguments);

    runDisposables(this);
  },
});

For more information and examples, please visit the documentation website.

Contributing

See the Contributing guide for details.

Credit

This addon was developed internally at Twitch, written originally by @mixonic and @rwjblue. It's since been further developed and maintained by scalvert.

The name ember-lifeline was suggested by @nathanhammod.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].