Can I use new React Native architecture with libraries which doesn't support it - react-native

This year React Native team introduced new architecture https://reactnative.dev/blog/2022/03/15/an-update-on-the-new-architecture-rollout. This functionality is still under the flag but for me is not clear, can I use all libraries which working with old bridge with this new architecture?
I haven't found answer in the official documentation. Only thig I found is a list of libraries which support new architecture. https://github.com/reactwg/react-native-new-architecture/discussions/6

It depends on what type of a library it is. Library maintainers can add support for both architectures.
You can find a compatibility table in this readme.

Related

Adding react-native-windows support for an existing React Native project

We have an ongoing React Native mobile development project targeting Android and iOS. Now a requirement has come to use the app under Windows environment. There is not much information on the web we could found on this.
If we can get some insight on the complexity, pitfalls and challenges in adding windows platform for an already existing React Native project, that will be immensely helpful.
We are using Hermes and we understand the support is still experimental
Realm support is not clear. Realm has support for UWP but is it in a stage where we can use in production level?
How much support is available under windows for other 3rd party libraries
How much code will be able to share between platforms. Will we have to write lot of native level code?
Would react-native-web be more safe bet, if that is an acceptable option for our customer
So far we went through the documents available on web such as
https://learn.microsoft.com/en-us/windows/dev-environment/javascript/react-native-for-windows
https://microsoft.github.io/react-native-windows/docs/hermes
https://github.com/realm/realm-js/issues/432
https://www.mongodb.com/docs/realm/sdk/dotnet/#std-label-dotnet_supported-platforms
However, have to provide a time estimate and cost benefit analysis before actually implementing it. Thats why we would like to get some insigth from someone who has already done it.

Titanium Module (is there any module or support of App dynamics for titanium appcelrator)

We have Some question Related about app dynamics module in Appcelerator.
How to use the iOS libraries in the appcelerator module which supports the framework of appdynmics. Is it possible to add a iOS native library in appcelerator titanium ?
Is there any support for appdynmics in appcelerator Titanium ?
Is there any module for the appdynmics in appcelerator?
1.: Yes, you can extend Titanium by creating modules or using Hyperloop. The best option currently is to create a module. Some documentation is available at:
* https://devblog.axway.com/mobile-apps/write-titanium-ios-native-modules-swift/
* https://wiki.appcelerator.org/display/guides2/iOS+Module+Development+Guide
the 2nd link also has an Android section if you are interested in that too.
Appdynamics SDK documentation can be found here: https://docs.appdynamics.com/display/PRO45/Instrument+iOS+Applications
2. / 3. No (at least not on github). There is a page at http://gitt.io/search?q=appdynamics where you can search for modules on github
So you can either create one yourself or make a offer in the Ti-Slack Job section (ti-slack.slack.com/). Perhaps you'll find someone who will create one for you.

Is it necessary to link every react-native library after installation?

There are number of react-native libraries which makes developer job easy and it's a common practice to link library after it's installation. But for some libraries linking is not done(As those library developers are not asking to do so). For example react-native-swipeable for which linking was not asked on their git hub page. Another package native-base for which linking is mandatory but there was an error when i tired to do so, But still package is working fine.
Can somebody let me know the consequences that we face if any package is not linked?
Some libraries make use of native code, so linking should add to your project all native dependecies. For instance, react-native-swipeable might be a pure JS library and no linking is used. Which means no native code is used by react-native-swipeable.
For more information on linking please refer to: https://facebook.github.io/react-native/docs/linking#docsNav

Is glibc used in react native?

I am wondering if any of you know, whether or not react-native uses glibc library as their dependency. I've searched everywhere, and the only thing I've found was the link. It says:
NOTE(agallagher): The platform really should be responsible for providing
this type of provided dependency. As it is now, we need to setup dummy
rules to model glibc's libraries.
Does anyone know anything else?
React Native does depend on some components of glibc (like pthread which is the first mentioned precompiled library in the link you mentioned) but those same components are offered by Bionic, Android's own C library.
Since Bionic is precompiled and bundled with the OS, React Native leverages that implementation instead of using glibc, which explains the note:
The platform really should be responsible for providing this type of provided dependency.
On iOS, pthread and other C libraries needed by React Native are already available through the iOS SDK.

Undefined symbols for architecture armv7 and Phonegap

I have a Static iOS Library which uses Phonegap as a component. ( I follow the steps provided by the documentation), I can compile the library alone without problems.
Now I try to use my static library in an iOS Application.
So I have my App which have a project reference to my static library which have an project reference to phonegap.
It looks like
App
Library
Phonegap
Now when I want to compile I get many errors and all look like:
Undefined symbols for architecture armv7:
"_kUTTypeVideo", referenced from:
-[CDVCapture captureVideo:] in libmyLibrary.a(CDVCapture.o)
I try to change the valid architectures in many combinations and the switch build valid architectures only but nothing works.
Its no ARC Project if it helps...
It seems that cordova library you are using is not armv7 compatible. Use latest cordova library that is compatible with armv7 architecture.
I currently found the problem, I have to import all the frameworks that described in the phonegap documentation not only in the static library that uses phonegap but rather also in the main app.
I had the same issue...it seems that you are using older version of PhoneGap (say 1.2 ...). The only solution to this issue is to use Cordova library (the latest one), which resolved my issue.