folder_open Mobile Development
MagRabbit Tackle the Challenges of Cross-platform Mobile Application Development
The MagRabbit Team Explores the Benefits of Xamarin Technology to Help Tackle the Challenges of Cross-platform Mobile Application Development
As technology rapidly evolves and mobile phone makers continue to launch new products with amazing new features, it is imperative that the MagRabbit IT team stays up-to-date on the latest news, trends, and innovations to meet mobile industry development demand.
MagRabbit clients generally want their applications to run on all available platforms such as iOS, Android, Windows, and Mac. However, building applications for each platform individually takes a lot of time and resources, adding to the cost and time for development. Our team is committed to finding the best possible solutions for cross-platform development, of which one solution was recently shared in a recent article about how we use Apache Cordova, "Customers Benefit From MagRabbit’s Apache Cordova Cross-Platform App Building Experience".
Apache Cordova is one of the approaches the MagRabbit team uses for “write once, run anywhere (WORA)” applications. Another solution we consider when building cross-platform mobile applications is the Xamarin development environment. With Xamarin technology, developers write C# code that will be shared between platforms, so we can build applications with native behaviors. Basically, being an object-oriented programming language, C# helps to reduce the number of lines in the code. Furthermore, using Xamarin as the only language instead of using multi-languages can significantly cut the cost and increase the productivity of a mobile app development project.
MagRabbit developers are studying Xamarin to learn how we can take advantage of the benefits and create mobile applications that will run as native applications. The word ‘native’ is used by Xamarin to be understood as native UI, native API access and native performance. Xamarin applications use native UI for every platform, in particular, Xamarin. iOS calls existing Objective C and Xamarin. Android works with Java from C# and Xamarin. Mac uses Appkit with Interface Builder sharing C# with iOS, Android and Windows Phone. Additionally, Xamarin provides compiled code for native performance with access to all native APIs. Other than that, Xamarin components can connect with existing .NET libraries bringing a huge benefit to developers since they can reuse their written components in the new applications. There are two IDEs (Integrated Development Environments) available for editing this cross-platform code, including Visual Studio of .NET supporting for iOS, Android and Windows application development and Xamarin Studio for Mac and Windows.
Although Xamarin has proved to be a practical tool, our development team did face challenges when building mobile applications with it. Some libraries do not work well on iOS and Android; and APIs, widgets, etc. need to be coded differently for each platform. We also found that Xamarin does not permit components of its own environment to be reused outside, meaning these components cannot be shared with anyone who develops applications only for iOS or Android.
In summary, with the support of Xamarin, we are able to write reliable and user-friendly applications entirely in C# across iOS, Android, Windows, and Mac. However, depending on certain situations, we will consider whether this technology is the correct solution to ensure product quality and save money for the customer on software development.
If you would like to discuss a mobile or web application project with us, please do not hesitate to contact us at firstname.lastname@example.org or +1 (512) 310-9903.
MagRabbit Inc. is a global software service provider with offices in Austin, TX, and Vietnam. Chairman and CEO, Tommy Hodinh launched MagRabbit in Austin, TX in 1990 and offers comprehensive supply chain management solutions and global IT consulting with an emphasis on providing cost-effective offshore software development services for startups.