Native app developers use Java for Android, Swift/Objective-c for iOS and C# for windows to build same application for multiple platforms. This is a conventional app development, and organizations need to invest lots of money and time. Instead of writing the same piece of code twice/thrice, developers can use the single code generated by cross-platform app development tools to build an app for multiple platforms. With cross-platform app development tools, developers do not need to maintain numerous versions of the same app across app stores and help companies quickly go to the market. Some of the leading cross-platform technologies are Xamarin, React Native, Ionic framework, Cordova, SAP UI5 etc. Though they are many articles on Xamarin vs Ionic, Ionic vs React Native, Ionic vs SAP UI5, they fail to analyse Xamarin vs Ionic vs SAP UI5 together. Each of the technologies have their own advantage, and in this article, I will be briefing you on the top three technologies – Xamarin, Ionic Framework & UI5. In this article on Xamarin vs Ionic vs UI5, i will compare the languages each technology uses, multi platform support, costs, code free UI changes etc.
The number of hybrid-built apps is growing as a share of overall app development, and in the next two years, 32.7% of developers surveyed expect to completely abandon native development in favor of hybrid. – Ionic Report
Xamarin is a cross platform app development tool from Microsoft. Apps built using Xamarin contain standard, native user interface controls. With a C#-shared codebase, developers can use Xamarin tools to write native Android, iOS, and Windows apps with native user interfaces and share code across multiple platforms, including Windows and macOS
Xamarin platform consists of several elements (C#, .NET Framework, Compiler) that allow you to develop applications for iOS and Android.
- Native user experience.
- Full hardware support.
- Performance close to native.
Ionic is an HTML5 mobile app development framework targeted at building hybrid mobile apps. Those familiar with web development will find the structure of an Ionic app straightforward. At its core, it’s just a web page running in a native app shell.
- Open source
- Use of well-known web technologies
- Good availability of Plugins
A large percentage of apps being built with Ionic (41.7%) are for internal-use apps. More and more, older legacy systems are steadily being replaced – or modernized – with mobile experiences that make employees happier, and more productive.
SAP introduced an HTML5-based development toolkit, SAPUI5, which encourages one consistent user experience. Apps built using SAPUI5 are responsive across browsers and devices – they run on smartphones, tablets, and desktops. The UI controls automatically adapt themselves to the capabilities of each device.
It consists of JS libraries useful for developing web applications and as well as mobile applications.
SAP UI5 is built upon jQuery open source.
Comparative Analysis: Xamarin vs Ionic vs UI5
|Xamarin||Ionic Framework||SAP UI5|
|Code-free UI changes||No||No||Yes|
In the above table, we took seven factors for analysing Xamain vs Ionic vs UI5. UI5 stands in the first place scoring 6 out of 7. Ionic & Xamarin follows it with scores 0f 5 & 4.
App performance is mandatory for users to deliver results on time. Imagine having a list with pagination and 100 items in UI5, it will show the list 0-20 items at first. As we scroll the items rendered are 0-40, 0-80 and so on. If we have 100 or 200 items in our list, then over N elements are added to the DOM.
A Larger Dom will impact the performance of the app. In Ionic 2, the items are added as 0-20, 20-40, 40-60, 60-80 etc. So, at any point, only 20 elements or 10 elements will be in the DOM, increasing the performance of large dataset list considerably.
Xamarin is more responsive than Ionic because Ionic framework is a client-side scripting language and fetches data from server side. Whereas, Xamarin is a server-side programming language & uses C# to get data from database.
Enterprises are adapting to mobility faster than ever. To maintain a competitive edge over your competitors, companies shall consider the development time needed to adapt to mobile technologies.
Of the three tools we are discussing, Ionic Framework allows a developer to rapidly develop apps in a week. Xamarin takes time. Developer needs to be patient to debug code. There are some standard templates in UI5 he can directly import and play with them.
An Architectural pattern is a general, reusable solution to a commonly occurring problem in software architecture within a given context. Developers with knowledge on architectural patterns such as MVC (Model View Controller), MVP (Model View Presenter), MVVM (Model View ViewModel) can easily understand Ionic.
Xamarin supports only MVVM (Model View ViewModel) pattern.
SAP UI5 supports MVC (Model View Controller) pattern.
All the three platforms support multiple functionalities in mobile applications, however, Xamarin stands top in this list.
- Xamarin is good for long term if application has many features to be implemented. However, the number of complex apps built with Xamarin is only 8.3%.
- Performance of Ionic app degrades as you start adding more than X complex functionalities.
- By consuming OData service we can easily build complex features also.
Cost of Development:
Development costs with Ionic Framework & UI5 are zero. Ionic is a complete Open source framework and support forums makes the task of a developer in case of any error. Developers can use openUI5 for developing apps at zero cost. Xamarin is a premium tool and costs around 1000$/year
Progress Web Applications(PWA):
It is a web application that uses modern web capabilities to deliver an app-like experience to users.
Example: Flipkart, Twitter Lite, Forbes.
- A developer with knowledge on Ionic framework and Angular can easily develop PWA’s.
- PWA’s are not possible in Xamarin & UI5
SAP UI5, Xamarin, and Ionic Framework all are great technologies that get the job done. Whatever framework of choice, selecting the tool depends on enterprise’s preferences. In my opinion, for building applications on top of SAP infrastructure/systems, it makes more sense to use SAPUI5. On the other hand, if my application requires a lot of custom controls that don’t exist in SAPUI5, I would consider Xamarin or Ionic Framework.
Propel Apps offers app development services for all the three technologies and has developed applications for many use cases. Click here to know more about our services.