Flutter VS React Native

2y ago
56 Views
3 Downloads
1.23 MB
15 Pages
Last View : 15d ago
Last Download : 3m ago
Upload by : Grady Mosby
Transcription

White Paper 2020Flutter VS React NativeA comparison study on Hybrid technologies forsecure mobility solutionwww.optisolbusiness.com

2020 OptiSol Business Solutions Private Limited. All rights reserved.No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose without the written permissionof OptiSol Business Solutions. Any hard copies of this document are to be regarded as temporary reference copies only.2Flutter vs. React Native

TABLE OFCONTENTSAbout the Author4Glimpse of Cross Platform5Overview of Flutter and React Native6Flutter Vs. React Native7Programming Languages7Stability8Community Support9Performance10Documentation11UI Components12Build & Release Automation13Conclusion3Flutter vs. React Native14

ABOUT THE AUTHORSathish Kumar Technology Managerlinkedin.com/in/sathish-chennaiBroad experience over 10 years of software development and leadership with mobility solution as passion.He has been working with OptiSol for around 9 years as Technology Manager – Mobility practice. He canquickly design and implement solutions to bring value to any Enterprise and startup organization.Area of ExcellenceMobile: Objective-C, Swift (native iPhone/iPad/ iwatch), Hybrid applications (React Native /Cordava) Cocoa Touch, cocos2d, Social Media Connect APIs, Payment Integration SDKs, iAdsAnalytics and performance monitoring: Google Analytics, Flury, Crashlytics, Instabugs, New Relic,Appsflyer and Mixpanel.Cloud Services: Amazon (S3 storage / Lambda scripts / Ec2 deployments), Wowza Live streaming(GoCoder / Wowza Cloud / Stream Engine). GCP (Push Notification / Storage / Database)Continues Integration: Jenkins applied with (iTunes / Fabric / Hockey) distributions.Web: Core Java, J2EE, Spring, Struts, JSF, Hibernate, Play, Microservice architecture.Flutter vs. React Native4

GLIMPSE OF CROSS PLATFORMWhat is Cross Platform Mobile Development?Cross-platform mobile development refers to the development of mobile apps that can be used on multiplemobile platforms. It can involve a company, developing original app in a singular environment for developmentthat will then allow the app to be sent to many different native platforms.Why Cross Platform Mobile App Development?Cross platform mobile development has multiple advantages for a developer. First of all, it allows you to reusea significant account of code, meaning there’s less time and effort to put in. This makes the production bothcheaper and faster. For a business, less time spent in development also equals to an earlier release and, in turn,quicker profits. In addition to that, releasing one cross platform app instead of multiple native apps lets themsave on marketing.Flutter vs. React Native5

OVERVIEW OF FLUTTER & REACT NATIVEFlutter and React Native are both cross-platform mobile development frameworks. React Native was developedby Facebook and was initially released in May 2015. It was later discovered by a larger community and eversince, it has become mainly community-driven. Flutter, on the other hand, is considered as a newer framework;its first stable version was released in December 2018. Apps using React Native are written in JavaScript, whileapps using Flutters are written in Dart. Flutter became a stable framework compared with React Native andmost of the recent apps chose Flutter framework competing with performance.TitleFlutterReact Native20172015Created ByGoogleFacebookTechnologyDartJava ScriptTime to MarketFastSlower than FlutterDocumentationSmaller but clear and preciseExtensive but bit clumsyHot ReloadSupportingSupportingIDE SupportVS Code, Android Studio,IntelliJ IDEAAlmost every IDE possibleGreatGoodGoogle, Google Ads,Alibaba, Tencent, HamiltonMusical, JD FinanceFacebook, Instagram, UberFirst ReleaseNative PerformanceUsed ByLet’s take a look at the two competitors in this detailed overview to decide which one is a potentially better toolto develop a cross-platform application.6Flutter vs. React Native

FLUTTER VS. REACT NATIVE: PROGRAMMING LANGUAGESFlutterUses Dart-Dart is fairly new. It is a language not a script, although learning curve for this language is moderateespecially for experienced developers familiar with C# and Java can adopt easily. I understand that whencompared with JavaScript, it requires developer to know compiler and structural language. But that’s notwithout acknowledging fact that it’s very easy to get started with Flutter’s demo app.React NativeIt works on JavaScript. It is a widely adopted language by the developers, with a lot of support from the onlinecommunity and there are many apps that are able to identify in market in terms of mobile and webapplications.Flutter vs. React Native7

FLUTTER VS. REACT NATIVE: STABILITYFlutterThe Beta 2 version arrived with so much of improvements and rich features. With the developer communityalso growing strong, Flutter will only evolve to become more stable for deployment soon. People are startingto migrate to develop the app with this framework since it has authorized community center to render thetools required to develop the expected app modules.React NativeBacked by an already popular and established framework, React Native is reliable. Despite the dependencyon 3rd party tools, React Native still is the more stable of the two.8Flutter vs. React Native

FLUTTER VS. REACT NATIVE: COMMUNITY SUPPORTThe developer community is one of the crucial factors to consider here, as developers can easily adopt andshare knowledge to perform expected results. Learning framework improves as more community supportestablished.FlutterThe Flutter community has been growing dynamically. Thereare frequent meetups, conferences, and events discussionshappening in their connected community.React NativeIt has an edge when it comes to community support. It isolder than Flutter (established in 2015) and there are tons ofevents and meetups happening across the world. GitHub hasa React Native developer community and offline events arealso organized by the community.React Native has good community support compared with flutter since it has been a longin battle, Flutter community rapidly growing with high end of organized support to thedeveloper.Flutter vs. React Native9

FLUTTER VS. REACT NATIVE: PERFORMANCEFlutterIt uses the Dart framework which has most of the components inbuilt, hence it’s bigger in size and often does not require the bridgeto communicate with the native modules. In short, Flutter haseverything needed for app development in the Flutter engine itself.React NativeIts architecture heavily relies on JS runtime environmentarchitecture, also known as JavaScript bridge. The JavaScript codeis compiled into native code at runtime. In short, React Native usesthe JavaScript bridge to communicate with the native modules.Flutter engine has most of the native components in the framework itself and it doesn’t alwaysneed a bridge to communicate with the native components. React Native, however, uses theJavaScript bridge to communicate with native modules, which results in poor performance.Flutter vs. React Native10

FLUTTER VS. REACT NATIVE: DOCUMENTATIONThe process of setting up the developer machine to use the new framework takes time. It requires lot of configurationof software installations. The technology should have proper documentation to get users up and running.FlutterThe getting started guide for Flutter has detailed information on IDE setupand platform setup for both iOS and Android. You can read all the requiredsetup details on Flutter installation for macOS here. On top of this, Flutter has flutter create MyProject cd MyProject flutter runa CLI tool called flutter doctor which can guide developers through the setup.There is a separate page on how to configure the editors to get going withFlutter. Once all the setup is done, we can create and run new Flutter appfrom CLI.React NativeThe documentation directly jumps to the step of creating a new project. Anew React Native project can be created and run on iOS simulator usingcommands. There is no setup guide for Android projects in the React Native react-native init MyProject cd MyProject react-native run-iosdocument.Flutter offers better documentation and CLI support for setup and configuration.11Flutter vs. React Native

FLUTTER VS. REACT NATIVEUI COMPONENTSFlutter - Rich in ComponentsFlutter framework is bundled with UI rendering components,device API access, navigation, testing, stateful management andloads of libraries. This rich set of components removes the needto use third-party libraries.React Native - Less ComponentsCore React Native framework provide UI rendering and deviceaccess APIs alone. In order to access most of the native modules,it has to rely on 3rd party libraries. React Native is too muchdependent on 3rd party libraries.Flutter rich in development APIs and UI components while React Native is too much dependenton 3rd party libraries.Flutter vs. React Native12

FLUTTER VS. REACT NATIVE: BUILD & RELEASE AUTOMATIONFlutterFlutter documentation for building and releasing Android andiOS apps. On top of this, Flutter has officially documented thedeployment process with fastlane here.React NativeThe React Native official documentation doesn’t have anyautomated steps to deploy the iOS apps to App Store.However, it provides a manual process for deploying the appfrom Xcode. The process of using fastlane to ship React Nativeapps is described in this article. This means that React Nativehas to rely on third-party libraries for build and releaseautomation.Flutter has a great build automation tooling and can be used to deploy apps from the commandline. React Native apps lack support for the CLI tools that are officially supported for buildautomation.13Flutter vs. React Native

CONCLUSIONHaving worked with both Flutter and React Native, we can say that even though Flutter is a youngerframework, it does not lag behind on React Native. Both frameworks have their advantages: Weighingthe result, Flutter would gain the upper hand but React Native is also an alternative.If having a consistent UI for iOS and Android is important, Flutter could be the better choice.Flutter came out as the winner in this match. Most of the industry experts have predicted that Flutter isthe future of mobile app development. Considering the comparison above, it’s clear that Flutter hasentered the cross-platform mobile development race very strongly.Flutter vs. React Native14

OptiSol - an IT services firm offering DIGITAL solutions for Startups andEnterprises through custom web and mobile application design &development, Artificial Intelligence and product implementations. Withpresence over a decade along with 200 smart workforce in India and globaloffices at US, Ireland, Sweden, Dubai and UK. Our development methodologyis driven by design thinking with tools for collaboration and our keydifferentiator is our People.APPLICATION MODULES: FEATURES & FUNCTIONALITIESMy InformationMy Information feature the employees to view the basic information such as Image, Employee ID,First Name, Last Name, Job Location, Designation, Email ID, Joining Date, Contact Number etc.along with quick links to the other features.Leave ManagementThe Management staffs i.e., Manager and Human Resource team can manage applicable leavecategories and number of leaves under each category here. The application shall allow the predefined leave categories such as Accident Leave, Annual Leave, Business Trip Leave,Compassionate Leave, Compensatory Leave, Compensatory Leave for Aura, leave without pay,Maternity leave, Paternity leave, Prepaid annual leave, Public Holiday leave and Sick LeaveThe employees can view their leave counts. The leave count for each employee shall vary basedon their experience level. Employees can apply for leave under any selected category with reason.These leave requests can be view by approvers for the specified employee. The leave approvalhierarchyshall movefrom mitedto relations officer.Baid HiTheTechPark, 5th canFloor,Block38, EastCoastalongRoad,with approval status or declination reason. TheEmployeesviewtheir# leavehistoryThiruvanmiyur,Chennai–41staffs with reporting levels can view the list of leave request from their team and respond to it withapproval or decline. In case of decline, they need to provide a valid reason for the specified leavedeclination. 91-44-24512206 (India) 1415-233-4737, 1908-838-0191 (USA)www.optisolbusiness.com info@optisolbusiness.comBoth the users (applying employee and reporting officer) shall get alerts on the leave respond.And the Reporting officer shall get alert on new leave requests. Also, the employees can view thelist of public holidays defined by the Manager/HR team.14

React Native apps lack support for the CLI tools that are officially supported for build automation. CONCLUSION Flutter vs. React Native 14 Having worked with both Flutter and React Native, we can say that even though Flutter is a younger framework, it does not lag behind on React Native

Related Documents:

If you plan to make changes in Java code, we recommend Gradle Daemon which speeds up the build. Testing your React Native Installation Use the React Native command line tools to generate a new React Native project called "AwesomeProject", then run react-native run-ios inside the newly created folder. react-native init AwesomeProject cd .

12. Describing Networking in React Native and how to make AJAX network calls in React Native? 13. List down Key Points to integrate React Native in an existing Android mobile application React Native Intermediate Interview Questions 14. How is the entire React Native code processed to show the final output on a mobile screen 15.

have configured react, redux and react-router., If you haven't, Please do so. Note: While react-router in not a dependency of react-redux, It's very likely that we will using it in our react application for routing and this makes it really easy for us to use react-redux. FILENAME: app.js 'use strict'; import React from 'react';

React-Native Apps JS components render as native ones Learn once, write everywhere 13 Android Android SDKs Native UI JS Runtime React Native 3rd Party Libs NPM Pkgs (e.g., React) Bridge Your App Your App (JS) (Native UI & Modules) iOS iOS SDKs Native UI JS Runtime React Native 3 Party Libs NPM Pkgs (e

stands out with React Native is that most of the other mobile application frameworks uses programming languages like Objective-C, Java and so on. Meanwhile React Native gives the web developer a chance to easily work with native mobile applications. React Native uses all of the technology used for React

React and React Native Use React and React Native to build applications for desktop browsers, mobile browsers, an

Introduction to React Native Optimization With React Native, you create components that describe how your interface should look like. During runtime, React Native turns them into platform-specific native components. R

A. Thomas Perhacs is the author, creator, and visionary behind the Mind Force Method. He is also the President of Velocity Group Publishing and Director of The