React vs React Native: What are the differences?\n\n
React is a JavaScript library for building user interfaces for web applications. While React Native is a framework to build native mobile applications using React, sharing a significant amount of code across different platforms. Here are the key differences between React and React Native:\n\n
\n
Platform: React is primarily used for building web applications that run in web browsers. It allows developers to create interactive and dynamic user interfaces using JavaScript. On the other hand, React Native is specifically designed for developing mobile applications for iOS and Android platforms. It utilizes native components and APIs to render UI elements, resulting in native-like user experience.\n
Development Approach: React and React Native adopt different approaches to rendering components. In React, components are rendered to the browser's DOM, while in React Native, components are translated into native UI elements. This difference in rendering approach allows React Native to provide a more performant and native-like experience on mobile devices.\n
UI Components: React has a wide range of libraries and UI component ecosystems specifically built for web applications. These libraries provide ready-to-use components and functionality tailored to web development needs. React Native, on the other hand, has its own set of components that are designed to mimic native UI elements and behaviors. These components are optimized for mobile platforms and provide a more consistent look and feel across different devices.\n
Access to Native APIs: React Native allows developers to access and utilize device-specific functionalities like camera, geolocation, and push notifications through JavaScript APIs. This gives React Native applications the ability to leverage native capabilities without having to write platform-specific code. In contrast, React applications primarily interact with web browser APIs and may require additional frameworks or libraries for accessing native device features.\n\n\n
In summary, React is primarily used for web application development, while React Native is specifically designed for building mobile applications.\n","content2":"","topContent":"","bottomContent":"","packageStackup":false,"screenshotImageUrl":"https://img.stackshare.io/stackup/6493011/react-vs-react-native.png","function":"Javascript UI Libraries","path":"/stackups/react-vs-react-native","title":"React vs React Native","seoUpdatedAt":null,"cachedStackDecisionsGetAdvice":{"type":"json","json":{"count":11,"edges":[{"node":{"id":"104586839832418120","user":{"id":"104586772618504114","title":"Senior Embedded Engineer","imageUrl":"https://img.stackshare.io/user/676997/default_4e99836cce099465bce90c83d7a163417fb67de1.png","thumbUrl":"https://img.stackshare.io/user/676997/thumb_4e99836cce099465bce90c83d7a163417fb67de1.png","username":"nikhil1379","__typename":"User","companyName":"GreyOrange","displayName":"Nikhilesh Goyal"},"stack":null,"topics":[{"name":"CrossPlatformMobileApp","__typename":"Topic"},{"name":"Mobileappdevelopment","__typename":"Topic"}],"answers":{"count":3,"edges":[{"node":{"id":"104589944649432777","link":null,"user":{"id":"104470942452146781","path":"/Epiczzor","title":"Product Manager","imageUrl":"https://img.stackshare.io/user/655333/default_09cb53d43357b32ef3100e597835972276d5cdb6.jpeg","username":"Epiczzor","__typename":"User","companyName":"AutoVRse","displayName":"Sahil Singh"},"draft":false,"topics":[],"company":null,"flagged":false,"private":false,"toTools":[],"upvoted":false,"publicId":"104589944649432777","services":[],"createdAt":"2020-07-28T05:58:23Z","fromTools":[],"viewCount":454940,"__typename":"StackDecision","bookmarked":false,"rawContent":"Hey, If you are using Unity you are going to have to do the end to end development on Unity, you can directly build for android and iOS on Unity. I dont see how Flutter or React Native fit into this equation. Unity is a standalone engine. As for Social Chats, you could use Firebase or your own API and integrate that in Unity in C#","htmlContent":"
Hey, If you are using Unity you are going to have to do the end to end development on Unity, you can directly build for android and iOS on Unity. I dont see how Flutter or React Native fit into this equation. Unity is a standalone engine. As for Social Chats, you could use Firebase or your own API and integrate that in Unity in C#","permissions":{"edit":false,"delete":false,"__typename":"Permissions"},"publishedAt":"2020-07-28T05:58:23Z","decisionType":"giveAdvice","rootComments":[],"subjectTools":[{"id":"101231774277037113","fans":1818,"name":"Unity","path":"/unity-3d","slug":"unity-3d","title":"Unity brings state-of-the-art, affordable multiplatform tools and services to developers of interactive content everywhere.","votes":74,"stacks":1645,"imageUrl":"https://img.stackshare.io/service/2084/CGKUrcD9_400x400.jpg","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/unity-3d","followContext":null}],"upvotesCount":11,"commentsCount":0},"__typename":"StackDecisionEdge"},{"node":{"id":"104596188655272158","link":null,"user":{"id":"103950551996891501","path":"/Ru_Co","title":null,"imageUrl":"https://img.stackshare.io/user/491088/default_833201a092cfc60ae0d348b6787215c9717067b8.png","username":"Ru_Co","__typename":"User","companyName":null,"displayName":"Ru_Co"},"draft":false,"topics":[],"company":null,"flagged":false,"private":false,"toTools":[],"upvoted":false,"publicId":"104596188655272158","services":[],"createdAt":"2020-07-29T08:26:19Z","fromTools":[],"viewCount":454072,"__typename":"StackDecision","bookmarked":false,"rawContent":"I agree with Sahil. If Unity is a requirement, best way is to use just that to create your app.\n\nIf you really want, it should be possible to use Flutter and Unity together. Using [Flutter Unity Widget](https://pub.dev/packages/flutter_unity_widget). Although I wouldn't recommend it just yet. It's too early days.\n\nIf you do end up using it, I would be very interested in reading about your experiences.","htmlContent":"
I agree with Sahil. If Unity is a requirement, best way is to use just that to create your app.\n\n
React is a JavaScript library for building user interfaces for web applications. While React Native is a framework to build native mobile applications using React, sharing a significant amount of code across different platforms. Here are the key differences between React and React Native:
Platform: React is primarily used for building web applications that run in web browsers. It allows developers to create interactive and dynamic user interfaces using JavaScript. On the other hand, React Native is specifically designed for developing mobile applications for iOS and Android platforms. It utilizes native components and APIs to render UI elements, resulting in native-like user experience.
Development Approach: React and React Native adopt different approaches to rendering components. In React, components are rendered to the browser's DOM, while in React Native, components are translated into native UI elements. This difference in rendering approach allows React Native to provide a more performant and native-like experience on mobile devices.
UI Components: React has a wide range of libraries and UI component ecosystems specifically built for web applications. These libraries provide ready-to-use components and functionality tailored to web development needs. React Native, on the other hand, has its own set of components that are designed to mimic native UI elements and behaviors. These components are optimized for mobile platforms and provide a more consistent look and feel across different devices.
Access to Native APIs: React Native allows developers to access and utilize device-specific functionalities like camera, geolocation, and push notifications through JavaScript APIs. This gives React Native applications the ability to leverage native capabilities without having to write platform-specific code. In contrast, React applications primarily interact with web browser APIs and may require additional frameworks or libraries for accessing native device features.
In summary, React is primarily used for web application development, while React Native is specifically designed for building mobile applications.
Hi Friends, I am new to #MobileAppDevelopment and I need to make a #CrossPlatformMobileApp. I want guidance regarding which tools should I use to build a mobile app. Main requirements: integrate Unity game engine and provide a platform for social chats.
Past experience - C++ and Python
I have tagged Flutter and React Native but if anything better than both please suggest them.
Hey, If you are using Unity you are going to have to do the end to end development on Unity, you can directly build for android and iOS on Unity. I dont see how Flutter or React Native fit into this equation. Unity is a standalone engine. As for Social Chats, you could use Firebase or your own API and integrate that in Unity in C#
I agree with Sahil. If Unity is a requirement, best way is to use just that to create your app.
If you really want, it should be possible to use Flutter and Unity together. Using Flutter Unity Widget. Although I wouldn't recommend it just yet. It's too early days.
If you do end up using it, I would be very interested in reading about your experiences.
You can start by small steps with Flutter and after Unity.
Flutter = best choice to build a small cross-platform mobile app.
With or no flutter, use directly Unity. Y'll have complete control but it's harder for new mobile developers.
Keep in mind, the requirement is Unity!
I'm researching what Technology Stack I should use to build my product (something like food delivery App) for Web, iOS, and Android Apps. Please advise which technologies you would recommend from a Scalability, Reliability, Cost, and Efficiency standpoint for a start-up. Here are the technologies I came up with, feel free to suggest any new technology even it's not in the list below.
For Mobile Apps -
native languages like Swift for IOS and Java/Kotlin for Android
or cross-platform languages like React Native for both IOS and Android Apps
My Recommendations:
Front End: Flutter because of developer tooling and powerful declarative widget system
Back End: Node.js or Go because Node.js has a large ecosystem and Go has a good built in http setup
Database: Cloud Firestore because of ease of use, NoSQL, and the ability to set data from the client
If you go with react / react native I advice you to go with node. Why ? I first didn't believe coding in javaScript everywhere (back, front and db queries) was making life SO much more easy. I still followed the advice, in the end this is a huge relief. For a small startup project with 1/2/3 devs, using only one langage increases efficiency a lot. You can switch very fast from a topic to another.
Considering that your objectives are Scalability, Reliability, Cost, and Efficiency, I recommend the following:
Backend - Node.js/Express/MongoDB
Frontend - React
Mobile - React Native
You can then focus on using one language (JavaScript) for all the above. As your startup grows, sure, you may have other requirements that warrant using other technologies. Nevertheless, the above stack will definitely satisfy your objectives. Hope this helps!
Flutter is a new sparc out there, because it's Dart engine can run server-side, client side (as web app) and natively - it cross compiles to all major platforms from single codebase...
We thought about creating a web application for a long time, but came to the conclusion that it is better to create an adaptive site with PWA technology.
This will save your budget and speed up updates (you won't need to update 3 versions of apps for different platforms, just the site). In addition, research on the preferences of smartphone users suggests that users are not very willing to install new offers for reasons of personal data security. Sites that work through the browser are more trusted.
I want to develop a mobile app for android and IOS using a RAD (Rapid application development) tool, but I don't know if such a tool exists.
I created the site for Brazilians. It tracks records of products sold on different websites. I built the entire system using a Rad tool called PhpRad, except for the scraper, for which I used a Python script.
I would like to know if it is possible to do the same using some Rad application that creates most of the code for me, such as authentication and pagination.
Does anyone know any Rad application that does this for mobile? Please let me know; any suggestions are welcome.
If it is a tool that uses React or React Native, even better, but if you use another technology, no problem.
As a Microsoft thing, maybe Xamarim (Forms) addresses your Rad needs. To be honest I never built an application with it, but I have built with Windows Forms and WPF. If it follows the same Philosophy, I think you will be useful for you.
Good luck on your project! =)
Hello guys, I am new here. So, if I posted without specific guidelines, please ignore.
Basically, I am an iOS developer and developing native apps for the last three years. Recently, I started learning React Native to develop apps for both platforms. If anyone out there knows any useful resources that will become a better react native developer.
Well, the first resource I would recommend you is my upcoming book by Packt Publishing, "Professional React Native", but it's due late January next year :) . Now jokes aside (the book's real by the way :) ), the easiest way to build a iOS/Android/Web app with React Native is to do:
npm install -g expo-cli
expo init some-project
cd some-project
expo eject
You might have heard of Expo, but trust me, stay away from it. Expo highest value is that it's an already pre-configured 3 platforms environment, but if you don't eject then you're vendor-locked to what Expo has to offer in iOS and Android, which is very poor compared to going full React Native on these platforms, they can't even handle Google Sign In properly and by the way, even if your app is 10 lines of code your app size will be over 40 MB if you don't eject, yep it's that bad, plus the performance is regular and the loading times slow, not to mention that you're stuck with their build service which the free tier makes you wait for hours for a free build slot. It's important to note that when ejecting you don't lose the Web, you simply do expo start --web to start your dev environment and expo build:web to build a static website that you can serve with any web server. Regarding state management, don't bother with "lifting state up" philosophies mixed with Context API to manage your state, lifting state is a great pattern and helps your codebase, Context is great to avoid prop-drilling, but NEVER mix them to achieve app-wide state management, for that, simply go for Redux or MobX, the hype is all about Redux, but I consider MobX far better in many aspects. However, as you're getting new into this I would recommend you start with Redux AND PLEASE grab yourself npm install @manaflair/redux-batch so that you can batch updates and don't bring your app to a crawl. Forget that "connect HOC" thing with React-Redux, don't bother for a second with it, go with Hooks and useSelector and useDispatch and the likes, it will make your code SO much cleaner and smaller. Adopt clean and new Hooks philosophy, avoid writing class components as much as possible and write function components augmented with Hooks.
I'm a huge fan of Vue.js and I'm pretty comfortable with it.
I need to build a mobile app for my company and I was now wondering whether I could make use of VueJS with Vue Native instead of switching to React. I know Vue Native builds on top of RN. My question is whether I'd have as much freedom with Vue Native over RN and whether you feel like Vue Native is "production ready" or not.
Not sure of which shortcomings I may find using Vue Native...
Thanks a lot!!!
Vue Native is definitely production-ready in my experience. I've used both, have apps built with both in production right now, and both are fine technologies. As far as I can recall, there's nothing in RN that you can't do in VN. Given that, I would say go with "the devil you know".
That said, the one downside of VN over RN is that there are a lot more people using RN last I checked, so there are likely more resources readily available.
I am learning app development. I'm having difficulty finding the right frameworks and stacks to learn, with React , React native with Node.js enough to create a complete app with good ui, analytics and a strong server base. And also is there any other criteria for me to consider when building an app besides the few i listed.
I recommand you use the mean stack. This is really effective :)
MongoDB -> database
Express -> backend api
Angular -> frontend
NodeJs -> backend server
You can use react instead of angular and firebase instead of mongo. This is a good place to start :)
What is the best MVC stack to build mobile-friendly, light-weight, and fast single-page application with Spring Boot as back-end (Java)? Is Bootstrap still required to front-end layer these days?
The idea is to host on-premise initially with the potential to move to the cloud. Which combo would have minimal developer ramp-up time and low long-term maintenance costs (BAU support)?
React might be a good option if you're considering a mobile app for the future, because of react native. Although, Vue.js has the easiest learning curve and offers a better developer ramp-up time. Vue.js is great to build SPAs, very clean and organized and you won't have a lot of long-term maintenance problems (like AngularJS, for example). Bootstrap can still be used, but with flexbox there's no need anymore.
I recommend React because of less memory occupant compare to Angular, but this will depend on your organisation flexibility. When you use React you need to import different libraries as per your need. On the other side angular is a complete framework.
Performance-wise I vote for react js as it loads up quickly and lighter on the mobile. You can make good PWA with SSR as well.
If you are new to all three react will be a good choice considering, react-native will be useful if you want to build cross platform mobile application today or tomorrow.
If you are talking about bootstrap styling framework than it's a choice you can style ur components by ur self or use bootstrap 4.0 framework.
The complete stack mentioned above is platform agnostic u can run it anywhere you want be it cloud or on-premise.
Given your experience in electron I think the shortest hop is going to be React Native. Especially since half of the requirements are server-side.
Google is doing a pretty great job bringing up Flutter and the tooling is pretty great. For me however, dart seemed like quicksand and not everything is in its final home.
React Native is mature, and considering my cursory analysis of your experience and the low complexity of this project, you've got quite a lot of room to grow into Javascript Land.
Ultimately, my recommendation is always "play with both, see what you like, and get to know the documentation and the community." Keep your head on a swivel and set aside time to peek greener pastures, but spend most of your time delving deeply into what you're already doing.
But yeah, go with React Native first, get bored of it, learn what the shortcomings are through experience and then see if something else is really more attractive or just a new shiny.
Well, I will personally recommend to go for React Native as I have worked in both of them. React native has big community and it is easy to opt as compared to Flutter. There no doubt about the fact that Flutter is a great framework for developing both Android/IOS apps. However, you should have some experience to go for the same. Both will require prior knowledge as for React Native you have to go through Javascript first with which you are already familiar and for Flutter you need to go through Dart. So being familiar with Javascript you should go for React Native. You can go expo which has lot of inbuilt functionalities for the React Native developers.
Hi, we are an early startup (with an iPOC prototype) but need to get started on our MVP, and our tech developers in India recommended a hybrid, and they use Ionic, then we spoke with a software company in the US and he recommended Flutter or React Native. Any advice or input for us on the differences between these? Our app will need Bluetooth GPS for "near me" and social media sharing reviews capability, and also link on the backend with businesses. Thanks in advance for any help you can give!
I would never recommend you to go with Ionic, Because of the User experience it provides is subpar. Flutter is most promising, Can be easily used to develop great user experience in no time. React native is also good, but it's phasing out in my opinion, while Ionic has already phased out.
Flutter also provides great developer experience, resulting in fast and productive developers. I would have to press hard to think of a CON about flutter when recommending it for your needs.
Flutter is built on DART which is written in GO. GO compiles to binary. Hence is faster than any java based framework. It provides superior performance and has a simplified UI process for designing apps.
Even if React Native is older (I didn't say mature) you should go for Flutter, It's works really well and the developer experience is great (auto-completion, plugin etc). I spent years with React Native and now I am using Flutter and I don't regret It. Even if you have to learn a new language, It's pretty simple even more If you know some OOP, Java and Javascript ES6 syntax in some case. One other advantage is the facility to design app in Flutter, you have widgets for everything and you can adapt any design made by your designer. For example you can't make a simple custom box shadow with React-Native ...
I donât have practical experience with flutter but between ionic and react native Iâd say both a perfectly viable options and we have used both for a number of production apps. We normally go with ionic on capacitor because we build a lot of pwa/web apps so we can use the same code for all. We donât use much of ionic elements, we do most styles on our own.
The comments that the user experience is bad I cannot agree with. A well designed and developed ionic apo can hardly be distinguished from a native app. But obviously that depends also on the usecase and type of app.
It depends also on your team skills. Flutter is fast to learn, fast to develop with and the performance is much better in comparison to React. If your team is already highly skilled in React Native it could be the better option - if not Flutter is my 100% recommendation. We rapidly prototype and deliver MVPs with Flutter since two years.
Simple datepickers are cumbersome. For such a simple data input, I feel like it takes far too much effort. Ideally, the native input[type="date"] would just work like it does on FF and Chrome, but Safari and Edge don't handle it properly. So I'm left either having a diverging experience based on the browser or I need to choose a library to implement a datepicker since users aren't good at inputing formatted strings.
How do you recommend going about handling date and time inputs? And then there's always moment.js, but I've observed some users getting stuck when presented with a blank text field. I'm curious to hear what's worked well for people...
In my view, the upside of React is you're likely to find more existing, robust design systems (e.g. sets of components containing anything from buttons to datepickers) in the React ecosystem than Vue. UI frameworks aside, momentjs comes in when you want operate on the date(times) you get back from whatever datepicker you choose (e.g. date formatting, date match).
It was easier to find people who've worked on React than Vue. Angular did not have this problem, but seemed way too bloated compared to React. Angular also brings in restrictions working within their MVC framework. React on the other hand only handles the view/rendering part and rest of the control is left to the developers.
React has a very active community, support and has lots of ready-to-use plugins/libraries available.
It is a very versatile library that provides great development speed. Although, with a bad organization, maintaining projects can be a disaster. With a good architecture, this does not happen.
Angular is obviously powerful and robust. I do not rule it out for any future application, in fact with the arrival of micro frontends and cross-functional teams I think it could be useful. However, if I have to build a stack from scratch again, I'm left with react.
You may learn java,kotlin for android development.
2.Swift or objective c for ios development.
3.php,python, or anything else for Web development including javascript.
For desktop development you may learn c# or something like this.
And JavaScript is playing a crucial part in entire data science workflow
etc etc
Let's Come to the point ..
There are React,Vue,Anguar or node etc for Web Development.
There is React Native for Android/ios development.
Electron for Desktop development.
All those technologies are based on javascript.
Your single programming language knowledge makes you boom...
Are you going to be love Javascript?
it obviously makes you crazy than your thinking!!
Working on a new SaaS web/mobile app and ended up with React as our choice of Frontend JavaScript framework for SPA web version with React Native for iOS, Android, Windows clients.
The key takeaways:
Both frameworks can do the job quite well for us. This might be true for the majority of utility web apps being built out there as well, so there was no "wrong" decision here.
Vue is often cited as easier to learn and code on. But only in case your engineers never worked with either Vue or React and start learning them from scratch. In our case, we knew we'll be hiring engineers who already have experience in the framework we'll select - so it was not a big argument for Vue.
We're building our engineering team in Ukraine and realised we have 3(!) times more engineers with React experience on the market than having Vue experience.
Mobile - React Native, despite being a different framework, still shares a lot with React and it's just easier for React developers to start using React Native in days.
The strongest points for our decision:
React community is larger, means more/faster answers to your questions and existing components.
Way more experienced React engineers on the market.
React + React Native is a great combo if you're building web and mobile clients of the same app.
I used React not just because it is more popular than Angular. But the declarative and composition it gives out of the box is fascinating and React.js is just a very small UI library and you can build anything on top of it.
Composing components is the strongest asset of React for me as it can breakdown your application into smaller pieces which makes it easy to reuse and scale.
We built the first version of our app with RN and it turned out a mess in a while. A lot of bugs along with poor performance out of the box for a fairly large app. Many things, that native platform has, cannot be done with existing solutions for RN. For instance, large titles on iOS are not fully implemented in any of existing navigations libraries. Also there's painfully slow JSON bridge and many other small, yet annoying things. On the other hand Flutter became a really powerful and easy-to-use tool. A bit of a learning curve, of course, because of Dart, but it worth learning. Flutter offers TONS of built-in features, no JSON-bridge, AOT compilation for iOS.
Svelte is everything a developer could ever want for flexible, scalable frontend development. I feel like React has reached a maturity level where there needs to be new syntactic sugar added (I'm looking at you, hooks!). I love how Svelte sets out to rebuild a new language to write interfaces in from the ground up.
ESLint, TSLint and Prettier for coding style and code analyzes
Jest as testing framework
Google Fonts and Font Awesome for typography and icon toolkit
NativeScript-Vue for mobile development
The main reason we have chosen Vue.js over React and AngularJS is related to the following artifacts:
Empowered HTML. Vue.js has many similar approaches with Angular. This helps to optimize HTML blocks handling with the use of different components.
Detailed documentation. Vue.js has very good documentation which can fasten learning curve for developers.
Adaptability. It provides a rapid switching period from other frameworks. It has similarities with Angular and React in terms of design and architecture.
Awesome integration. Vue.js can be used for both building single-page applications and more difficult web interfaces of apps. Smaller interactive parts can be easily integrated into the existing infrastructure with no negative effect on the entire system.
Large scaling. Vue.js can help to develop pretty large reusable templates.
Tiny size. Vue.js weights around 20KB keeping its speed and flexibility. It allows reaching much better performance in comparison to other frameworks.
The project is a web gadget previously made using vanilla script and JQuery, It is a part of the "Quicktext" platform and offers an in-app live & customizable messaging widget.
We made that remake with React eco-system and Typescript and we're so far happy with results. We gained tons of TS features, React scaling & re-usabilities capabilities and much more!
Closer to standard JavaScript and HTML than others
5
Easy as Lego
5
Functional
5
Excellent Documentation
5
Props
5
Awesome
5
Hooks
5
Easy to start
4
Scales super well
4
Allows creating single page applications
4
Sdfsdfsdf
4
Start simple
4
Strong Community
4
Super easy
4
Server side views
4
Fancy third party tools
3
Rich ecosystem
3
Has arrow functions
3
Very gentle learning curve
3
Beautiful and Neat Component Management
3
Just the View of MVC
3
Simple, easy to reason about and makes you productive
3
Fast evolving
3
SSR
3
Great migration pathway for older systems
3
Simple
3
Has functional components
3
Every decision architecture wise makes sense
2
Sharable
2
Permissively-licensed
2
HTML-like
2
Image upload
2
Recharts
2
Fragments
2
Split your UI into components with one true state
1
React hooks
1
Datatables
Pros of React Native
214
Learn once write everywhere
174
Cross platform
169
Javascript
122
Native ios components
69
Built by facebook
66
Easy to learn
46
Bridges me into ios development
40
It's just react
39
No compile
36
Declarative
22
Fast
13
Virtual Dom
12
Insanely fast develop / test cycle
12
Livereload
11
Great community
9
It is free and open source
9
Native android components
9
Easy setup
9
Backed by Facebook
7
Highly customizable
7
Scalable
6
Awesome
6
Everything component
6
Great errors
6
Win win solution of hybrid app
5
Not dependent on anything such as Angular
5
Simple
4
Awesome, easy starting from scratch
4
OTA update
3
As good as Native without any performance concerns
3
Easy to use
2
Many salary
2
Can be incrementally added to existing native apps
2
Hot reload
2
Over the air update (Flutter lacks)
2
'It's just react'
2
Web development meets Mobile development
1
Ngon
Sign up to add or upvote prosMake informed product decisions
Cons of React
Cons of React Native
Cons of React
41
Requires discipline to keep architecture organized
30
No predefined way to structure your app
29
Need to be familiar with lots of third party packages
13
JSX
10
Not enterprise friendly
6
One-way binding only
3
State consistency with backend neglected
3
Bad Documentation
2
Error boundary is needed
2
Paradigms change too fast
Cons of React Native
23
Javascript
19
Built by facebook
12
Cant use CSS
4
30 FPS Limit
2
Slow
2
Generate large apk even for a simple app
2
Some compenents not truly native
Sign up to add or upvote consMake informed product decisions
What is React?
Lots of people use React as the V in MVC. Since React makes no assumptions about the rest of your technology stack, it's easy to try it out on a small feature in an existing project.
What is React Native?
React Native enables you to build world-class application experiences on native platforms using a consistent developer experience based on JavaScript and React. The focus of React Native is on developer efficiency across all the platforms you care about - learn once, write anywhere. Facebook uses React Native in multiple production apps and will continue investing in React Native.
Need advice about which tool to choose?Ask the StackShare community!
Jobs that mention React and React Native as a desired skillset
What are some alternatives to React and React Native?
Angular
It is a TypeScript-based open-source web application framework. It is a development platform for building mobile and desktop web applications.
Vue.js
It is a library for building interactive web interfaces. It provides data-reactive components with a simple and flexible API.
Ember.js
A JavaScript framework that does all of the heavy lifting that you'd normally have to do by hand. There are tasks that are common to every web app; It does those things for you, so you can focus on building killer features and UI.
NativeScript
NativeScript enables developers to build native apps for iOS, Android and Windows Universal while sharing the application code across the platforms. When building the application UI, developers use our libraries, which abstract the differences between the native platforms.
jQuery
jQuery is a cross-platform JavaScript library designed to simplify the client-side scripting of HTML.