Merge branch 'master' into virtual/refactor/master
commit
a238c26dc5
52
README.md
52
README.md
|
@ -1,9 +1,8 @@
|
||||||
# ease.js
|
# ease.js
|
||||||
|
|
||||||
ease.js is a basic collection of CommonJS modules intended to "ease" the
|
ease.js is a collection of CommonJS modules intended to "ease" the transition
|
||||||
transition into JavaScript from other Object-Oriented languages. It provides an
|
into JavaScript from other Object-Oriented languages. It provides an intuitive
|
||||||
intuitive means of achieving classical inheritance and has planned support
|
means of achieving classical inheritance and has planned support traits/mixins.
|
||||||
traits/mixins.
|
|
||||||
|
|
||||||
Current support includes:
|
Current support includes:
|
||||||
|
|
||||||
|
@ -20,6 +19,13 @@ that ease.js will expand to other paradigms in the future.
|
||||||
**This project is still under development. Please read the manual for more
|
**This project is still under development. Please read the manual for more
|
||||||
information.**
|
information.**
|
||||||
|
|
||||||
|
**Release/npm Note:** The first release of ease.js (and subsequently,
|
||||||
|
availability on npm) will come once the features are solidified and committed
|
||||||
|
to. This is to ensure adoption is not stifled by design alterations. Version
|
||||||
|
0.1.0 release is near; please see the
|
||||||
|
[v0.1.0 roadmap](http://easejs.org/bugs/roadmap_page.php?version_id=1) for
|
||||||
|
out-standing issues.
|
||||||
|
|
||||||
## Full Documentation
|
## Full Documentation
|
||||||
Full documentation is available at the following URL:
|
Full documentation is available at the following URL:
|
||||||
|
|
||||||
|
@ -32,11 +38,39 @@ Please direct bug reports and feature requests to the bug tracker located at
|
||||||
http://easejs.org/bugs/
|
http://easejs.org/bugs/
|
||||||
|
|
||||||
## Why ease.js?
|
## Why ease.js?
|
||||||
There are already plenty of other means of achieving each of this project's
|
There are already a number of libraries/frameworks that permit basic classical
|
||||||
goals, so what's the point of ease.js? The aim of the project is to provide a
|
Object-Oriented development, so why ease.js? While many of the existing
|
||||||
lightweight library in a CommonJS format which also addresses ES5 issues and is
|
solutions certainly provide viable solutions, they are largely incomplete. Until
|
||||||
an all-inclusive solution to OO techniques. It satisfies primarily a personal
|
the appearance of ECMAScript 5, many of the features enjoyed by classical OO
|
||||||
itch.
|
developers were elusive to JavaScript. The aim of this project is to provide an
|
||||||
|
intuitive framework in a CommonJS format which also addresses ES5 issues and is
|
||||||
|
an all-inclusive solution to OO techniques.
|
||||||
|
|
||||||
|
ECMAScript reserves certain keywords that hint at classical OO in future
|
||||||
|
versions, but said features are uncertain. ease.js will satisfy the classical OO
|
||||||
|
itch until the time where ECMAScript itself includes it, at which time ease.js
|
||||||
|
will still be useful for providing a transition in order to support older
|
||||||
|
browsers. ease.js may also be useful in the future to augment the feature set of
|
||||||
|
whatever native ECMAScript implementation is decided upon.
|
||||||
|
|
||||||
|
### Why Classical OOP in JavaScript?
|
||||||
|
ease.js was created (historically) for a number of reasons:
|
||||||
|
|
||||||
|
* To "ease" Object-Oriented developers into JavaScript by providing a familiar
|
||||||
|
environment.
|
||||||
|
* To provide the maintenance and development benefits of classical OOP.
|
||||||
|
* To provide features missing from the language, such as proper encapsulation
|
||||||
|
through private/protected members, interfaces, traits, intuitive inheritance,
|
||||||
|
etc.
|
||||||
|
* To encapsulate the hacks commonly used to perform the above tasks.
|
||||||
|
|
||||||
|
Many JS purists believe that classical Object-Oriented programming should be
|
||||||
|
left out of the language and one should stick strictly to prototypal
|
||||||
|
development. While the two are related (both Object-Oriented), they can be
|
||||||
|
applied to different problem domains in order to achieve results that are more
|
||||||
|
natural or intuitive to developers. ease.js works seamlessly with existing
|
||||||
|
prototypes, allowing the developer to choose whether or not they want to use
|
||||||
|
"classes".
|
||||||
|
|
||||||
|
|
||||||
## How to Use
|
## How to Use
|
||||||
|
|
Loading…
Reference in New Issue