Choosing the Best Mobile App Framework
Microsoft introduces the possible mobile frameworks including Xamarin, Flutter and Progressive Web Apps.
In this video Brandon Minnick, developer advocate at Microsoft, talks about how to choose the best mobile app framework for making your first app.
What is a mobile app framework?
Before summarizing this video let’s talk about what is a mobile app framework?
A mobile app framework is an app development platform that contains many components like toolsets, compilers, debuggers, coding interfaces, and so on.
So a developer writes the source code for the app, and then the framework renders the app for the desired mobile platforms by using different components. It is a library that offers the required fundamental structure to create mobile applications for a specific environment. In short, it acts as a layout to support mobile app development. There are various advantages of Mobile App Development frameworks such as cost-effective, efficient, and many more.
Choosing a mobile development framework is pretty hard according to most developers. There are a lot of considerations such as hiring, costing, feature availability, 3rd party risks outside of the framework that impact the app directly.
The first party native apps are the tools created by the creators of iOS and Android. Apple makes iOS and they also make the Xcode development toolkit that allows people to create native iOS apps in Objective C and Swift. Google who makes Android as Android studio that allows people to make native Android apps in Java and Kotlin.
The benefits of using first-party native apps is people get a native UI UX so native UI native user experience buttons look like iOS buttons and on Android they look like Android buttons.
People cannot reuse the same code as Apple or Android between their apps so even though their apps look similar they have the same features. They will have to rewrite those apps twice in two different code bases with two different engineers that increases development costs and maintenance costs and it slows down their time to market. The benefit is that they’re using the first party tools whenever Apple releases a new feature or a new API.
Progressive web apps are essentially websites running locally on your device, that create the UI just like they would for a website. There’s many different technologies available from Microsoft’s blazer native script that react to iconic tools which most web developers are already familiar with.
The feature access of progressive web apps are bluetooth, local notifications, geolocation, file access, camera, device motion etc. Installing a PWA on mobile does not require an app store, installs locally to the device and runs as an installed app.
Xamarin is also a mature technology. It has been around for over a decade and it is feature complete that means every time Apple and Google release updates Microsoft will release those same updates through Visual Studio.
Flutter on the other hand is different from Xamarin and react native in one way and that is Flutter does not use the native UI in the UX API provided by Apple. Google flutter uses a bespoke method to draw their own UI on the screen.
In conclusion, which mobile app framework is best it’s the one that’s best for one’s team. Every team is going to have different scenarios.
0:00 – Intro
0:40 – Considerations outside of the framework
1:08 – 1st Native Party
3:15 – Progressive Web App
7:05 – Cross Platform Native Apps