Swift vs. Xamarin and what do you use for API?

So I'm new to mobile dev, and I have made a couple apps in Xamarin and Android Studio. I am wondering if there is any advantage to learning swift and developing for each platform independently instead of developing cross platform on xamarin.

Also, my plan is to make restful apis out of Laravel/PHP, when my app needs to consume an API. What do you use? Is there something better?

I use Xamarin as well, and wish I didn't have to. While Visual Studio has some features I wish Xcode has, overall using a third-party IDE has some inherent limitations. The build setup is more complicated, and we have to wait for VS to support new OS features - in particular, they seem to be dragging their feet on Catalyst support. Some APIs come through a bit awkward in C#, and I often wish I had access to things like Thread Sanitizer. C# itself is a perfectly fine language, but it comes with a lot of baggage.

My 2 cents...

If you want good, native feeling mobile apps, the only place you will really save time when using a Cross-Platform...platform is in your Model. The real reason to use Xamarin is because you would prefer to use C#, and similarly the reason to use React Native is a preference for JavaScript.

Android and iOS differ enough to mean the Platform learning curve will generally be similar between cross-platform and native. After that it's down to language learning curve. If you can pick up languages easily (or enjoy doing so) Swift and Kotlin are both languages I've had a lot of fun working with. However if that doesn't apply to you and/or you're already familiar with the C#/.net world, Xamarin's a good option for getting up and running a bit faster.

From my own skill/knowledge development perspective Swift has been valuable to me in introducing a number of concepts and design patterns that weren't popular (or sometimes even possible), in my previous language experience. In that sense it's been a valuable language for me regardless of its utility in Apple platforms development. Probably not a surprise that someone on the Swift forum would recommend learning Swift...but here we are :smile: