React native on Android studio and iOS - windows

I'm going to install Android studio and run react native on it
But will it give me iOS apk still!?
I have heard that we don't need to rewrite react native code for iOS .

React Native IS cross-platform, building the apps for production on different platforms, however, requires a different procedure. What makes it cross platform is that you write the source codes including all of the components (Well most of them) one time, and it automatically generates the native codes for Android and IOS.
Expo helps in testing the app on both android and ios without the need of a Mac (it has some other cool features too!). So if you want to release to apple store, you'll definitely need to use XCode on a mac (or a virtual machine running MacOS like VMWare)
In order to generate the release apk for android: Android Release APK
and for IOS: IOS

There are two flavours of React Native. Expo and react-native init
This SO answer explains the main differences between them.
What is the difference between Expo and React Native?
tl;dr
Expo (it is a set of tools around react native) will make crossplatform applications without requiring you to edit native code. It can make both iOS and Android apps on Windows PCs and Macs. Expo builds the apk and the ipa on their own servers.
react-native init (actual react native) it will also create cross platform apps. It may require you to work with native code. You can only develop iOS apps on a Mac. But it is much more flexible in what you can do and what dependencies you can use. You have to build the apk and ipa on your own machine.
You best bet is to check out the documentation, all the answers are there. You just have to read through them.
https://facebook.github.io/react-native/docs/getting-started
https://docs.expo.io/versions/latest/

Related

What is the best alternative for Xcode to run the iOS simulator in Windows 11 for React Native cross-platform app development?

I want to run the iOS simulator on Windows to build my React Native apps. I can't use Xcode because I don't have a Mac or an iPhone. That's why I'm looking for an alternative. I test my Android apps by using Expo Go to mirror my Android phone to Windows, but as I don't have an iPhone and can't mirror it to Windows, I need a simulator to run and test my IOS apps. What is the best alternative for Xcode?
There are few IOS simulator out there for windows and all of them are paid version. Smartface, Appetize etc. As a student I can't afford them for my learning purpose.
try this one Expo Snack. you have to put your code here but i think it will work fine. there is no other free IOS simulator for windows.

Do i still need a mac to develop react-native applications for iOS?

i need some information. I thought i can only run the app if i install an mac, xcode on windows so i can run an xcode project and install the pod etc.
but now i tested my app which i start to develop without adding/editing the pod's file and it works on a apple phone as well.
so i'm little bit confused, do I have to install a mac on a windows system or not?
because i thought it's important to create an xcode project and install pod to run it on a iOS
thanks for all replies.
You are probably using expo, so yeah, you can now launch your app on an iPhone.
You can read more about expo here.
You will be able to build for ios and android without installing xCode or android studio.
There's some limitations to expo, but you should be able to do a lots without ejecting your project.

iOS development with React Native or Flutter with minimal apple hardware

Not sure if this has been asked before.
To target iOS for mobile development with react native or flutter, do I need to move my entire development machine to an apple one? I do know that for any serious iOS app development, I'd need to get a mac.
But is it possible to use mac machine minimally with the bulk of the development being done in my non-mac main machine?
For e.g. I'd buy a cheaper Mac mini with low specs to get the XCode, run iOS simulation and push the app to app store. And during development from my main machine, I'd somehow connect to this mac mini for iOS simulation.
Is it possible? I just don't wanna move my entire desktop usage over to a mac.
if you wanna development in light machine use react native and use its expo cli . its very light you did not need to make build in Xcode and android studio
check expo documentation here

Xamarin iOS GUI

We've been developing a cross-platform app in Xamarin on Windows and now we are moving to make GUI for iOS counterpart.
If I'm understanding correctly we need to switch to Visual Studio for MAC, on a MAC machine, and continue our GUI development there.
Is it possible to develop everything on Windows and just publish an app on the MAC machine?
How do we include the logic and everything from the android app?
You can use Xamarin.Forms to develop UI for both Android and iOS.
But if its already native then you can still continue developing it in Windows.
For the build and testing you definitely need a MAC, if you don't want to use a VM then you can build it on the cloud using a https://www.macincloud.com/ or other party that uses the same service, and use a simulator on windows.
If its cross platform then I assume you're using a .NET Standard for the shared codebase. So there would be no problem using the same logic for both the Android and iOS.
It is up to you. Many apps will work by just publishing on the Mac. Of those many will have some artifacts that shouldn't be in the end version.
To simplify it is like asking whether you should publish the app without testing and fixing. In 99% no, but sometimes it may work.

React Native newbie

I want to build a game with React Native. I am doing my testing locally on a personal Android device using the Expo app but ideally would love for the app to be cross platform. I do want to release it to a public store or have it be available for folks to play in some format.
Is it OK if I am using Visual Studio Code (on a Windows machine) to build my app, using node.js command line to run expo commands and testing with live reloading on my Expo app? Do I need to have a Mac + XCode if I want to edit iOS code?
What is the typical development process/toolset used?
React Native IS cross-platform, building the apps for production on different platforms, however, requires a different procedure. What makes it cross platform is that you write the source codes including all of the components (Well most of them) one time, and it automatically generates the native codes for Android and IOS.
There's no typical toolset for writing code, you can use any code editor you prefer (I use Sublime for example), but you should have the needed requirements listed in the getting started page in the official official docs including node.js.
Expo helps in testing the app on both android and ios without the need of a Mac (it has some other cool features too!). So if you want to release to apple store, you'll definitely need a mac (or a virtual machine running MacOS like VMWare)
In order to generate the release apk for android: Android Release APK
and for IOS: IOS

Resources