Mobile App Development

We specialize in creating cross platform mobile applications that reuse as much code as possible.  What does this mean in the real world?  We take advantage of the Xamarin development tools to write native iOS and Android applications while being able to share much of the business logic which save time and development costs.  While other platforms exist, we primarily focus on iOS and Android applications as they comprise of 99% of the worldwide smartphone operating system market.

We would love to talk with you about your next mobile project.

iOS Development

iOS has nearly 13% market share but has some of the most active and brand loyal customers of all the mobile platforms.  iOS revolutionizes the mobile industry when it introduced the iPhone in 2007.  We have experience in creating iOS apps for all sorts of scenarios from data entry, to internal facing mobile CRM’s, and more.

Android Development

Android from Google has nearly 86% market share and has seen explosive growth since it was introduced in 2008.  Android software also runs on devices such as Amazon’s FireTV allowing us to also create apps for that platform.  Android users and devices are a bit more diverse than iOS resulting in additional OS versions to support and a myriad of devices from different manufacturers.

Xamarin Cross Platform

In the traditional sense, iOS apps would be written in Objective-C or Swift and Android applications are in Java.  Xamarin bridges the gap by letting developers write applications in C# that target both platforms natively.  By us utilizing Xamarin, we can create apps faster, reusing as much code as possible and reduce the maintenance costs down the road.

Contact Us

We would love you talk to you about your next mobile project.  Get in contact with us today!

Mobile Development Approaches

Various approaches can be taken when developing mobile applications.  You can read about the different approaches below and see why we use and recommend Xamarin.

Silo Approach – Most Expensive, Most Time Required

The silo approach to mobile app development was the original app development approach and some still use this approach.  This approach consists typically having separate development teams dedicated to each different platform with no code sharing at all due to each platform being substantially different to develop for.  An example of this approach would be to have a separate team developing for iOS with strong iOS background, a separate team developing for Android with strong android background, and possible a separate team developing for Windows Phone with a strong Windows development background.

Pros:

  • Pixel Perfect Design
  • Strong Platform Specific Knowledge and Implementation

Cons:

  • Very Expensive – code is typically being duplicated for each specific platform.
  • Difficult to maintain – changes need to be coded separately for each platform and tested accordingly.
  • Different development environments for each dev team.
  • Longer time to market due to functionality duplication across platforms.
  • Separate SDKs/APIs for each platform

Hybrid Approach –  Cross Platform, Lower Performance

The Hybrid Approach to mobile app development has the advantage of writing code once that can be deployed to multiple mobile operating systems such as iOS, Android and Windows phone.  This is typically achieved by making the mobile app with web technologies such as HTML, Javascript, and CSS.  Since each platform has a solution to rendering a website within an app, an app look and feel can be achieved by running a website within an app.  The advantage to this solution is for existing web developers as they can reuse existing skills to create mobile applications that work across devices.

Pros:

  • Typically HTML, Javascript based – Existing web developers can reuse there existing skills.
  • Cross Platform – since this is primary web based, this solution typically works pretty well across devices with the same code.
  • Quicker time to market since many mobile OS’s can be targeted with one solution.

Cons:

  • Performance – typically hybrid solutions have wrappers around native controls causing the application to not be as performant as a native application.
  • Like web sites, different browsers can interpret HTML and CSS slightly differently so there can still be some platform specific development.
  • Can miss out on some platform specific functionality that may not yet be implemented by the Hybrid app development kit.
  • Less support due to the development technique being dramatically different than how each vendor originally expected applications to be developed.

Xamarin Approach – Cross Platform, High Performance, Native Apps

The Xamarin Approach is in our opinion the best approach for developing highly performant cross platform native applications.  With this approach, the developer can write native iOS, Android, and Windows Phone applications that look and feel native because they are.  On top of this, a common programming language is used to write applications for each platform which enables developers to use a single language to target multiple platforms.  By using a common programing language, many of the common business logic functionality and rules for the mobile app can be  reused across the different platforms which results in lower development time, faster time to market, and substantially less code to maintain over the life of the mobile applications.  Xamarin is the only approach we use create mobile applications.

Pros:

  • High performance
  • Cross Platform (iOS, Android, Windows and more!)
  • Creates a native application
  • Ability to share a large portion of code that would typically need to be duplicated across each platform
  • Common development environment for developers to work out of
  • Ability to use platform specific libraries through the use of bindings.

Cons:

  • Slight overhead in the final app size
  • Existing developers may need to learn a language different that what they originally programmed in.
Xamarin Logo