Why we chose native over hybrid

Hybrid or native? That’s one of the first questions mobile app creators will ask themselves.

First off, what’s the difference? Native is when you write in code specifically for a mobile platform. That’s Java for Android, and Swift or Objective-C for iOS.

Some of the core advantages of native are:

  • Access to all APIs. (Enables seamless integration of camera, gyroscope, and other native phone functions.)
  • No runtime lag. (Translation? Faster apps and better performance)
  • Software platform updates are no big deal.

At Hatch, we build to apps to be fast, smooth, and capable of taking full advantage of all of what mobile tech has to offer. We believe the best way to deliver this experience is to build natively in objective-C for iOS and Java for Android.


Hybrid mobile development frameworks have come a long way and are great for prototyping and things of that nature, but still have big limitations.

For example, React Native (which brands itself as ‘native’, but has many of the same drawbacks as hybrid frameworks) offers a fairly robust solution for building mobile apps, but is limited by the overhead of using Javascript to control native elements. Javascript in this environment has a single device thread, while native code can use as many native threads as available. Many of these frameworks, including React Native, make up for this for allowing developers to incorporate native code. Unfortunately, this requires separate code bases for Android and iOS, which defeats part of the purpose of building using React Native or similar technologies.

For us, the answer to that initial question was simple: native all the way. Looking toward the future, it will not only enhance our users’ experiences as we make the platform more robust and more capable of customization, but also make it easier on us to build a powerful product.


Matt Thees


Leave a Reply

Your email address will not be published. Required fields are marked *