I'm currently in the design stages of a new app for iOS and Android. I currently have a predecessor version of this new app for iOS on market, but am looking to revamp it.
I've been looking at Xamarin, because it does offer cross-platform coding. But I'm more confused about how it works.
From what I've gathered - I create a core business logic project in Xamarin, which I then compile into a seperate library, imported into Android Studio and Xcode projects. From there, I use the native development tools to tie the UI interface into the business logic layer, and viola - app is finished.
Granted, this is a very basic way of describing of how things are done - but is it accurate? I wager that all of the models I create in the core business project - to ship between the presentation controllers and logic layer - will be easily accessible and can be directly referenced in the UI project as well? UC BrowserSHAREitAppvn
BKBharathiraja K Syncfusion Team June 15, 2019 09:43 PM
Greetings from Syncfusion. Creating mobile application using Xamain.Forms and Xamarin Native project should be decided based on the application scenario, complexity of app. Please find the difference between creating a mobile app using Xamarin.Forms and Xamarin.Native platforms.
1.Create one UI for all platforms
2.Use basic components that are available on all platforms (like Buttons, Textfields, Spinners etc.)
3.No need to learn all the native UI frameworks
4.Fast cross platform development process
5.Custom native renderers give you the ability to adjust the appearance and feeling of controls
If you develop some basic mobile application across the three platforms (iOS, Android and Windows), you can choose Xamarin.Forms.
1.Create one UI per platform
2.Provide more option for creating custom UI, animation and accessing platform specific API’s
3.Easy ability to adjust the platform specific UI features and components
4.Get the maximum out of your UI
If you would like specialized interaction, more custom UI, Graphics and Animation, using more platform specific API’s, we prefer you Xamarin Native platform to develop a mobile application.
Convert Xamarin.Android to Xamarin.iOS vice versa
Using Xamarin Traditional (Native platform) approach, you can use a C# as programming language to write your models, call web services, business logics etc. So, you are writing that code logic once and using/share it across the Xamarin.Android and Xamarin.iOS projects, and in those separate projects you are writing code that is specific for that platform and you have access to their APIs.
Traditional Xamarin approach (Xamarin.iOS and Xamarin.Android) built on top of Mono, an open-source version of the .NET Framework. To develop those apps, you can use C# and there is an opportunity to share up to 75% of code base such as business logics, web service, models, database access etc. You only need to recreate the user interface itself without writing navigation logic twice when converting Xamarin.Android to Xamain.iOS vice versa.
The below forum links will provide some ideas on this.