Code Once Build Twice

There is endless debate on the merits or lack thereof of using cross platform frameworks for generating native mobile apps. The decision to go purely native or use a framework needs analysis on the feature set of the intended app, UX and which native device controls will be used etc. Once that decision is made or as part of that discussion, one must figure out which platform to use for cross platform app development.I will lay out the case for choosing the framework based on the current popularity (aka adoption). IMO, this is the most weighted factor in this choice as you most likely want your app to be supported over a long period of time. Availability or fungibility of the development resources is a key consideration for maintaining a code base(s) over the long haul.A cross platform mobile development platform entails writing a high percentage of common code in one framework (language) and then spinning out multiple native app code bases that are pushed to app stores as native apps.With the demise of Windows and earlier Blackberry, Nokia mobile platforms, there are ONLY two mobile platforms that are left standing as of date (2022). These two ecosystems are iOS & Android. Thus, the mobile developers have to ONLY think about spinning apps for iOS & Android. That is some relief.In cross platform frameworks, the stalwarts like Cordova, PhoneGap, Ionic, Xamarin are losing market share to the leading two horses. These are Flutter (Google sponsored) and React Native (Facebook sponsored).These two are neck to neck with Flutter going to top position in 2021. Still, the top two are very close as these survey results are not 100% accurate on account of the small data set and the fact that the survey could have been targeted to a set of developers.

Looking at this data, one should not conclude that Flutter & React Native are the only ones to consider for your use case.

In fact, many a time, your use case may call for no common framework and will be suited for purely native apps.

At other times, you may not want to invest in these fairly complex, heavy frameworks and instead want to use a lightweight solution like a wrapper.

React Native & Flutter do come in handy especially when you have a web app. Then the combination of React - React Native or Angular – Flutter can use more common code.

The decision to use a framework and which one is a factor of your particular use, app features and availability of resources.

Whichever path you tread, do keep in mind the support & maintenance costs over time.