Need advice about which tool to choose?Ask the StackShare community!

Django REST framework

1.9K
2K
+ 1
310
React Native

33.6K
29K
+ 1
1.2K
Add tool

Django REST framework vs React Native: What are the differences?

Introduction

In the world of web and mobile development, two popular frameworks frequently used are Django REST framework and React Native. While Django REST framework is a powerful tool for creating APIs using the Python programming language, React Native is a cross-platform framework used for building mobile applications using JavaScript. Here, we will explore the key differences between these two frameworks.

  1. Development Language: The primary difference lies in the languages used for development. Django REST framework utilizes Python, a powerful and versatile programming language. On the other hand, React Native employs JavaScript, a popular language for web development. This distinction impacts the overall development process, syntax, and ecosystem.

  2. Target Platforms: Django REST framework primarily focuses on building web APIs and server-side applications. It is highly suitable for creating backend services, performing data manipulation tasks, and integrating with other web technologies. React Native, however, is designed specifically for building mobile applications. It allows developers to create native-like mobile apps for both iOS and Android platforms from a single codebase, offering better code reusability.

  3. User Interface Components: Django REST framework mainly concentrates on the backend, providing a solid foundation for managing data and server-side functionality. It doesn't offer pre-built user interface components out of the box. In contrast, React Native provides a rich set of ready-to-use UI components for building beautiful and interactive mobile user interfaces. This feature helps speed up the mobile app development process as developers do not have to create UI elements from scratch.

  4. Deployment: The deployment process also differs between the two frameworks. Django REST framework applications are typically deployed on a web server, using technologies like Apache or Nginx, since it focuses on web APIs and server-side functionality. React Native applications, on the other hand, are packaged and deployed as mobile apps through App Stores (e.g., Apple App Store and Google Play Store). This difference in deployment targets affects the way applications are distributed and updated.

  5. Learning Curve: The learning curve can vary depending on the developer's prior experience and familiarity with the respective languages and frameworks. Django REST framework may require a steeper learning curve for individuals who are new to Python or web development concepts. React Native, especially for developers familiar with JavaScript or web technologies, generally has a smoother learning curve due to its similarities with web development frameworks like React.

  6. Community and Ecosystem: Django REST framework benefits from a vibrant community and a well-established ecosystem of libraries and plugins built specifically for web development and API creation. Additionally, Python as a language offers extensive documentation, support, and resources. React Native, being a popular framework backed by Facebook, also enjoys a large community with numerous third-party libraries and packages available for various functionalities, making it easy to find solutions and resources when needed.

In Summary, Django REST framework and React Native differ in terms of development language, target platforms, user interface components, deployment methods, learning curve, and ecosystem support. Understanding these key differences can help developers choose the right framework based on their project requirements and goals.

Advice on Django REST framework and React Native
kristan-dev
Senior Solutions Analyst · | 8 upvotes · 371.5K views

My journey to developing REST APIs started with Flask Restful, and I've found it to be enough for the needs of my project back then. Now that I've started investing more time on personal projects, I've yet to decide if I should move to use Django for writing REST APIs. I often see job posts looking for Python+Django developers, but it's usually for full-stack developers. I'm primarily interested in Data Engineering, so most of my web projects are back end.

Should I continue with what I know (Flask) or move on to Django?

See more
Replies (1)
Rafael Torres
Technical Lead at 4Agile · | 9 upvotes · 361.6K views

If you want to be a Web developer with knowledge in another frontend and NoSql technology, maybe continue with Flask. However, if you want to create very fast solutions to grow up with a new business and merge these with data analysis and other tools, Django is the answer. Basically read more about the service architecture where you feel more comfortable, Microservice or Monolithic, but please will not married with any because they solve issues to different contexts.

See more
Nikhilesh Goyal
Senior Embedded Engineer at GreyOrange · | 5 upvotes · 495.2K views
Needs advice
on
FlutterFlutterReact NativeReact Native
and
UnityUnity

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.

See more
Replies (3)
Sahil Singh
Product Manager at AutoVRse · | 10 upvotes · 450.4K views
Recommends
on
UnityUnity

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#

See more
Recommends
on
UnityUnity

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.

See more
Mathieu Grenier
Recommends
on
UnityUnity

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!

See more
Needs advice
on
ExpoExpoReact NativeReact Native
and
ReduxRedux
in

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.

#newbie

See more
Replies (1)
Javier Silva Ortíz
Senior Full Stack Developer at Aleph Engineering · | 6 upvotes · 308.7K views
Recommends
on
ReduxRedux

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.

See more
Needs advice
on
React NativeReact Native
and
Vue NativeVue Native

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!!!

See more
Replies (1)
Barry Hylton
Recommends
on
Vue NativeVue Native

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.

See more
Needs advice
on
FlutterFlutter
and
React NativeReact Native

Hi, I'm a web dev and am using Electron for a desktop app. Now I have to develop a mobile app with the following features:

  • Posting/uploading files by users, private messaging between users, download files, moderation of the uploads, push notification of new posts.
  • Mods can ban users and delete files.
  • Share buttons from the library folder of the user phone.
  • When a user uploads a photo, a pencil tool for deleting staff on the pic.

Which tool is better for such a project?

Thanks in advance

See more
Replies (2)
Lee Dydo
Technology Development Manager at Outform · | 5 upvotes · 399K views
Recommends
on
React NativeReact Native

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.

See more
Varun Sharma
CTO at Nugen Computer & I.T. Services · | 5 upvotes · 399K views
Recommends
on
React NativeReact Native

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.

See more
Saurav Pandit
Application Devloper at Bny Mellon · | 6 upvotes · 316.7K views

I have just started learning Python 3 weeks ago. I want to create a REST API using python. The API will be used to save form data in an Oracle database. The front end is using AngularJS 8 with Angular Material. In python, there are so many frameworks to develop REST APIs.

I am looking for some suggestions which REST framework to choose?

Here are some features I am looking for:

  • Easy integration and unit testing, like in Angular. We just want to run a command.

  • Code packaging, like in java maven project we can build and package. I am looking for something which I can push in as an artifact and deploy whole code as a package.

  • Support for swagger/ OpenAPI

  • Support for JSON Web Token

  • Support for test case coverage report

Framework can have features included or can be available by extension. Also, you can suggest a framework other than the ones I have mentioned.

See more
Replies (1)
Recommends
on
FlaskFlask
at

For starters flask provides a beautiful and easy way to create REST APIs. Also its supported by excellent beginner docs as well as a very active community. Another good thing with Flask is its widely available list of plugins which allow you to build as you go. Its also good in performance and can scale to a quite decent level. However, if you are sure your project is going to be fairly big, it would be better to start with Django as it provides a lot of features out of the box and is extremely stable in performance. Both these frameworks have support for Swagger, JWT, Coverage Report although you have to install plugins for them. Deploying both of these are fairly simple and there is huge documentation available. Django has one of the best documentations I have come across. I hope I was able to answer your queries.

See more
Needs advice
on
FlutterFlutterIonicIonic
and
React NativeReact Native

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!

See more
Replies (6)
Ahmad Khan
Recommends
on
FlutterFlutter

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.

See more
Dario Alves
Arquiteto de Software at Senior sistemas · | 2 upvotes · 519.6K views
Recommends
on
React NativeReact Native

Maturity, Community, Facility, Libs React Native is the principal platform of mobile cross-platform development today, Flutter is it's a promise.

See more
Nicolas Kovacs
Recommends
on
FlutterFlutter

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 ...

See more
Recommends
on
FlutterFlutter

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.

See more
Recommends
on
IonicIonic
at

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.

I hope this helps

See more
Kevin Lücke
Recommends
on
FlutterFlutter

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.

See more
Decisions about Django REST framework and React Native
Shiqi Lin
Software Developer at BigClarity · | 3 upvotes · 226.2K views

We will use Django to set up our backend and Django REST Framework (DRF) for our API creation. The easiness of performing development tasks (eg. user authentication, URL routing, and schema migration) attracts our attention. Also, Django with PostgreSQL provides many benefits: 1. Some data types in Django will only work with PostgreSQL; 2. Django offers django.contrib.postgres to operate on PostgreSQL; 3. Django supports many features of PostgreSQL. Moreover, Django is compatible with Redis.

See more
Thuan Nguyen
FE Lead at SOLID ENGINEER · | 5 upvotes · 645K views
  • Javascripts is the most populated language in the world.
  • Easy to learn & deployed production
  • Fast development
  • Strong community
  • Completed Documents
  • Native performance with lower RAM used.
  • Easy to handle native issues by using native code like Java / Objective C
  • Powered by Facebook.
See more
Nick Skriabin

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.

See more
Aleksandr Filatov
Contract Software Engineer - Microsoft · | 2 upvotes · 413.4K views

I've done some Hybrid Mobile apps with both technologies Apache Cordova and React Native and described my experience in my blog.

In a few words, I would suggest to use each technology in accordance what what is your current code base and what do you want to achieve.

React Native is a great option if you need that extra edge in performance with multi-threading and native UI rendering. Or you already have a web app based on React which you want to port to mobile.

On the other hand, if you have an existing web application code and you want to reuse some or all, including the ability to use web third-party libraries, then Cordova is the best option.

See more
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of Django REST framework
Pros of React Native
  • 66
    Easy to use
  • 65
    Browsable api
  • 53
    Great documentation
  • 50
    Customizable
  • 42
    Fast development
  • 9
    Easy to use, customizable, pluggable, serializer
  • 8
    Python
  • 7
    Django ORM
  • 5
    FastSerialize
  • 3
    Less code
  • 2
    Easy implementation
  • 214
    Learn once write everywhere
  • 174
    Cross platform
  • 168
    Javascript
  • 122
    Native ios components
  • 69
    Built by facebook
  • 65
    Easy to learn
  • 45
    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 Django REST framework
Cons of React Native
  • 2
    Bad documentation
  • 2
    Reimplements Django functionality
  • 1
    No support for URL Namespaces
  • 0
    Bad CSRF handling
  • 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

- No public GitHub repository available -

What is Django REST framework?

It is a powerful and flexible toolkit that makes it easy to build Web APIs.

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!

What companies use Django REST framework?
What companies use React Native?
Manage your open source components, licenses, and vulnerabilities
Learn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with Django REST framework?
What tools integrate with React Native?

Sign up to get full access to all the tool integrationsMake informed product decisions

Blog Posts

GitHubPythonReact+42
49
40922
GitHubPythonNode.js+47
55
72769
PythonDjangoDjango REST framework+3
6
5700
What are some alternatives to Django REST framework and React Native?
Django
Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.
Flask
Flask is intended for getting started very quickly and was developed with best intentions in mind.
Tastypie
Tastypie is a webservice API framework for Django. It provides a convenient, yet powerful and highly customizable abstraction for creating REST-style interfaces.
Swagger UI
Swagger UI is a dependency-free collection of HTML, Javascript, and CSS assets that dynamically generate beautiful documentation and sandbox from a Swagger-compliant API
Graphene
Graphene is a Python library for building GraphQL schemas/types fast and easily.
See all alternatives