React.js와 React-Native의 차이

2022. 6. 27. 05:48·Framework | Library/Framework | Library
728x90

React

: 페이스북에서 만든 프론트엔드 JavaScript 라이브러리다.

React-Native

: React의 방식으로 네이티브 앱을 개발할 수 있는 페이스북의 오픈 소스 프레임워크다.

 

React와 React-Native의 동작

React 

: React는 Dom이 생성이 되고 난 뒤에 Virtual Dom 을 이용하여 변화된 곳을 캐치하여 변화된 Dom으로 변경한다.

React-Native

: React Native 코드를 실행하게 되면 Bridge를 이용하여 ios, android 각각의 네이티브 언어에 접근 할 수 있게 한다.

동작

React와 React Native 차이점

1. 화면 출력을 React 는 ReactDom을 사용하지만 React Native는 AppRegistry 사용한다.

React

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';

ReactDOM.render(<App />, document.getElementById('root'));

React Native

import { AppRegistry } from 'react-native';
import App from './App';
import { name as appName } from './app.json';


AppRegistry.registerComponent(appName, () => App);

 

2. 두개 다 JSX 문법을 사용하지만 React는 HTML문법을 사용하고 React Native는 HTML 문법을 사용하지 않는다.

React

import React from 'react';

class HelloMessage extends React.Component {
  render() {
    return (
      <div>
        <h1>React</h1>
        Hello React!
      </div>
    );
  }
}

React-Native

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

class HelloMessage extends React.Component {
  render() {
    return (
      <View>
        <Text>React-Native   Hello React-Native!</Text>
      </View>

 

3. React-Native는 기존의 CSS를 지원하지 않는다.

flexbox를 이용한 레이아웃 제작을 제공한다.

React-Native Style

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

class Card extends Component {
 render(){
      return (
        <View style={styles.Card}>
          <View style={styles.Card_title} />
          <View style={styles.Card_details} />
        </View>
    )}
}

const styles = StyleSheet.create({
  Card: {
    flex: 1,
  },
  Card_title: {
    flex: 0.5,
    backgroundColor: 'blue',
  },
  Card_details: {
    flex: 8,
    backgroundColor: 'green',
  }
})

export default Card;

위 코드의 결과 화면

'Framework | Library > Framework | Library' 카테고리의 다른 글

[Spring] AOP(Aspect Oriented Programming), 스프링 AOP  (0) 2022.11.30
프레임워크와 라이브러리의 차이점  (0) 2022.06.27
'Framework | Library/Framework | Library' 카테고리의 다른 글
  • [Spring] AOP(Aspect Oriented Programming), 스프링 AOP
  • 프레임워크와 라이브러리의 차이점
arajo
arajo
  • arajo
    아라 메모장
    arajo
  • 전체
    오늘
    어제
    • 분류 전체보기 (509)
      • Language (298)
        • HTML (55)
        • CSS (11)
        • JavaScript (70)
        • TypeScript (8)
        • Python (33)
        • Java (119)
        • C (0)
        • C# (2)
      • Programming (92)
        • Programming (14)
        • Web (51)
        • Apache (1)
        • MySQL (23)
        • AWS (3)
      • Framework | Library (26)
        • Framework | Library (3)
        • Vue.js (2)
        • React.js (5)
        • React Native (4)
        • Node.js (1)
        • Ajax (1)
        • Bootstrap (8)
        • Spring (1)
        • Flutter (1)
      • etc (2)
      • 휴식 (19)
        • 책 (13)
        • 일기 (5)
        • 게임 일기 (1)
      • A (71)
        • 공부 (18)
        • 기타 (6)
        • 일 (47)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    객체
    event
    web
    react
    object
    Java
    CSS
    자바스크립트
    제어문
    JavaScript
    MySQL
    리액트
    TypeScript
    array
    변수
    HTML
    타입스크립트
    next.js
    파이썬
    Python
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
arajo
React.js와 React-Native의 차이
상단으로

티스토리툴바