There are three types of approaches are the for mobile application development, and those are Silo approach, Black Box approach, and Xamarin approach. In this article, we discuss each of these approaches and why we need to use Xamarin technology to develop any mobile application.
Silo Approach: This is the fundamental approach to developing any mobile application. In this method, we use different technology to develop any application based on mobile platform. That means to develop a mobile application for Android platform we use Java, for iOS we use Objective C++/Swift, and for windows we use C# technologies. This is the basic approach to developing the mobile applications. But there are some disadvantages with this approach. The main drawback is we need multiple technology teams to develop a single mobile application with this approach because to develop an application for Android requires Java team, for iOS, requires C++ team, and for Windows requires a C# team. Because we need multiple teams, the overall project cost also will increase, and the development process will become slow. We need to maintain multiple code bases for a single application and any change in the application; we need to do it in multiple code bases.
Black Box Approach: In this approach, we use existing web technologies like HTML 5, CSS, JavaScript, jQuery, and Bootstrap…so on to develop any mobile application. The main advantage of Black Box approach is as we use existing web technologies, the development process will become easy. But the disadvantage of this approach is performance because here we use web technologies. And another approach is we get the responsive look & feel as we are using web technologies, but we don’t get native look and feel of the mobile application.
Xamarin Approach: There are two application developments in Xamarin approach and those are Xamarin traditional application development, Cross platform mobile application development.
Xamarin Tradition Application Development: In this Xamarin application development, we use the same technology (C#) for business logic development and different technology to develop UI based on the platform. We use Xamarin.Android for Android UI development, Xamarin.iOS for iOS UI development. Xamarin traditional application development will not support to develop UI for windows, but we can call this business logic from UWP (Universal Windows Platform). The main advantage of this application development is we can share business logic code across all multiple platforms. That means if we did any change in business logic will affect on multiple platforms. The main disadvantage with this application development is, we still need to use multiple technologies to develop UI based on the platform.
Cross Platform Mobile Application Development: This application development is same as Xamarin Traditional Application Development, the only difference is we don’t require separate technology to develop UI based on the platform. We can use Xamrin.Forms to develop UI for all platforms (Android, iOS, and Windows). Xamarin.Forms can be shared across Android, iOS, and Windows phones.