Comments (14)
from hermes-windows.
Is there a concise list of missing or nonfunctional APIs? @philnach has tooling to help analyze API requirements.
from hermes-windows.
@tudorms : Do you have a list to share with @jonwis ? Or is this still under investigation?
from hermes-windows.
I don't have an exhaustive list yet, but it's most of the functionality from Folly's portability layer that is not available on UWP: VirtualLock, VirtualAlloc, other Virtual*, CreateFileMapping, MapViewOfFileEx, etc.
from hermes-windows.
@jonwis I had also filed a bug on Folly for this but obviously Hermes on Windows is the only customer that cares about Folly working on UWP :) facebook/folly#1452
from hermes-windows.
If you can get me the list, please do - all of those you list are allowed in UWP. @mikebattista can help match up requirements against the WACK and/or SDK.
from hermes-windows.
The build fails with missing symbols for VirtualLock, etc. so if they are allowed perhaps we need to change something in how we build RNW; could it be that we need to link against the desktop vcruntime instead of vcruntime_app even in UWP builds?
Also, is that true for all SKUs like Xbox? I vaguely remember them having more stringent requirements.
from hermes-windows.
Can you point me at a solution or way to reproduce the build to collect the errors? Sorry, I'm an RNW/RN/Folly neophyte. Yes, those APIs - at least the ones you list - are supported on all Windows kernels including xbox, uwp, desktop, etc. Usually missing imports at link means you need to switch from using WindowsApp.lib
to using ... something else.
Ideally you should be able to build the Folly DLL (or whatever) once and use it for packaged, unpackaged, UWP, and Win32 apps. It's not a standard Visual Studio config, though.
from hermes-windows.
We don't have a stand-alone solution for folly, it looks like so far we just cherry-picked bits of folly code in the RNW build (just enough to build what is needed for RN itself). In this branch for example I'm trying to bring in more folly dependencies (needed by Hermes debugger): https://github.com/tudorms/react-native-windows/commits/HermesDebug (but note that there are breaks there other than link failures, which come from our faked glog for example).
If you're interested in the overall problem of getting Folly to build in UWP, it might be interesting to try it in something like vcpkg (there is a folly portfile in vcpkg which doesn't build in uwp).
from hermes-windows.
We'll start looking at Folly / direct debugging later this month.
from hermes-windows.
@mganandraj - can you take a look at this one?
from hermes-windows.
I think this issue is not needed anymore, right? @tudorms @mganandraj @Khalef1 ?
from hermes-windows.
@mganandraj implemented a temporary solution where we compile RN code inside Hermes, but I think we need something more permanent (perhaps a replacement for folly::future and moving the inspector code out of RN entirely).
from hermes-windows.
Or work with folly team to make it UWP friendly.. they have codepaths which uses c++ coroutines instead of libevent backed fibers..
from hermes-windows.
Related Issues (20)
- Add Source Link to Hermes PDB Files
- Add DateTimeFormat::formatToParts
- Add Intl::Collator
- Add Intl::NumberFormat
- Add Intl toLocaleLowerCase and toLocaleUpperCase
- Support Intl bestFit matching
- Add order to DateTimeFormat::resolvedOptions
- Hermes as the RNW Default Engine
- I hope Static Hermes supported Windows, Linux, and MacOS.
- Hermes Engine takes at least 2x more time to resolve promises.all than Chakra HOT 1
- Publish symbols for Hermes onto symbol server HOT 5
- objectGetOwnPropertyNames() - Bundle fails to load from Debug app via release/checkediterdebugger/hermes.dll HOT 1
- hermes.dll is not compatible with PkgESSecComp@10 (CfgChk + CheckCFlags2) analysis HOT 1
- Add JSI Tests in repo HOT 3
- Add Intl API Support for Hermes JS Engine HOT 1
- jsi::String::utf8 does not preserve embedded NULs in Debug mode HOT 3
- Fix BinSkim errors HOT 4
- Hermes repeatable builds for NuGet packages HOT 1
- Hermes Engine takes 2.5 to 19 times longer to process promises than Chakra HOT 7
- Add MIT Licensing Information to nuget Package HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hermes-windows.