Unique – .NET code iOS and Android: 95 percent reuse
We build native mobile apps for iOS and Android, in .NET and with Xamarin. And we know how to maximize efficiency, with a 95% overlap of the .NET-code for iOS and Android. We’d love to tell you how we do that and which modern techniques we utilize to achieve this. Are you a programmer? We’ll build the foundation for you, because if the foundation is well-built, you’ll be able to continue without our help.
Lots of and specialized work
Developing a well-built native app requires a lot of work. iOS apps are often developed using Swift or Objective-C and Android apps using Kotlin or Java. A lot of knowledge about API’s and the tools necessary to build the layout, for example – a lot of specialized knowledge that’s completely different for iOS and Android. Since most .NET-developers don’t have any experience with this, the work is often outsourced to a specialized company.
Why outsourcing is not the right choice
You know .NET well. You have built a beautiful web-app with ASP.NET for your own use or for a customer, and you maintain it; with regular changes, updates and new versions. It wouldn’t be convenient to transfer the build of a native app to someone else. It would work well for the first version, but when you develop and expand your web-app, you want the changes and additions to end up in the apps as well. And that’s where the problem lies, because the external company that built the native apps, doesn’t know your business the way you do. It would mean twice the work and a lot of time spent on coordination and consultation: keeping your web-app synchronized with your native apps won’t run smoothly, and will cost you way too much time and money.
So what is?
It would be ideal if you could develop and maintain your native apps using ASP.NET yourself, if you’ve developed your web-application with ASP.NET yourself as well. And you can, with Microsoft Xamarin. Xamarin was developed ten years ago as ‘Monotouch’ and ‘Mono for Android’, and was taken over by Microsoft a few years ago. In a bit, we’ll tell you how we can help you with that with relatively little support.
But first: with Xamarin, you can do everything you can also do with the standard native tools of iOS and Android, because Xamarin creates a direct link to the native API’s. It’s used on a large scale by big companies (such as the Dutch Railways), which is an important confirmation of its quality. Regardless, small and medium-sized companies often say they don’t have the best experiences with it. Why?
That’s because, while lots of good companies with .NET-programmers are active in the SME sector, those programmers have the wrong expectations. This is what they’re saying: “Xamarin is just like .NET and because we’ve got much experience with .NET, we expect to have a good and easy start with Xamarin.” And that’s where the problem lies, because the start with Xamarin isn’t easy. But that’s not Xamarin’s fault – it’s the fault of the unrealistic expectation. So how does that work?
Xamarin with a little help
As we’ve said earlier, developing a well-built native app requires a lot of work. Even if it’s built with Xamarin. Xamarin allows you to do a lot in .NET and Xaml (Xamarin Forms), and with the right base draft, you could share 95% of the code you develop in .NET and Xaml with the apps for iOS and Android. That’s not merely beneficial for the development of your app’s first draft, but also for eventual maintenance and expansion.
To get to that first draft, you’ll need more than just .NET-knowledge. You’ll need to understand how Xamarin works with iOS and Android API’s, what the basic structure of a native app looks like, how to use external libraries and tools with Xamarin that aren’t developed for Xamarin, and more that a .NET-developer often has no experience with. You could use a little help with that first, incredibly important draft .
The first draft
That’s why we advise you to let a Xamarin-specialist create that first draft. And make sure he creates a wiki with you and your developers in which you can find for example, how to publish updates. If your base draft is well structured and documented, your .NET-developers can continue on with it independently, without our help. Everything will be managed by yourself, with one good .NET-code that has a 95% overlap between both app-versions for iOS and Android. And you’ll only need the help of a specialist if something extra needs to be done, or if you find yourself stuck.
How does the code of the web app compare to that of the native apps?
The client side of web-apps is often built with Javascript, not in .NET. But there are certain things on the server side that you can reuse to save time and therefore, costs. Think business logic, the API’s of databases (if they’re built well-structured) and the DTO’s (the Data Transfer Objects). But the most profit is made if you use Microsoft Blazor, in which case you’ll write the web-app-code in .NET as well.
Here you can read about Blazor, our tips and tricks on how to build web-apps in the smartest manner, and about the synergy you can achieve with the code of the native apps.
Support
If you’d appreciate support, use our ten-year experience with Xamarin. We’d love to help you if you want to start with a well-built Xamarin-app. And we’re always available to help you later on if you or your developers find yourself facing a problem. Whether you need our help for an hour or a day: fast, flexible and never longer than necessary, so you’re able to carry on. Because the principle remains: you can do it!