ease.js - Tasks: task #12092, Forced Feature Degradation (for...
You are not allowed to post comments on this tracker with your current authentication level.
task #12092: Forced Feature Degradation (for production)
Submitter: | Mike Gerwitz <mikegerwitz> | ||
Submitted: | Sun 10 Jun 2012 12:43:40 AM UTC | ||
Should Start On: | Fri 26 Aug 2011 04:00:00 AM UTC | Should be Finished on: | Tue 01 Jan 2013 05:00:00 AM UTC |
Category: | Core | Priority: | 6 |
Item Group: | Development | Status: | None |
Privacy: | Public | Assigned to: | mikegerwitz |
Percent Complete: | 0% | Open/Closed: | Open |
Planned Release: | None | ||
Keywords: | performance |
No files currently attached
Depends on the following items
Items that depend on this one: None found
Carbon-Copy List
There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.
Follows 1 latest change.
Date | Changed by | Updated Field | Previous Value | => | Replaced by |
---|---|---|---|---|---|
2012-06-10 | mikegerwitz | Dependencies | - | Depends on task #12088 |
Powered by Savane 3.13-4448.
Corresponding source code
ease.js currently supports feature degradation to support older browsers that cannot take advantage of certain features. For example, to work on IE <= 8, ease.js drops visibility support, but otherwise functions exactly the same.
There's a benefit to this. Performance is increased. Many concepts of Object-Oriented development are very useful during development, but unnecessary during runtime. Visibility is one such concept, unless the runtime environment makes heavy use of external libraries (which would permit breaking encapsulation).
To gain an extra performance boost in production, permit a forced degradation.
In addition, we could also evaluate other features that may not be required in a production environment. For example, one should develop using ease.js in a development mode. This mode will perform necessary validations (e.g. keyword checking, ensuring we don't override non-virtual members, etc). In production, it should be assumed that all problems were caught during development. As such, we can skip keyword checks to further improve class declaration performance.
Care will need to be taken with 3rd-party libraries.