Before You Build: Technology Considerations for Creating Your Mobile App

Mobile app development approaches and decisions to make before you build, including native versus cross-platform frameworks and which tools fit.

BEFORE BUILDING

Introduction

When you look at all the benefits of mobile apps, it’s easy to make the decision to invest in creating one. But once you have, you need to figure out the “how.” The performance of your mobile app––and your success at realizing those benefits––will depend entirely on the decisions you make before you build it. Let’s walk through the different mobile app development approaches available, various popular platforms and tools on the market, and how to decide which ones are right for you.

NATIVE VS CROSS-PLATFORM

Which approach and framework will you take?

There are two basic approaches you can take to building your mobile app. The first option is to build it natively using the frameworks provided by the device manufacturers. Android’s software development kit (SDK) uses Kotlin, and the iOS SDK uses Swift. With this approach, you design your app twice (at least), as there’s no shared code between the two. Producing and maintaining two separate native apps may be costly, but it’s the best way to offer the full benefits of a native app experience. Of course, you may choose to build for one mobile operating system and forego others, depending on your intended audience. For instance, given iOS users spend twice as much as Android users on in-app purchases, it may make sense to create an iOS-exclusive app.

The second approach is to use a cross-platform framework that enables you to code once for both iOS and Android. The use of cross-platform frameworks has become increasingly popular because of their efficiency and low cost relative to native app development. However, the final product may not perform as seamlessly or leverage the full range of device-specific hardware functionalities.

FRAMEWORK OPTIONS

A closer look at cross-platform frameworks

Two cross-platform options are React Native and Flutter.

React Native uses React and JavaScript to build apps with native platform UI components. Platform-specific code and libraries can provide access to capabilities that differ between iOS and Android.

Flutter uses Dart to build multi-platform applications from a shared codebase. Its rendering and development tools offer a different approach to building a consistent interface across platforms.

Evaluate either framework against your app's requirements, your team's skills, the libraries you need, and the amount of platform-specific work involved. Measure performance with a representative workflow rather than assuming one framework will always be faster.

ASSESSMENT

Questions to ask yourself before you build

Each approach and platform come with its own pros and cons. To weigh them out, assess your vision, budget, and resources.

> What skill sets do you have on hand?

If your internal resources will be supporting your mobile app, examine the skill sets of your current developers. Are they more proficient in C#, or Java, or Kotlin? It can be difficult to vet and hire programmers skilled in a language different than that with which you’re already familiar.

> What matters most––your budget or vision?

Are you most concerned with ROI? If your mobile app is just one of many of your company’s revenue sources, then it’s better to go the cross-platform framework route. You’ll only need to hire one development team and vet them for one language. It’s the fastest path to widely distribute your mobile app, and the cross-platform frameworks still provide a high-quality experience.

On the other hand, if you have a specific vision of how your app should look, feel, and operate on each mobile device, then it’s best to write it natively. You’ll have two different development teams writing in two different languages, with two different SDKs and two different sets of best practices, but you can deliver the exact experience your users want and expect.

The challenge with this approach is synchronizing the mobile app’s feature set and functionality with business processes on the backend. For example, processing an order should look and feel the same for store employees, regardless of the buyer’s operating system. This may be costly, but for online-only businesses with which customers primarily interact via mobile apps—think DoorDash or Uber—it’s critical.

UI SIMPLICITY

Keeping the UI simple, even when the app is complex

No matter how complex your app is, the UI needs to be as simple and “fat-finger-friendly” as possible. That means minimal typing and simple interfaces that are as close to native navigation as possible. For example, in iOS, action menus are triggered by swiping up from the bottom of the page. In Android, action menus are triggered by tapping the three-dot “kebab” menu icon.

The more complex actions your app can perform, the more important it is to provide a consistent, intuitive UI. To give users a consistent, familiar experience, it’s important to build in platform-specific features like these as much as possible. That means you must take care when selecting third-party or open-source components, as the styling and behavior might be inconsistent with native controls. (This, by the way, is one of the drawbacks of using React Native’s “write once, run many” capabilities.)

TAKE TIME

Don’t rush the decision-making process

As you can see, there’s a lot to consider when you’re creating a killer mobile app. We advise our clients to not skimp on this part of the process before they dive into designing and building their apps. Once you’ve chosen a platform and a language, it’s really hard to change it—and who wants or has time to start over again from scratch?

Want to learn how to create a high-performing mobile app? Watch our on-demand webinar, Tapping Into Mobile Apps For More Profitable Revenue, to learn how to build an engaging, competitive app that drives higher revenue. Need help creating and launching your mobile app? Contact us to see how JBS Dev can help.

KEEP READING

Related Resources

Contact

Ready to Talk About Your Mobile App?

Tell us what you're trying to build, modernize, automate, or fix. We'll help you understand the practical path forward.

Call 888.421.1155