Path to ES6, ES7?

corbettbrasing1
Mega Guru

Is there current roadmap to upgrade the platform to ES6, or 7?   I know Helsinki upgraded it to ES5.

56 REPLIES 56

Dan Gibbard
Tera Contributor

@Chuck Tomasi Orlando and still no ES6, any updates on the roadmap for this?

Seriously, how is a multibillion dollar company this far behind?? 

Because ServiceNow's base class architecture is written in Java.  Things like Glide Record are a java class that is them implemented in JavaScript through the Rhino engine, which is a java implementation of JavaScript. 

What this means is they cannot just move their code to a node.js implementation or something similar because everything is written in java at the base layer...which means the entirety of everything ServiceNow is built on, including the MariaDB (which again GlideRecord is the abstraction to connect to is and is in java) has to be completely rebuilt.

Yes they have the resources to do so....but they likely think the ROI is not there especially considering the main value proposition of the Now platform is "low code" or "no code" (which means cheaper implementers vs professional developers)....those things don't care about modern build pipelines or es6,7,8 etc.

 BTW there are other ways of solving this issue that have already been brought up here or at the idea portal linked issue.

It's also kind of somberly helpful to remember that ServiceNow development is not web development. It's ServiceNow scripting. It may even be helpful to stop thinking about it as a real part of the JS ecosystem at all.

At this point I just wish they'd flip on more Rhino features at least. If we're going to be weird, be weird. There's fun stuff in there, like E4X. 

I'm currently experimenting more with treating larger script includes as compiler targets for Haxe and Emscripten. It's surprising the amount of stuff you can actually get away with if you free yourself of the dream of NPM and magic compat with everything else.

Yes, but that is ignoring the fact that Rhino is a legacy technology for JS in java that was replaced by Nashorn in Java 8 a decade ago.

Nashorn has since been deprecated by GraalJS as the preferred javascript in java environment. GraalJS is not only capable of all of that java/js blending magic, it performs far better, and is ES8+ compatible oob.

So really, it's an ambitious refactor sure, but not a divergence from the original architecture, and the payback is potentially huge.

It would also pair nicely with the web-component based UI in now experience to defeat any argument that ServiceNow has a crusty core that is stuck in time.

They have the money to do it, and my guess is they have some group at least exploring the option, but graall is a game changer. I would expect it to happen sooner or later.