Migrate from Titanium to React native - react-native

I have been working in an enterprise app created with titanium SDK, specifically with Alloy, we have been facing that the community and tooling of titanium are quite a few, we are feeling all the time that we are stuck with this technology, so our team have seen in some blogs that they used to talk about titanium SDK that they have been migrated their complete projects to RN, but there is not any manual to do it, so I'm looking for a general recipe o at least a road map to make the migration and have a better idea about the implications.
Thank you so much.

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.

Should I use react-native for the web to only build a web app

My employer would like me to build an application using React-Native for the web. He only wants a web app. The project is for a client who may want a mobile app down the road. It seems like the best use case is to build both at the same time. Since we are not doing that I suggested we just use React but he is pretty committed to RN for the web, which I am totally willing to do. Are there any reasons not to build just for the web, complications? If we are not going to use it, the client would need a sound list of reasons why, so, if anyone has suggestions, reasons I could list would be helpful. Or, if it is a fine idea, helpful suggestions to keep in mind moving forward. Pretty general I know but I appreciate it. Thanks!
One factor to consider would be how far in future would the client want a mobile app. If it is more than a couple of years away then you might have to spend considerable time upgrading libraries (including react-native) and addressing the deprecated APIs when you start building the app in future. In this case it might be easier to simply start with a fresh react-native project with latest library versions instead of spending time upgrading and fixing an older code.
The tradeoff of spending time upgrading libraries vs porting UI components to mobile environment will also depend on your app design and complexity and how well your code is structured.
Another factor to consider would be community and open source libraries available for react native web. According to my understanding, react native for web is relatively new platform and there might not be as many libraries to support your design needs as of today. Maybe your team can do a little research and figure out if there are well maintained libraries available for your design needs and how much time would you have to spend designing components from scratch.
Lastly, regardless of whether or not you design your web app now using react-native web, you will still have to spend significant time testing the mobile app later when the client needs one. Building a web app using react-native does not eliminate the need to thoroughly test a mobile app the app on a mobile platform.

Automation testing for react native app for both android and iOS platform

As per project requirement, need to do automation testing on the Reactnative app for Android/iOS platforms. I have seen many frameworks available such as appium, Cavy, Detox.
Need help in the selection of framework for reactnative app testing.
Have appium automation(with Java) experience for Android application.
I'm currently working on developing and maintaining Cavy, so if you have any particular questions regarding Cavy as a solution, I'd be happy to help. Just pop any issues/questions on the GitHub issue tracker.
We're in the process of moving all our documentation to our new site, but it does include a comparison with Detox in the FAQs that you may find useful :)

Hybrid app with Google Material Design

I'm currently working on Android & iOS application with looks based on Google Material Design.
I've started off using using Cordova (Ionic + Ng-material), however the performance is poor particularly on Android devices. (more details by contributors here https://github.com/angular/material/issues/1177)
Is there any way of fixing the performance issue? If not is there any platform that would hep me develop the application (not necessairly hybrid, but cross-platform)?
I found that Xamarin / Appcelerator are capable of implementing Material front-end, but only on Android. I'd like to release the app on iOS with the same look.

Advantage/Disadvantage of building titanium from source

I wanted to know the advantage and disadvantage of building titanium from source?
Which will be better in terms of pricing licensing - Titanium from App explorer or titanium from github?
What I can leverage if I go with the Github?
As I am confused that if I build any commercial application or an application that generates revenue, so do I have to pay royalty to Appcelerator.
You do not have to pay any royalties to use Titanium SDK, or distribute Titanium apps on the app store, there is no reason at all to compile it from source. You only pay if you want to purchase specific modules from the marketplace, or want dedicated support from Appcelerator itself, or want to use a large volume of ACS.
You do not gain anything (if your just getting started with Titanium that is) by compiling from github except pain, suffering, and compile fails.
Here is a link to the specific pricing.