.
Hey guys, how are you? Pokemaobr here again to bring another cool theme for the dev crowd of the Web Host blog. Today we are going to talk about hybrid application development.
There is a big debate between developing natively for mobile devices or using hybrid development platforms/libraries. Obviously if you need to develop something that requires full access to the APIs of a mobile operating system specific, you should choose to develop natively; in addition to other situations where access to specific hardware is required, as well as impeccable performance or other such things.
However, most of the time you need develop a mobile application for general use, thinking about development cost, code reuse, application maintenance for more than one operating system, among others. A very significant option is to use a library/framework/platform for hybrid application development.
What is hybrid development?
O hybrid development is based on using non-native languages (JavaScript, C#, Dart, etc) and transforming this code into native code for each operating system, or using a kind of bridge between the code written in that language and the virtual machine that runs the applications that run on top of the operating system used. Bearing in mind that the native languages of mobile development are: Java, Kotlin, Objective-C and Swift.
In the past, it was difficult for a hybrid application to access certain types of APIs from the mobile operating system, however, over time these technologies have evolved and become more and more complete to develop different types of applications and access more and more features, whether more specific things the hardware or software of mobile devices.
There are several ways to develop mobile apps, however, in this article I will talk about 3 types of libraries/frameworks/platforms for developing this type of application. They are platforms widely used by the mobile development community and also use more solid platforms for this development.
They are: Frameworks/Libraries for Javascript, .NET MAUI and Flutter.
Hybrid Development: Frameworks/Libraries for JavaScript
The JavaScript language has several different implementations, libraries and frameworks for mobile development, let’s get to know some of them.
React Native
React Native is based on React and supported by Facebook. It is one of the most popular libraries for mobile development using JavaScript. In 2018 it had the 2nd highest number of contributors compared to all GitHub repositories. With React Native you develop declaratively, component-based, with hot reload (no need to “compile” the application to see the changes after a code change).
Quasar
Quasar is an open source Vue.js based framework that allows a developer to quickly create responsive websites/applications and also mobile apps Android, iOS, etc. The interesting thing is that with it you can develop SPAs, PWAs, desktop applications and much more.
NativeScript
NativeScript is an open-source framework for mobile application development for iOS and Android. Applications using NativeScript are developed using JavaScript or anything that transpiles to JavaScript, such as TypeScript. In addition to supporting JavaScript frameworks like Angular or Vue for your development.
Apache Cordova
Apache Cordova offers a group of APIs that allow you to develop an application with HTML, CSS and JavaScript that can be encapsulated as a native mobile application and that can access native device functions such as GPS or camera.
In addition to these, other platforms and libraries JavaScript-based software can also be used for mobile development.
Other frameworks
.NET MAUI
For .NET developers, .NET MAUI is a Microsoft open source framework that extends the .NET platform with tools and libraries specifically used to build apps for Android, iOS, tvOS, watchOS, macOS, and Windows. It is an evolution of Xamarin.
The .NET MAUI provides a foundational framework for accessing native features of mobile devicesa XAML markup language for building dynamic mobile apps using C# and platform-specific libraries.
With .NET MAUI it is possible to create applications with access to all the features exposed by devices such as ARKit, CoreML, Fingerprint, Bluetooth, NFC and much more.
If you’re C#, .NET MAUI is a great way for you to develop mobile applications. In addition, you can develop a single project with shared code that can be targeted to the operating system you want: iOS, macOS
flutter
Flutter is Google’s open source framework for building cross-platform natively compiled applications from a single codebase.
Using the Dart language, Flutter is one of the hybrid development most hyped of the moment. Since Google reactivated the Dart project exactly to be able to be used with Flutter.
Even some companies stopped developing applications with other technologies to start using Flutter, such as: Alibaba and Ebay.
With it you can develop a wide range of mobile applications using a language that uses the object-oriented paradigm.
Well, we saw that we have several ways to develop hybrid applications, now you just have to choose one according to your knowledge in each language and according to the type of problem that the technology you choose solves. I hope it helped you to know a little more about this type of development
A big hug and until next time.
.








