[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| Re: [orion-dev] History of handcrafted JavaScript in UI | 
On 5 May 2015, at 15:22, Simon Kaegi wrote:
Hi Ken,
There is indeed an architectural principle at work here that drives 
our
choices for base-level components. Orion wants to build directly on 
the
browser API as opposed to using a library that provides its own base
platform. When a particular browser or even work on a browser standard 
is
not ready for prime-time we use a "shim" or "polyfill" to emulate the
behavior we anticipate. For several of the shims we have like 
Deferred,
HTMLTemplates, TextEncoder, and URL we're actively working with others
standards implementers to get agreement. For Deferred as you guessed 
we've
been  following the process with our implementation  all the way from 
it's
beginnings as CommonJS Promises/A "then-ables" through to the work in 
ECMA
6 Promises.
We're happy to use libraries where we can however with our shims 
unless
there is a de-facto standard we're more likely to use our own
implementations to give ourselves a bit more control during the bumpy
period when the native implementation of what we were shimming lands 
in the
browsers. An example of that is when Chrome first added the URL Object 
it
lacked query parameter handling and we had to react.
With all that said,  Orion's Deferred.js, encoding-shim.js, 
EventTarget.js,
HTMLTemplate.js, URL-shim.js, and xhr.js are very close to  ready to 
be
removed in favor of their native counterparts. e.g. planned 
obsolescence in
action
Referred to them as "native". I love it :)
-Simon
From:	Ken Finnigan <ken@xxxxxxxxxxxxxx>
To:	Orion developer discussions <orion-dev@xxxxxxxxxxx>
Date:	05/04/2015 09:11 PM
Subject:	[orion-dev] History of handcrafted JavaScript in UI
Sent by:	orion-dev-bounces@xxxxxxxxxxx
Hi,
I've been taking a look at the Orion UI code and am curious as to the
history of some of the choices that were made in the past around
JavaScript.
For instance, Deferred.js (
https://github.com/eclipse/orion.client/blob/master/bundles/org.eclipse.orion.client.core/web/orion/Deferred.js
) is a handcrafted JavaScript implementation of a Promise API. Does 
anyone
recall the reasons for handcrafting instead of using an existing 
library
for Promises?
The copyright of the file is 2012, so a library for JavaScript 
Promises was
not likely available at that time. Has there been any consideration to
replacing handcrafted JavaScript like this, or other usages, with
libraries?
Thanks
Ken Finnigan_______________________________________________
orion-dev mailing list
orion-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or 
unsubscribe
from this list, visit
https://dev.eclipse.org/mailman/listinfo/orion-dev_______________________________________________
orion-dev mailing list
orion-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or 
unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/orion-dev