Bespoke Software Development - Xamarin
The StyleTech bespoke software development team have been developing with Xamarin since 2013. Xamarin allows C# developers to use Visual Studio or Xamarin Studio to create native Android, iOS and Windows apps by sharing code across these platforms.
The code sharing is accomplished by writing portable class libraries to handle non-user interface operations. Portable class libraries allow for around 60% of the application to be re-used across the different platforms (e.g. database, security, notifications etc.). Before Xamarin, a developer would have to re-write 100% of the application if that application needed to be cross-platform (e.g. the iOS version is a 100% rewrite of the Android version).
Xamarin are now addressing the remaining 40% of unique cross-platform development by introducing Xamarin Forms. Xamarin Forms allow the user-interface to be developed once and then re-used across the different platforms.
StyleTech use Microsoft Azure technologies for backend services within Xamarin apps, as they allow the app usage to scale indefinitely and you only pay for what you use (great at peak times such as Christmas). StyleTech use the following Microsoft Azure technologies when applicable:
- Azure Active Directory (Azure AD):
StyleTech use Azure AD to provide authorisation and security services to Xamarin apps. StyleTech also use OAuth providers to provide security services.
- Azure Mobile App Service:
An Azure Mobile App Service allows two-way data synchronisation between a central data store and each device running the Xamarin app. This allows the app to operate offline and online with automatic data synchronisation. An Azure Mobile App Service also allows the Xamarin app to support push notifications.
- SQL Azure:
The SQL Azure provides a cloud based relational database (part of the Microsoft SQL Server famly). Most of the server based SQL Server features are available within SQL Azure, but to keep costs down, StyleTech will use the Azure DocumentDB data store whenever possible.
- Azure DocumentDB:
The Azure DocumentDB is a key-value data store that provides a significant cost saving over SQL Azure. If the data schema allows, StyleTech will use the DocumentDB data store whenever possible.
- Azure Microservices:
StyleTech build modern Xamarin and cloud based applications which fully utilise Microservices. Microservices are small independent and scalable customer orientated services that cross communicate.
- Azure WebApps:
StyleTech use Azure WebApps to host server-side logic (e.g. REST APIs) for the Xamarin app to consume. The WebApps are written using ASP.Net MVC in C#.
- Azure File Sync:
The Azure File Sync is used to keep your on-premise files (on Window Servers) in sync with Azure storage. Using Azure storage means that the Azure backup and fast disaster recovery features can be utilised. Azure File Sync helps when migrating legacy software to Azure.
- Azure HockeyApp:
StyleTech use Azure HockeyApp to assist with the development, distribution and testing of the Xamarin mobile app.
- Azure Application Insights:
StyleTech use Azure Application Insights to gather information on the Xamarin app usage in the real world (including crash analysis).
- Azure Search:
StyleTech use Azure Search to provide enhanced search capabilities within the Xamarin app. Azure Search provides a great experience when searching for information within the Xamarin app (including pluralisation, fuzzy logic and multilingual Xamarin apps).
- Azure Logic Apps:
StyleTech use Azure Logic Apps to trigger processes such as third party integrations or the sending of SMS or email messages (resulting from actions within the Xamarin app).
- Azure Functions:
StyleTech use Azure Functions to provide a server-less event based model (if better suited that using a full WebApp).
- Azure Machine Learning:
StyleTech have embraced Azure Machine Learning and are always looking for opportunities to use it to enhance the Xamarin app usage experience.
StyleTech fully implement the Visual Studio, Mobile Lifecycle Solution (MLS) and Application Lifecycle Management (ALM) by using the following to help the development team:
- Source code control (Team foundation or GIT)
- Work items (Agile backlogs and sprints)
- Integrate (Azure and third party services)
- Builds (Continuous Integration)
- Automated testing (with Visual Studio App Center Test)
- Release (publish to Azure and app stores)
StyleTech have developed many mobile applications which include:
- Offline data store
- Offline data synchronisation
- Data encryption
- Map positioning
- Push notifications
- Signature capture
- Geo-coordinate tracking
- Customer service photograph evidence
- Catalogue viewer
- Product listings
- Alarm notifications
- Badge notifications
- Order entry
- Photograph capture
- Video capture
- Email notification
- SMS notification
- Graph display
- Best price calculations
- Vibration notification
- Twitter, FaceBook and Email Sharing
- Screen orientation
StyleTech make it a key priority to ensure the bespoke software development team is kept up to date with all the Xamarin enhancements that each new release brings.