Nothing Special   »   [go: up one dir, main page]

Unit 4 Notes

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 56

Unit IV

CROSS-PLATFORM APP DEVELOPMENT USING REACT-NATIVE

4.1 WHAT IS CROSS-PLATFORM APP

In world around 6.3 billion users with smartphone and its increasing steady with 88% of time spent on
apps that helps to growth cross-platform app development.

Cross-platform app development is a business-savvy means of addressing consumer needs in an efficient


manner.

Cross-platform approach app used to develop software application that runs on multiple mobile OS
smoothly

It shares the source code so the developers can work on multiple mobile platforms without recode it. It
allowing iOS and Android architecture to stay in sync.

Cross-platform applications combine the best of two worlds: iOS and Android with same toolset
JavaScript frameworks or Google's new Flutter.

Hybrid and cross-platform only similarity in code shareability. The cross-platform app approach also
allows developers to write code once and reuse it for different platforms.

Definition:

The process of creating software that is compatible with multiple mobile operating systemsIt allows
businesses to save on costs and decrease development time.

It is developing mobile applications for both Android and iOS, as well as desktop applications for
Windows and macOS, from a single shared codebase and user interface (UI).

Lower cost, save time and limited budgets are the solution to launch app quickly.

Cross-platform architecture framework uses:

 Shared across iOS and Android


 Testability and Isolation

 Tooling for developer architecture productivity.

 An architecture that scales.

Two frameworks:

1. RIB: Router, Interactor and Builder. Ex: Uber is a cross-platform app framework of RIBS.
2. MV*/VIPER: View, Interactor, Presenter, Entity, and Routing. It is used for Clean Architecture
to iOS apps

Best languages for cross-platform app development

 Swift
 C#
 Java
 JavaScript and TypeScript
 Kotlin
 Dart
 Objective-C
Examples of Cross-Platform Apps:
Instagram, Facebook Ads Manager, Storyo, Skype, Wi The New York Times, Adobe Flash player,
Skulls of the ShoguCitiBank Network Direct.

Where to Use:

 games,
 B2B,
 content distribution apps
Ways to create an application:

 Separate native apps for each operating system


 Progressive web apps (PWAS)
 Cross-platform apps
 Hybrid apps
Characteristics:

 Flexible
 Adaptable
 Stable
 High performing
 Highly functional
 Able to deliver good UX
Popular cross-platform solutions
 Xamarin

 Flutter

 React Native

 Cordova

 Tenemos Quantum
 Appcelerator Titanium

 Ionic Framework

 Solar2D

 Qt

 Sencha Touch

 5App

 Unity 3D

 NativeScript

 Kotlin Multiplatform Mobile

Open-source cross-platform app development frameworks based on programming languages:

 JavaScript: React Native, Cordova, NativeScriptAppcelerator

 Dart: Flutter

 C#: Xamarin

 Java: Codename One

 Python: Kivy, Bee Ware

 Ruby: RubyMotion
4.2 BENEFITS OF CROSS-PLATFORM DEVELOPMENT

High performance
A cross-platform mobile app demonstrates higher performance than a web-based
application and can meet almost any requirements.

Cost-effective and fast development


Compared to a native app, a cross-platform app has a significantly shorter
development time and lower cost.

Native look and feel


In most cases, a user cannot recognize a cross-platform app since it uses the
smartphone's hardware and native controllers, just as native apps do.

Reduced development cost


Write once, run everywhere, so reusable codes and Agile app development
processes, tools will reduce development costs.

Maximum exposure to the target audience

A single app including the web to build the target for both iOS and Android
platforms. cross-platform development approach enables a company to build and
deploy an app over various platforms.

Easier maintenance & deployment

If a bug is found in the common codebase, it only needs to be fixed once. So


developers can save a lot of time and money.

Quicker development process

Single source code will reduce development efforts by 50 to 80%. The process
helps to develop a feature-rich business app in less time. Developers can meet the
expected deadlines.

Reusable code
A single code can be reused. This saves time as well as resources because it
eliminates repetition in the task of creating codes.
Easy integration with cloud
single source code is coordinated with various plug-ins and extensions to enhance
the app's scalability and functionality.
Cross-platform mobile apps are compatible and can use variou plug-ins integrated
with the cloud settings.

Increased market reach


For business owners, it is possible to reach a large audience because your app will
be visible on multiple platform through which they can easily increase their
business. You mobile app will be available on Windows, iOS, and othe operating
systems.

Uniform design
Users can recognize user interface (UI) elements and foresee their interactions
over various platforms. It is hard to sync the various development projects while
developing multipl apps. Cross-platform mobile development tools allow
developers and designers to build a uniform user experience that app users can
enjoy.

Simplicity

Changes, and customization to cross-platform apps ar easier, and if there are any
updates, it automatically syncs acros the platforms to ensure a smooth operation.
Note that you stil need to deploy to each platform with the updated code.
However the process is much simpler.

Common Benefits:
 Speeds up development and faster time to market

 Reusable code, Faster development

 Time savings, Effective resource management

 Attractive opportunities for developers

 Opportunity to reach wider audiences

 Developers need to only know standard languages


 Wider reach for audiences
 Quicker time to market and customization

How and What to Choose?

 Target Group of the app user, preferable way for users to access the application

 . Foreseen the required updates and

 Measure the level of complexity of the functionalities

 The need for native functionalities (devices and OS features)

 The level of UI/UX required to maintain the app Development resources (available & affordable)

4.3 CRITERIA FOR CREATING CROSS-PLATFORM APP


General Steps:

Step 1: Choose Your Cross-Platform Mobile App Development Tool

Step 2: UI/UX Design

Step 3Select Reliable Cross-Platform Apps Modules

Step 4Dedicated API Services for Cross-Platform Mobile Apps

Step 5: Dealing with Multiple Platforms

Step 6: Testing and App Store Approvals

How to develop cross-platform mobile apps?

 Define your concept & objectives

 Create and test prototypes

 Choose your development path

 Develop your cross-platform app

 Launch your mobile app

Criteria for creating Cross-platform App:


1. Supported platforms (iOS, Android, etc.): Ensure that the service choose supports the platforms you
want to target, such as iOS, Android, and Windows. Cross-platform app development should simplify the
development process across different operating systems, so it's crucial to select a service that caters to
your target audience's preferences

2. Performance and speed: Your chosen development service should provide optimal performance and
speed for your app, ensuring a smooth and responsive user experience. Assess the framework's ability
to deliver native-like performance, and consider it compatibility with existing performance optimization
techniques.

3. Customization options and ease of design: A good cross-platform app development service will offer
a variety of customization options and design tools to create a visually appealing and user-friendly
interface. Consider the ease of use and flexibility of the design tools, as well as any available pre-built
components or templates.

4. Access to native features and APIs: The service should allow seamless integration with native device
features such as GPS, camera, or push notifications. and provide access to native APIs. This ensures that
your app can fully utilize the capabilities of theunderlying platform, delivering a more engaging and
feature-rich experience to your users.

5. Compatibility with third-party libraries and tools: To streamline the development process, your
chosen service should be compatible with popular third-party libraries and development toolsThis will
enable you to leverage existing resources and reduce the time and effort required to implement
essential features or functionalities.

6. Development time and effort: The primary advantage of cross-platform app development is reduced
development time and effort compared to building separate apps for each platform. Evaluate the
efficiency of the development service in terms of code reusability, available pre-built components, and
ease of maintenance.

How do you choose the right cross-platform app development framework for your project?

1. The expertise of your team

Different cross-platform mobile development frameworks are based on different programming


languages. Before adopting a framework, check what skills it requires and make sure your team of
mobile engineers has enough knowledge and experience to work with it.

For example, if your team is equipped with highly skilled JavaScript developers and have enough
resources to introduce new technologies, it may be worth choosing frameworks that use this language,
such as React Native.

2. Vendor reliability and support

It's important to be sure that the maintainer of the framework will continue to support it in the long run.
Learn more about the companies that develop and support the frameworks you're considering, and take
a look at the mobile apps that have been built using them.
3. UI customization

Depending on how crucial the user interface is for your future app, you may need to know how easily
you can customize the UI using a particular framework. For example, Kotlin Multiplatform Mobile
provides you with full control over the UI and the ability to use the latest UI frameworks, such as SwiftUI
and Jetpack Compose.

4. Framework maturity

Find out how frequently the public API and tooling for a prospective framework changes. For example,
some changes to native operating system components break internal cross-platform behavior. It's better
to be aware of possible challenges you may face when working with the mobile app development
framework. You can also browse GitHub and check how many bugs the framework has and how these
bugs are being handled.

5.Framework capabilities

Each framework has its own capabilities and limitations. Knowing what features and tools a framework
provides is crucial to identifying the best solution for you. Does it have code analysers and unit testing
frameworks? How quickly and easily will you be able to build, debug, and test your app?
6. Consistency between different platforms

Providing consistency between multiple platforms can be challenging, given how much platforms like
Android and iOS significantly differ, particularly in terms of the development experienceFor example,
tools and libraries aren't the same on these operating systems, so there may be many differences when
it comes to the business logic. Some technologies, like Kotlin Multiplatform Mobile, allow you to write
and share the app's business logic between Android and iOS platforms.

7. Security

Security and privacy are especially important when building a critical mobile app for business, for
example, banking and e-commerce apps that include a payment system. According to OWASP Mobile
Top 10, among the most critical security risks for mobile applications are insecure data storage,
authentication, and authorization.

You need to ensure that the multiplatform mobile development framework of your choice provides th
required level of security. One way to do this is to brows the security tickets on the framework's issue
tracker if has one that's publicly available.

8. Educational materials

The volume and quality of available learning resources about a framework can also help you understand
how smooth your experience will be when working with Comprehensive official documentation, online
and offline conferences, and educational courses are a good sign t you will be able to find enough
essential information about product when you need it.

How do you pick the right tool for cross platform mobile apps?
Four main factors:

 Speed Considerations

 Feature Support

 Framework Risk

 Development Cost

1. React Native

React Native helps build apps on many platforms like iOSAndroid, and web. It uses same code base and
it is an open- source technology. It has been a boon for mobile app development. React Native adds
simplicity, the developers make complex tasks simple with uncomplicated codes.

Example of company using React Native –


Instagram started using React Native in their existing native app.They used Push Notifications view
which has simpleUI. React native shares code between Android and iOS, delivering faster than native
solution.
Pros

Developers love React for reusing and recycling components developed before. They know that they
have a wide React Native ecosystem. Codebase can be shared, which helps them to work faster.

Cons

Although custom modules are available, specific components have to be built from scratch.

2. Flutter Cons

Flutter is an open-source development kit for building iOS and Android-friendly apps. You can build high-
quality apps quickly, without having to write the code for the two app separately. You just need one
codebase for both platforms and flutter has exactly that. Here are two case studies you can chec out
about how developers are helping companies to build app as per their needs. A company in healthcare
industry from U approached our team to design app using flutter for both iO and android. Another
company approached our team to buil mobile app using flutter for ecommerce industry.

Example of Company using Flutter -

Toyota is using Flutter by building next-gen infotainment systems for their vehicles.

Pros

Fixing bugs and making instant changes are easy in Flutt as compared to other tools.
Cons

If you want to use Flutter you will have to learn how use Dart.

3. Xamerin

Xamarin undertook a study to find that their cross-platform tool is used by over 1.4 million developers
globally. Their products are used by nearly 15,000 companies. Xamerin is a perfect tool, it is a
developer's dream. It creates code once for various platforms. It has good app performance,
maintainability, and user experience. It is programming efficient and cost- effective and it has all
features of native apps.

Example of Company using Xamerin -

Pinterest has a very large user base and that led it to launch its mobile app. They used Xamarin and its
Test Cloud to code in the language of their preference and reach a larger market. It ensured that their
pins were being displayed properly on all devices.

Pros

Xamerin has high compatibility with MVC and MVVM architectures

Cons

UI development takes a lot of time and it is not mobile- friendly.

4. Ionic

Ionic is excellent for UX/UI design components. It enjoys a good reputation among developers for
smooth animations designs, and themes. Ionic framework is frontend based wit HTML, CSS, JavaScript,
and beautiful designs. It can create a interactive and user-friendly application. It supports popular we
frameworks like Angular, React, and Vue.

Example of Company using Ionic -

It is very unlikely that you haven't heard of McDonald's. The fast-food giant in Turkey has worked hard
to build a solid digital presence. They use Ionic to provide you with lots of deals and discounts on their
app in Turkey.

Pros

The best part about using Ionic is that it has a single codebase. One code runs on all the platforms.

Cons

Debugging can be challenging and requires more time because of unclear error messages.
5. Sencha

Sencha is a mobile application framework. It helps to build fast and efficient apps that work on iOS,
Android, BlackBerry, Kindle Fire, and more. It can be used to develop quick prototypes and launch apps
on all platforms at once.

Example of Company using Sencha -

The Nielsen Company used Sencha to build its web-based reporting platform. It provides flexible on-the-
fly processing to generate insights from consumer data.

Pros

It's has a vast array of pre-built components, charts, and data-grid-based solution.

Cons

It takes a fair amount of time to get the application up and running if you are starting from scratch.

4.5 CONS OF CROSS-PLATFORM APP

 Limited functionality. For example, you won't be able to employ augmented reality in a cross-
platform app.

 Poor design.

 Resulting in poor UX.

 Need more effort for testing and maintenance.

 Performance hiccups because of inconsistent communication between the native and non-
native components of gadgets is one of the most commonly reported issues with cross-platform
applications

 This could be avoided with a better understanding and implementation of the syntax or
configuration parameters set during the definition of functions on the platform.

Challenges in cross-platform app development process

 Compatibility issues with different operating systems and devices

 Limited access to device hardware features


 Performance issues compared to the native app

 Difficulty keeping up with updates to operating systems and devices.

1. Compatibility issues with different operating systems and devices

When discussing as in cross-platform mobile app development, compatibility can be challenging. Such
issues may arise when the apps running on the devices aren't designed to support them. This can lead to
performance issues.

2. Limited access to device hardware features

Cross-platform frameworks operate differently on multiple devices. It can be problematic to use the
features of each device. This is majorly due to the tools not having direct access to the hardware of
those devices.

3. Performance issues compared to the native app

Performance hiccups because of inconsistent communication between the native and non-native
components of gadgets.

4. Difficulty keeping up with updates to operating systems and devices

Cross-platform app developers have difficulty maintaining cross-compliance of apps across devices and
operating systems

Cross-platform app developers have difficulty maintaining cross-compliance of apps across devices and
operating systems

Performance-related glitches can lead to poor use experience.

If a business app manages part of a corporation and stores the user's data, then going for cross-platform
apps is not always a good idea due to security concerns.

4.6 POPULAR CROSSPLATFORM APP DEVELOPMEN FRAMEWORKS

 Flutter

 Xamarin

 React-Native

4.6.1 Flutter

Flutter is an open-source cross-platform framework.


 Flutter is both a UI framework and an SDK.

 Developed by Google in February 2018 at Mobile World Congress and released its first
version on December 5th, 2018, Flutters makes use of Dart, a markedly fast object-
oriented programming language from Google.

 It uses Dart programming language.

 It reloads feature allows them to make code changes

 and immediately see the results. Flutter relies on a library of pre-made widgets to

 launch their own mobile applications quickly

 Dart developers can build mobile apps for iOS and Android and develop software for
computer operating systems, including Linux, Windows, Mac, and Fuschia.

 The Flutter tool Dart Web lets developers compile code into JavaScript while Flutter's
ahead-of-time (AOT) and just-in-time (JIT) compilers within Dart Native produce native
machine code for mobile development.
 Another impressive tool of Flutter, Skia, is a graphic engine that renders seamless UIs on
heterogeneous platforms with few compatibility issues.
 Initially, it was developed from Google and now manages by an ECMA standard.
4.1 layer structure in flutter

Four components

1. Flutter Engine

2. Foundation Library

3. Widgets

4. Design Specific Widgets

Flutter is a layered system comprising the framework, the engine, and platform-specific
embedders in Fig. 4.1.

Flutter Engine

It is a portable runtime for high-quality mobile apps and primarily based on the C++ language. It
implements Flutter core libraries that include animation and graphics, file and network
I/Oplugin architecture, accessibility support, and a dart runtime for developing, compiling, and
running Flutter applications. It takes Google's open-source graphics library, Skia, to render low-
level graphics.
Foundation Library

It contains all the required packages for the basic building blocks of writing a Flutter application.
These libraries are written in Dart language.

Widgets
In flutter everything is a widget which is the core concept of this framework.Widget in
the flutter is basically a user interface component that affects and controls the view and
interface of the app. It represents and immutable description of part of the user interface and
includes graphics,text,shapes and animations that are created using widgets.The widgets are
similar to the react components.

Apps made with flutter cross-platform app framework

 Alibaba
 Google
 Google Ads
 Tencent
 eBay Motors
 Hamilton BMW

It is suitable for building the following Application:

 Minimum viable products (MVP)

 Apps that may put a heavy load on the device CPU or GPU.

 Apps that need to share UI components while looking as close to native as possible.

Features of Flutter
 Open-Source

 Cross-platform

 Hot Reload

 Minimal code

 Widgets

 Accessible Native Features and SDKs

Pros of Flutter

The "Hot reloading" feature enables developers to see changes made in code within seconds as
opposed to minutes.

Flutter is an ideal framework for MVP development Instead of spending extra money and time
on two separate apps, a Flutter mobile application that look native on both Android and iOS can
be built quickly

App Development

Flutter is based on Dart, an object-oriented programming language that developers have found
rather easy to acquire the skill for Flutter has a full set of widgets in Google's Material Design
and in Apple's style with the Cupertino pack.

Many ready-made solutions for native Android and iOS apps enable developers to work with
Continuous Integration platforms like Travis and Jenkins

Hot Reloading feature enables developers to see changes made in code within seconds instead
of minutes.
Flutter is based on Dart, an object-oriented programming language that developers have found
rather easy to acquire the skill for and is almost twice as fast as JS.

Flutter has a full set of widgets in Google's Materia Design and in Apple's style with the
Cupertino pac to help with the UI design implementation.

Cons of Flutter

 There is limited TV support with apps built on th Flutter framework (i.e., Flutter offers no
support fo Android TV and Apple TV)
 Though by being developed by Google, sever libraries have ready-to-implement
functionalities
 However, Flutter still lacks when compared to native development.

 Since Flutter-enabled apps use built-in widgets, platform widgets, the app's size is
usually bigger

 Currently, the smallest possible app made with Flutter can weigh no less than 4MB.

 There is limited support with apps built on the Flutter framework like smart TVs and
some popular third- party plug-ins.

 There are several libraries with ready-to-implement functionalities; however, Flutter still
lacks when compared to native development because most native APIs cannot be
accessed.

 Since Flutter-enabled apps use built-in widgets, not platform widgets, the app's size is
usually bigger

Simple Dart programming:

Example 1:
void main()
{
for (int j = 0; j < 10; j++)
{
print ("welcome ${j + 1}');
}
}

OUTPUT:

Welcome

Example 2:

void main()
{ var n = 200;
if (n%2!=0)
{
print("ODD");
}
else
{
print("EVEN");
}
}

OUTPUT:

EVEN

Example: 3

void main()
{
var fruits = ["Apple", "Orange", "Pappaya"];
for (var prop in fruits)
{
print(prop);
}}

OUTPUT:
Apple

Orange

Pappaya

Code example in Flutter:

Coding:

body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center,

children: [

Icon(Icons.mouse, color: Colors.grey, size: 68.0,

Divider(),

Text(

'You have pushed the button this many times:', ),

Text( '$_counter',),],),)
Create a mobile app(in android using flutter)
Follow the steps installation done in lab

4.6.2 React Native

 Introduced by Facebook in 2015, React Native

 It is suitable for building both hybrid and cross- platform apps.


 Learn Once, Write Anywhere.

 It is based on the React JavaScript library. Supports multiple languages, including Java,
Swift and C.

 React Native works in two parts. The first handle and processes the UI and user
gestures. The secondary functions with the help of JavaScript engines bridging JavaScript
code to native threads.

 JavaScript Core, the JavaScript engine that power Safari, executes JavaScript code
natively on Android and iOS.

 Web developers can easily use React Native to create mobile apps without obtaining
new programming skills.

 Allows engineers to make changes to the code an see the results instantly, making the
development process faster and more efficient.

 Supports a wide range of third-party libraries a plugins.

 Easy to add new features and functionality to a mob application.

Example of company using React Native-

Instagram started using React Native in their existing native app. They used Push Notifications
view which has simple UI. React native shares code between Android and iOS, delivering faster
than native solution.
Key features:
Developers can see their changes in their React components immediately, thanks to the Fast
Refresh feature.

One of React Native's advantages is a focus on the UI. React primitives render to native
platform UI components, allowing you to build a customized and responsive user interface.

In versions 0.62 and higher, integration between Rea Native and the mobile app debugger
Flipper is enable by default. Flipper is used to debug Android, iO and React native apps, and it
provides tools like a l viewer, an interactive layout inspector, and a network inspector.
Apps made with React Native cross-platform app framework

 Facebook

 Instagram

 Skype

 Uber Eats

 Bloomberg

 Pinterest

 Tesla

 Shopify

benefits:

 It can render a native-like interface.

 Code is reusable.

 high-performing app develop

 broader audience

 It provides numerous ready-to-apply features.

 It converts the source code into native elements to enhance UX.

 It's easy to use.

Pros of React Native


 Up to 80% of a codebase can be shared across platforms, depending on the app's
complexityCode reusability significantly speeds the development process

 React allows for previewing results right away and offers ready-to-apply elements, thus
shortening the developing time considerably

 The Hot Reloading feature enables developers to see changes made in code within seconds, not
minutes, like when using native technologies

 React Native focuses on UI to a great extent rendering a highly responsive interface

 It also provides access to certain useful native functionalities like an accelerometer and camera.
This allows for rendering a high-quality, native-like user interface

Cons of React Native

 React Native is not fully a cross-platform app framework. To use some functions as a camera or
accelerometer, there is still a need to use native components meaning there will be a separate
code for Android and iOS.

 Since the framework is not built in conjunction with iOS or Android, it lags behind the native
platforms at times. This is one of the reasons that led Udacity to stop investing in React Native
for new features.

 React Native lacks consistency when it comes to releasing updates.

 React Native improves the speed of development but also increases the

Code Example:

import React from react';

import { Text, View, StyleSheet } from react-native';

const App = 0 => {

return (
<View style={styles.container}>

<Text style={styles. paragraph}>Hello welcome Rea

Native

</Text>

</View>

);

};

export default App;

const styles = StyleSheet.create({ container: {

flex: 1,

Cross-platform App Development using R

justifyContent: 'center', padding: 8,

backgroundColor: 'white',

},

paragraph: {

margin: 24,

fontSize: 18,

font Weight: bold',

textAlign: 'center',

},
});

4.6.3 Xamarin

 Xamarin is an open-source, cross-platform app development framework owned by Microsoft in


2011.

 recently acquired by Microsoft in 2016.

 To build applications for many platforms with a single shared code base.

 Xamarin apps are fully native so in xamarin you can enjoy fully native performance with shared
code.

 Xamarin tools are easily available to download with Visual Studio.

 It is used for creating native cross-platform apps for Android, iOS, and Windows using C# and
NET

 It uses HTML and JavaScript. Using these frameworks, develop apps like a website for mobile
app using JS libraries, the website is packed in a container which gives the feel of a native app.

 Xamarin apps are built using native user interface controls and provide a high-performance use
experience.

 It provides its own integrated development environment (IDE), as well as numerous software
development kits (SDKs).

 Today it is available in MIT License as part of Visual Studio IDE and source code editor.

• Build the app from machine learning to game development


 The platform encourages the use of Microsof languages like C#, F#, and Visual Basic. Xamari
itself uses C#.

Region Hourly Rate per


US $56.41
Latin America $35 to $70
Europe $33.51

Apps made with React Native cross-platform app framework

 Fox Sports

 Alaska Airlines
 HCL

 American Cancer Society

 BBC Good Food.

 UPS

 Academy Members (Academy of Motion Picture Art and Sciences).

Using only this language, rather than several native languages, you can build Android, iOS, and Windows
apps.

Key features:

 Xamarin applications use the Base Class Library, o .NET BCL, a large collection of classes that
have range of comprehensive features, including XMI database, IO, and networking support, and
more Existing C# code can be compiled for use in you app, giving you access to many libraries
that ad functionality beyond the BCL.

 With Xamarin.Forms, developers can utilize platform-specific UI elements to achieve a consiste


look for their apps across different operating system

 Compiled bindings in Xamarin.Forms improve da binding performance Using these bindings


provide compile-time validation for all binding expression Because of this feature, mobile
engineers get few runtime errors.
Four key technologies:

 Xamarin.Android

 Xamarin.iOS

 Xamarin.Forms

 Xamarin. Essentials

 Xamarin.Android and Xamarin.iOS

1. Xamarin.Android and Xamarin.iOSapplication compile to a native assembly in either Java Objective-C.

2. XamarinEssentials allows for cross-platform application programming interfaces (APIs) to retry native
device functionalities such as device info,system, text-to-speech, accelerometer, phone dialer, screen
lock, and more.

3.Xamarin.Forms is a user interface (UI) framework permitting developers to build Xamarin.iOS,


Xamarin.Android, and Windows applications from a single shared codebase.

4.The UI toolkit of Xamarin.Forms targets the form factors of mobile, tablet, and desktop devices on
contrasting operations systems.

Pros of xamarin
Xamarin app development uses C# for coding.This means that it works seamlessly on an array of
platforms.
Xamarin has a strong community of over 60,000 contributors from more than 3,700 companies.
Xamarin allows for sharing more than 75% of code across platforms for “Write once,run anywhere”ease.
Xamarin consists of a single tech stack for faster development.

Cons of Xamarin

Xamarin is expensive for enterprises. Xamarin is a free framework for individuals and startups; however,
enterprises must buy a license for Microsoft's Visual Studio.

Xamarin is not recommended for apps that demand heavy graphics because each platform has a
different visual method of laying out screens. A UX/UI-rich application is advised to be implemented
natively.

Xamarin also limited access certain important libraries that the developers need mobile
developmentAlsosince the core of user-interface creation is mobilecreating the time-consuming

How choose the cross-platform app development framework for your project?

 framework's choice of
 total development

 budget

 maintenance requirements

 your audience

 available expertise of development

 code reusability multiple platforms

 community forumsdocumentationthird-party libraries

Future cross-platform development

Artificial intelligence (AI)

Cloud technologies

Low-code and platforms

Internet of Things (IOT)

Code Example XamarinVisual Studio 2019 Windows Small Android application Xamarin

You might also like