Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chromium adoption in Microsoft Edge and future of ChakraCore #5865

Closed
liminzhu opened this issue Dec 7, 2018 · 44 comments
Closed

Chromium adoption in Microsoft Edge and future of ChakraCore #5865

liminzhu opened this issue Dec 7, 2018 · 44 comments

Comments

@liminzhu
Copy link
Collaborator

liminzhu commented Dec 7, 2018

Hello Friends of ChakraCore,

Yesterday, Microsoft Edge announced its intent to adopt the Chromium open source project in the development of desktop Microsoft Edge to create better web compatibility and less fragmentation for web developers and customers. You can read the announcement blog for more information.

We’ve seen your questions for ChakraCore and we want to be transparent and honest with the open-source community that has given us so much support. To be compatible with the rest of the platform and reduce interoperability risks, Microsoft Edge will use the V8 engine as part of this change. There is much to build and learn, but we’re excited to take part in the V8 community and start contributing to the project.

ChakraCore is currently being used in various projects outside the browser. So, despite the change of direction for Microsoft Edge, our team will continue supporting ChakraCore. We will ensure that any security vulnerability is patched in a timely manner, apart from bringing other enhancements to the engine. The project will also continue taking public contributions.

As the team learns from the move to support and contribute to Chromium and V8, we’ll keep the community informed about our progress and adjustments, if any, that we’ll need to make.

ChakraCore team

@nerocui
Copy link

nerocui commented Dec 7, 2018

Basically means this is like Windows Phone. Platform has moved, so only security patches. Which is good, v8 and blink are the future and the decision is only going to bring improvement.

@cpus133525
Copy link

cpus133525 commented Dec 8, 2018

I'm sorry for what I said before. I have some misunderstanding of the announcement. I hope Edge could be better.

@nerocui
Copy link

nerocui commented Dec 8, 2018

@cpus133525 oh believe me if there is an open platform that they can adopt and suddenly adds a big ecosystem of apps to windows, they will. Just look at all the bridges and pwa.

@TonyHenrique
Copy link

TonyHenrique commented Dec 8, 2018

If all this makes C++ and .NET and XAML (UWP/WPF/Windows Forms) come to the Web Browser (cross-platform), and help Web Assembly to improve (implement threads, for example), then I think that this will be a good thing to everybody.

@rhuanjl
Copy link
Collaborator

rhuanjl commented Dec 8, 2018

I really hope ChakraCore can continue to have a role for years to come. In my opinion it's currently the nicest JS engine for an embedder to work with and it would be good if it could be maintained with that purpose - being the best for embedding whilst the other big 3 focus on browsers.

@saschanaz
Copy link

saschanaz commented Dec 8, 2018

ChakraCore was the most eager engine to implement ES2017, and now it's the only engine not having ES2018 object rest/spread in its latest stable release. I was always wondering why the change, but I can now understand that it's because no real push exists anymore.

@ghost
Copy link

ghost commented Dec 8, 2018

I really hope someone takes the opportunity to pick up the slack and elects to use ChakraCore in some major project. I would love to see continued development on this. It would be a shame if no one ever used it again just because Chromium makes it so difficult to use Blink with any engine other than V8.

@dennis-yemelyanov
Copy link

DocumentDB already uses ChakraCore for stored procedures: https://azure.microsoft.com/en-us/blog/the-road-ahead-for-azure-documentdb-with-chakracore/

@fatcerberus
Copy link
Contributor

I’m using ChakraCore as the JS backend in my miniSphere game engine: https://github.com/fatcerberus/minisphere

We have full ESM support (including dynamic import()) and it was incredibly easy to embed, even in a codebase that was previously based on Duktape (whose API is Lua-like). I looked into V8 and Spidermonkey but their APIs are downright hostile to C-only codebases. I wasn’t about to rewrite half my codebase only to end up having to deal with the half a dozen breaking changes V8 seems to make on a monthly basis.

I pray ChakraCore sticks around for a long time to come. For now I remain cautiously optimistic...

@edwinyzh
Copy link

edwinyzh commented Dec 9, 2018

According to a Hacker News comment, the newly announced Scripting API of Minecraft is based on Chakracore, although I haven't dug further to confirm it.

@saschanaz
Copy link

@edwinyzh Try object spread, it's probably ChakraCore if it doesn't work...

@edwinyzh
Copy link

@edwinyzh Try object spread, it's probably ChakraCore if it doesn't work...

Sorry I don't play MineCraft, maybe others can try it.

@JPVenson
Copy link

I have recently evaluated against V8 and ChakraCore for a webserver Projekt. ChakraCore has a lot more functionality and API points compared to V8 and most important for a shared Environment it is MUCH safer to execute untrused JS code in there (try a Stackoverflow in a Native V8 enviorment). Please never let this engine fade away from existence

@fschneidereit
Copy link

It's sad to hear that ChakraCore is kind of abandoned. Sure, EdgeHTML reached a dead-end because of its platform-dependence on Windows, but I never understood why Microsoft sticked with MSHTML (and then EdgeHTML) for so long and kept it the way it was. They should have taken the opportunity to make this thing cross-platform ten years ago, leaving it Windows-only was a huge mistake that now pays off in giving in to Chromium.

@dennis-yemelyanov
Copy link

There's still UWP applications running JavaScript. Are they also moving to Chromiun?

@fschneidereit
Copy link

fschneidereit commented Dec 10, 2018

      There's still UWP applications running JavaScript. Are they also moving to Chromiun?

According to what I heard, no. The current WebView and HTML/JavaScript-based apps will remain based on EdgeHTML and ChakraCore, and a new version using Chromium is offered side-by-side.

@mirsaeedi
Copy link

ChackraCore is awesome. It's sad to hear you are going to stop it. The problem with Edge is not its engine, it's the user interface in my opinion.

@saschanaz
Copy link

saschanaz commented Dec 11, 2018

Why can't we replace Chromium's V8 with ChakraCore in the nu-Edge? That will be a great push for ChakraCore.

The problem with Edge is not its engine, it's the user interface in my opinion.

👍, while I think the engine had its own problems, though.

@fatcerberus
Copy link
Contributor

It’s sad to hear you are going to stop it.

How did you get THAT out of:

So, despite the change of direction for Microsoft Edge, our team will continue supporting ChakraCore.

@liminzhu
Copy link
Collaborator Author

liminzhu commented Dec 11, 2018

Glad you like it @mirsaeedi . To be clear, we aren't stoping ChakraCore development.

Edit - You beat me to it @fatcerberus :)

@infinnie
Copy link

Continue supporting as in “continue supporting IE 11 by shipping security updates”?

@fatcerberus
Copy link
Contributor

@infinnie

We will ensure that any security vulnerability is patched in a timely manner, apart from bringing other enhancements to the engine.

Not only security patches. Feature-level changes too.

@HM100
Copy link

HM100 commented Dec 14, 2018

Please note that switching to chromium means that backdrop-filter is not anymore supported by default (Unless Chromium fixes that). Otherwise okay as non-EdgeHTML engine is used on iOS and Android.

@HolgerJeromin
Copy link

I would expect having these filters working in chromium before the engine switch in edge:

https://bugs.chromium.org/p/chromium/issues/detail?id=497522#c157

@fatcerberus
Copy link
Contributor

fatcerberus commented Dec 24, 2018

You know, now that the cat's out of the bag on this one, the survey popups in Win10 I've seen the past few months "How likely are you to recommend Google Chrome?" finally make sense. I got really used to seeing the "You should switch to Edge, it's better for your battery!" notifications, then one day it stopped doing that and started asking me how I liked Chrome instead... I was just like "okayyyyy..." 😸

@infinnie
Copy link

The world’s most beautiful browser will be gone.

@xjlight
Copy link

xjlight commented Jan 7, 2019

@liminzhu we have an UWP application which replies on Chakra.dll, I assume this comes with Edge browser in Windows 10. Will there be no Chakra.dll after this change?

@liminzhu
Copy link
Collaborator Author

Sorry for the delay here @xjlight - existing apps that rely on the EdgeHTML or MSHTML webviews (and associated JS engine) can continue to do so without changes.

@CShepartd
Copy link

Goodnight sweet prince

@rhuanjl
Copy link
Collaborator

rhuanjl commented Oct 3, 2019

Is there any update that can be shared about future plans for CC or perhaps an estimate of when there will be an update that can be shared?

Now that the Chromium version of Edge is approaching release it's clear that (public) CC development has drastically slowed.

Additionally the last time a new release branch was cut from master was June 2018 so all the major work done since then is not in a released version.

In my opinion based on its API CC is still the best JS engine for an embedder who wants a Jit BUT without active development the lack of new features and unfixed bugs etc. will start to outweigh that advantage in time.

I'd like to make more contributions to CC but I'm unsure if there's much point.

@hez2010
Copy link
Contributor

hez2010 commented Oct 28, 2019

Chakra Core provides lower memory allocation and faster speed than v8. It's attractive.
I hope that the new Chromium based Edge could use Chakra Core as its scripting engine in the future, and continue using chromium's blink as its rendering engine.

@FranklinYu
Copy link

@rhuanjl Vote for #6329 ?

@rhuanjl
Copy link
Collaborator

rhuanjl commented Dec 22, 2019

@FranklinYu #6329 is a little limited in scope - it asks for 1.12 to be “posted on Nuget” but 1.12 would need to exist first currently master may have that version number but it’s not locked down as a release.

Also this issue isn’t about asking for one more release it’s about asking for future ongoing releases. That said whilst creating and posting a release right now could be good IF it’s going to be the last one for a long time it would be better for a few more features to land before it’s done.

@dennis-yemelyanov
Copy link

dennis-yemelyanov commented Jan 16, 2020

Is the project officially abandoned now? Last issue closed Dec 13, last PR merged Dec 21, last patch released Nov 12...

@rhuanjl
Copy link
Collaborator

rhuanjl commented Jan 16, 2020

@zenparsing any chance of a comment from Microsoft on this or some update?

@divmain
Copy link

divmain commented Jan 16, 2020

Thanks for reaching out @dennis-yemelyanov and @rhuanjl. I need to talk with some other folks in the Edge org before responding, but we'll get you an official answer within the next couple of days.

@dennis-yemelyanov
Copy link

Any updates on this?

@FranklinYu
Copy link

I would totally understand if Microsoft decide to allocate less man-hour on this project, and encourage more community efforts. A nice starting point is to have someone outside of the company to have write (or even admin) permission of this repository so that we can at least go forward, like merging PRs and making releases. It would also be appreciated if community is able to push the NuGet package.

@rhuanjl
Copy link
Collaborator

rhuanjl commented Feb 4, 2020

Seconding @FranklinYu’s suggestion if Microsoft is decreasing/ending work on this is would be great if it could be taken over by the open source community.

But I do not have sufficient time to be a maintainer BUT if this project is able to continue in some form I should be able to submit feature pull requests every month or two. (I’ve not been submitting anything recently because the work has stopped but would like to submit more if/when work commences again)

@MikeHolman
Copy link
Contributor

MikeHolman commented Feb 4, 2020

We are not currently working on new features, but we will continue with security releases for the foreseeable future.

I can't really speak to future governance, but I think we are open to changes.

(Note that this is my understanding and not a statement of any official position.)

@dennis-yemelyanov
Copy link

Thank you, @MikeHolman for this info.

Is it possible to make one last release for 1.12? If not, what is preventing it from being released? Can some of the work required be picked up by the community?

@rhuanjl
Copy link
Collaborator

rhuanjl commented Feb 8, 2020

@dennis-yemelyanov I can't speak for microsoft - I don't work for them - my involvement here is as an open source contributor - but here's my speculation on current status:

  • 1.12 if it was even planned is incomplete - notably there's some 95% complete work to enable async iteration and to turn on the JIT for generator functions and async functions, it would be a massive shame to issue a new feature release without finishing that work first
  • an official release normally involves a level of testing etc. that hasn't happened
  • with Edge now using v8 and microsoft actively contributing to that there's no business reason for MS to continue development of chakracore (aside from community goodwill which is hard to put a dollar value next to) -> therefore MS employees have likely been told they can't do any more work on a new version of chakracore during business hours
  • as for the community picking it up, what community? this is hosted on github but aside from me I don't think anyone has submitted any substantial external contributions in the last 2 years (please correct me if I'm wrong) - as an aside whilst I understand most of the source I can't fork CC and take it over, I don't have nearly enough time - I have at best 10-20 hours a month I can give it

@divmain
Copy link

divmain commented Mar 9, 2020

Moving discussion to #6384.

@divmain divmain closed this as completed Mar 9, 2020
nschonni added a commit to nodejs/nodejs.dev that referenced this issue Oct 16, 2020
kevindavies8 added a commit to kevindavies8/nodejs.dev-for-full-stack-developer that referenced this issue Aug 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests