Introduction
Technology moves fast. Programming technology is constantly changing, which is a good thing because we can create higher-quality products at a faster rate every day. The tools that make this possible—SDKs, frameworks, and developer tools—are essentially about abstracting away hard problems that exist for every app. In the world of mobile app development, which is a fairly new field, the next set of tools that makes our lives easier is cross-platform SDKs.
These days, cross-platform options are becoming widely accepted, viable options for all mobile apps. Historically, mobile developers have been extremely skeptical of cross-platform tools, and for good reason. Native development (in iOS and Android) is a pain compared with using cross-platform tools, but the apps have always been much higher-quality. A few newer tools are finally challenging that situation—notably, Flutter, React Native, and Xamarin.
All three of these options are worth considering because they all have different advantages. React Native’s biggest advantage is that it’s written in JavaScript and ReactJS. Web developers can jump in without missing a beat. Xamarin is the most established and therefore likely has the most engaged community. Flutter is the newest tool. Its main advantage is that it’s written in Dart but compiles completely to native mobile code, so it’s as performant as native apps.
If you’re new to mobile and considering jumping in, you should consider all your options. The following chapter excerpts give you a brief intro to each of these platforms. I’ve made my choice: I think that Flutter is the best development experience that exists right now. But don’t take my word for it. The best way to figure out which one you like is to give each a try!