Bird
Raised Fist0
React Nativemobile~20 mins

React Native vs Flutter comparison - Practice Questions

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Mobile Frameworks Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
1:00remaining
Which framework uses Dart language?
Both React Native and Flutter are popular for mobile app development. Which one uses Dart as its programming language?
ANeither React Native nor Flutter
BBoth React Native and Flutter
CReact Native
DFlutter
Attempts:
2 left
💡 Hint
Think about which framework was created by Google and uses a less common language.
❓ ui_behavior
intermediate
1:30remaining
Which framework uses native UI components by default?
React Native and Flutter both create mobile apps. Which one uses native UI components of the platform by default?
AReact Native uses native UI components by default
BFlutter uses native UI components by default
CBoth use native UI components by default
DNeither uses native UI components by default
Attempts:
2 left
💡 Hint
One framework renders its own UI widgets instead of using platform widgets.
❓ lifecycle
advanced
2:00remaining
How does hot reload differ between React Native and Flutter?
Both React Native and Flutter support hot reload. Which statement best describes the difference in their hot reload behavior?
AFlutter's hot reload updates UI instantly without losing state; React Native reloads entire app losing state
BReact Native's hot reload updates UI instantly without losing state; Flutter reloads entire app losing state
CBoth frameworks reload the entire app losing state during hot reload
DBoth frameworks update UI instantly without losing state during hot reload
Attempts:
2 left
💡 Hint
Consider which framework is known for very fast UI updates preserving app state.
❓ navigation
advanced
1:30remaining
Which framework requires third-party libraries for navigation?
In mobile app development, navigation between screens is essential. Which framework requires third-party libraries for navigation?
ANeither React Native nor Flutter support navigation
BReact Native requires third-party libraries for navigation
CBoth React Native and Flutter have built-in navigation without third-party libraries
DFlutter requires third-party libraries for navigation
Attempts:
2 left
💡 Hint
One framework has a built-in navigation system, the other relies on external packages.
🔧 Debug
expert
2:00remaining
What error occurs if you try to use a Flutter widget in React Native code?
Imagine you accidentally try to use a Flutter widget like Container inside React Native JavaScript code. What error will you get?
ASyntaxError: Unexpected token <
BTypeError: Container is not a function
CReferenceError: Container is not defined
DNo error, it works fine
Attempts:
2 left
💡 Hint
Think about what happens when you use an unknown component in JavaScript.

Practice

(1/5)
1. Which language does React Native primarily use for building apps?
easy
A. Kotlin
B. Dart
C. JavaScript and JSX
D. Swift

Solution

  1. Step 1: Identify React Native's programming language

    React Native uses JavaScript along with JSX syntax to build UI components.
  2. Step 2: Compare with other options

    Dart is used by Flutter, Swift and Kotlin are native languages for iOS and Android respectively.
  3. Final Answer:

    JavaScript and JSX -> Option C
  4. Quick Check:

    React Native = JavaScript and JSX [OK]
Hint: React Native uses JavaScript, Flutter uses Dart [OK]
Common Mistakes:
  • Confusing Flutter's Dart with React Native's JavaScript
  • Thinking React Native uses native languages like Swift
  • Assuming JSX is a separate language
2. Which of the following is the correct way to create a button in Flutter?
easy
A. <TouchableOpacity>Click</TouchableOpacity>
B. Button(title: 'Click')
C. <Button title='Click' />
D. ElevatedButton(onPressed: () {}, child: Text('Click'))

Solution

  1. Step 1: Understand Flutter widget syntax

    Flutter uses Dart and widgets like ElevatedButton with named parameters.
  2. Step 2: Identify correct button syntax

    ElevatedButton(onPressed: () {}, child: Text('Click')) uses ElevatedButton with onPressed callback and child Text widget, which is correct.
  3. Final Answer:

    ElevatedButton(onPressed: () {}, child: Text('Click')) -> Option D
  4. Quick Check:

    Flutter buttons use widgets with callbacks [OK]
Hint: Flutter buttons use widgets with onPressed callback [OK]
Common Mistakes:
  • Using JSX or HTML-like syntax in Flutter
  • Omitting onPressed callback in Flutter button
  • Confusing React Native TouchableOpacity with Flutter widgets
3. What will be the output of this React Native code snippet?
import React from 'react';
import { Text, View } from 'react-native';

export default function App() {
  return (
    
      Hello from React Native!
    
  );
}
medium
A. A screen displaying the text: Hello from React Native!
B. A blank screen with no text
C. Syntax error due to missing import
D. App crashes on launch

Solution

  1. Step 1: Analyze the React Native component

    The component returns a View containing a Text element with the string 'Hello from React Native!'.
  2. Step 2: Understand rendering behavior

    React Native renders the View and Text properly, so the text will appear on screen.
  3. Final Answer:

    A screen displaying the text: Hello from React Native! -> Option A
  4. Quick Check:

    React Native renders JSX as UI [OK]
Hint: React Native JSX renders UI elements directly [OK]
Common Mistakes:
  • Thinking View or Text won't render without styles
  • Assuming missing styles cause crash
  • Confusing React Native with web React
4. Identify the error in this Flutter code snippet:
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Text('Hello Flutter'),
      ),
    );
  }
}
medium
A. Missing @override annotation before build method
B. build method should return a Widget but returns void
C. Missing const keyword before MaterialApp
D. build method lacks override keyword and is missing @override

Solution

  1. Step 1: Check Flutter build method requirements

    In Flutter, the build method should have the @override annotation to indicate it overrides a superclass method.
  2. Step 2: Identify missing annotation

    The code lacks the @override annotation before the build method, which is a recommended practice to avoid errors.
  3. Final Answer:

    Missing @override annotation before build method -> Option A
  4. Quick Check:

    Flutter build methods need @override annotation [OK]
Hint: Always add @override before build in Flutter widgets [OK]
Common Mistakes:
  • Ignoring missing @override annotation warnings
  • Confusing const keyword necessity
  • Thinking build returns void instead of Widget
5. You want to build a mobile app with highly customized UI components and smooth animations. Which framework is generally better suited for this need?
hard
A. React Native, because it uses native UI components by default
B. Flutter, because it offers more control over custom UI and animations
C. React Native, because it compiles to native ARM code
D. Flutter, because it uses JavaScript and JSX for UI

Solution

  1. Step 1: Understand UI customization capabilities

    Flutter renders its own widgets and provides extensive control over UI and animations, allowing highly customized designs.
  2. Step 2: Compare with React Native's approach

    React Native uses native UI components, which can limit deep customization and complex animations compared to Flutter.
  3. Final Answer:

    Flutter, because it offers more control over custom UI and animations -> Option B
  4. Quick Check:

    Flutter = better custom UI and animations [OK]
Hint: Flutter excels in custom UI and animations [OK]
Common Mistakes:
  • Assuming React Native compiles to native ARM code
  • Confusing Flutter's language as JavaScript
  • Thinking native UI always means better customization
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard