23 lines
1.6 KiB
TeX
23 lines
1.6 KiB
TeX
|
\abstract
|
||
|
ECMAScript (more popularly known by the name ``JavaScript'') is the language of
|
||
|
the web. In the decades past, it has been used to augment web pages with trivial
|
||
|
features and obnoxious gimmicks. Today, the language is used to write
|
||
|
full-featured web applications that rival modern desktop software in nearly
|
||
|
every regard and has even expanded to create desktop and server software. With
|
||
|
increased usage, there is a desire to apply more familiar development paradigms
|
||
|
while continuing to take advantage of the language's incredibly flexible
|
||
|
functional and prototypal models. Of all of the modern paradigms, one of the
|
||
|
most influential and widely adopted is Classical Object-Oriented programming, as
|
||
|
represented in languages such as Java, C++, Python, Perl, PHP and others.
|
||
|
ECMAScript, as an object-oriented language, contains many features familiar to
|
||
|
Classical OO developers. However, certain features remain elusive. This article
|
||
|
will detail the development of a classical object-oriented framework for
|
||
|
ECMAScript, ease.js, which aims to address these issues by augmenting
|
||
|
ECMAScript's prototype model to allow the creation of familiar class-like
|
||
|
objects. This implementation enforces encapsulation and provides features that
|
||
|
most Classical OO developers take for granted until the time that ECMAScript
|
||
|
implements these features itself.\footnote{There was discussion of including
|
||
|
classes in ECMAScript 6 ``Harmony'', however it is not within the specification
|
||
|
at the time of writing. At that time, the framework could be used to transition
|
||
|
to ECMAScript's model, should the developer choose to do so.}
|