reactNative

17416 단어 ReactJavaScript

reactNative



React Native


React는 페이스북이 개발한 JavaScript 프레임워크로 React Native는 이동에 사용됩니다.
React Native를 사용하면 로컬로 그려진 iOS와 Android 응용 프로그램을 만들 수 있습니다.하나의 코드로 두 플랫폼에서 이동할 수 있는 물건을 만들 수 있다.그리고 자바와 Objective-C의 라이브러리를 직접 써서 React Native 자체를 확장할 수도 있다.웹에서 React를 사용하는 경우 이동을 대신하는 것이 목표이기 때문에 간단하게 사용할 수 있습니다.
React와 마찬가지로 React Native도 JavaScript와 JSX(왠지 Html 스타일로 쓸 수 있을 것 같은 JavaScript의 확장 문법)라고 불리는 XML like 태그를 사용하여 기술한다.내부적으로는 이 컴퓨터의 렌더링 API를 호출하기 때문에 WebView가 아니라 좋은 모바일 UI 구성 요소를 묘사합니다.물론 플랫폼 기능인 카메라와 위치 정보도 이용할 수 있다.
※ 참조
https://qiita.com/kyrieleison/items/78b3295ff3f37969ab50

React Native의 여기는 대단합니다.


크로스플랫폼 개발 방법(Cordova와 Ionic)을 강조하는 다른 많은 방법과 달리 웹뷰가 아닌 로컬로 묘사하는 것이 큰 장점이다.
이러한 개발 방법은 로컬 표현(UI/UX)을 재현하기 위해 많은 노력을 기울였지만 완전한 재현이 이루어지지 않아 최첨단보다 한 걸음 늦은 표현(UI/UX)이 되었다.또 공연도 좋지 않다.
한편, React Native에서 로컬 UI를 사용하고, 메인 UI 라인과 분리되어 이동하기 때문에 성능도 매우 높게 유지됩니다.
React Native의 업데이트 주기는 React와 같습니다.props와state가 바뀔 때 보기를 다시 묘사합니다.
개발 방법은 거의 React와 같기 때문에 React를 사용한 사람에게는 학습 원가가 낮은 것도 크다.마찬가지로 개발 구성원도 쉽게 모인다.또 다음과 같이 일반적인 모바일 개발에 비해 쉽게 개발할 수 있는 것도 큰 요점이다.

목록 및 단점


React Native의 가장 큰 위험은 React Native가 아직 발전 단계에 있다는 것이다.2015년 3월에는 iOS용으로 출시됐고 같은 해 9월에는 안드로이드로 대응했다.
인터넷에 정보가 많다고 할 수도 없고 문서도 정리되지 않은 부분도 있다.하지만 부족한 API는 스스로 만들 수 있기 때문에 완전한'막힘'이 되지는 않겠죠.
reat Native가 아직 성숙하지 않아서, 일부 기업들은 이것에 대해 망설이고 있다
https://project.nikkeibp.co.jp/idg/atcl/idg/14/481709/082000458/

React Native 학습 비용


React Native는 Facebook을 중심으로 개발된 로컬 응용 프로그램의 프레임워크입니다.웹 기술, 지식, HTML, CSS, 자바스크립트, React 등을 사용하여 iOS, 안드로이드 응용 프로그램을 개발할 수 있는 것이 특징이다.
또한React의 사상에는'Learn once, Write anywhere'가 있고'한 번 배워서 어디든지 쓸 수 있다'는 뜻이 있으며 인터넷에서 React를 터치하면 React Native를 사용하여 로컬 응용 프로그램을 개발할 수 있다.
즉, 인터넷 개발 경험이 있는 사람이라면 그 전에 학습 원가가 높지 않은 것도 특징이다

React Native의 실제 배포


더 간단한 것은 React Native입니까 아니면 iOS/Android입니까?


Java, Objective-C, Swift에 비해 JavaScript는 학습과 디버깅이 쉽습니다.하지만 이런 간편함에도 단점이 있다.JavaScript는 튼튼한 언어가 아니기 때문에 코드에 많은 오류가 숨겨져 있어도 알아차리기 어렵다.
다른 한편, Objective-C/Swift/Java는 튼튼한 언어로 구조는'컴파일할 때의 유형 검사'로 코드가 실행되기 전에 많은 잠재적인 오류를 제거할 수 있다.
비록 Swift는 분명히 매우 유행하는 언어이지만 Objective-C와 자바도 끊임없이 현대화되고 있으며 현대 언어가 요구하는 기능성과 성능 면에서도 절대 부족하다.하지만 구글이 검색해 보면 자바스크립트에 여러 가지 결함이 있다는 것을 알 수 있다.
따라서 React Native 학습 자체는 더욱 간단합니다.
그러나 JavaScript 결함이 발생할 수 있습니다.또한 크로스플랫폼 프레임워크를 사용할 때 이른바'한 번 쓰면 곳곳에서 디버깅이 필요하다'는 문제를 반드시 처리해야 한다.

뭐 공부 해요?


만약 당신이 응용 프로그램을 개발하고 언젠가 응용 프로그램 개발자의 일을 찾을 수 있기를 원한다면, 여러 가지 이유로 iOS나 안드로이드의 로컬 언어를 강력히 추천합니다.
또한 React Native를 배울 수도 있습니다.이것은 재미있는 기술이지만, 몇 가지 경고가 있다.
  • 모든 개발자는 강한 유형, 컴파일러형, 대상을 대상으로 하는 언어를 파악해야 한다.그리고 자바/Objective-C/Swift는 모두 이것에 가장 적합한 선택이다.네가 원하든 원하지 않든 어쨌든 자바스크립트는 배워야 한다
  • React Native는 애플이나 구글의 공식 지원을 받지 않습니다.운영체제와 안드로이드가 새로운 공고를 내도 React Native가 완전히 실행되지 않을 수 있다는 뜻이다.예를 들어 라디오에 iOS10iMessage 응용 프로그램의 새로운 기능을 추가했을 때,React Native는 이런 응용 프로그램 코드를 쓰는 방법이 없다고 생각합니다.이런 상황에서 iOS의 로컬 응용 프로그램 개발 방법을 배울 필요가 있다.또 지금이라도 React Native를 이용해 Apple Watch 앱을 개발할 수 있을지 확신할 수는 없지만 로컬 개발을 배웠다면 아무런 문제가 없을 것이다
  • 셋째, 프로젝트의 수명을 고려해야 한다.페이스북의 Parse 서비스가 중단된 예를 생각해 보세요.현재 React Native는 잘 운영되고 있으며 일부 주요 회사들도 이를 지지하고 있다.그러나 한편으로는 React Native를 지원하지 않고, 다른 한편으로는 미래에도 iOS와 안드로이드를 장기적으로 지원할 것으로 예상되는 애플과 구글과 달리 페이스북과 다른 많은 기업에서는 React Native의 서비스를 계속 제공할 이유가 영원히 없을 것이다
  • 무슨 언어?


    ・div 및 span 등의 DOM 사용 불가
    ・DOM 대신 View, Text 등의 구성 요소로 사용
    · 텍스트를 처리할 때 "Text"입니다.용기로 간주
    ・ CSS를 사용할 수 없기 때문에 스타일 대신'CSS in JS식'으로
    샘플 ()
    import React, { Component } from 'react';
    import {
      AppRegistry,
      StyleSheet,
      Text,
      View
    } from 'react-native';
    
    export default class App extends Component {
      render() {
        return (
          <View style={styles.container}>
            <View style={[styles.base, styles.box1]}>
              <Text style={styles.text}>I am 2.</Text>
            </View>
    
            <View style={[styles.base, styles.box2]}>
              <Text style={styles.text}>I am 5.</Text>
            </View>
    
            <View style={[styles.base, styles.box3]}>
              <Text style={styles.text}>I am 1.</Text>
            </View>
          </View>
        );
      }
    }
    
    const styles = StyleSheet.create({
      container: {
        flex: 1,
      },
      text: {
        fontSize: 24,
        color: 'white',
      },
      base: {
        justifyContent: 'center',
        alignItems: 'center',
      },
      box1: {
        flex: 2,
        backgroundColor: 'black'
      },
      box2: {
        flex: 5,
        backgroundColor: 'red',
      },
      box3: {
        flex: 1,
        backgroundColor: 'yellow',
      },
    });
    
    AppRegistry.registerComponent('Native', () => App);
    

    /입력 항목 있음
    
    import React, { Component } from 'react';
    import {
      AppRegistry,
      StyleSheet,
      Text,
      View,
      TextInput,
    } from 'react-native';
    
    export default class App extends Component {
      constructor(props) {
        super(props);
        this.state = {
          text: '',
        }
      }
    
      _onChangeText = (text) => {
        this.setState({ text });
      }
    
      render() {
        const {
          text,
        } = this.state;
    
        return (
          <View style={styles.container}>
            <TextInput
              style={styles.input}
              onChangeText={this._onChangeText}
              underlineColorAndroid='transparent'
            />
            <Text>{text}</Text>
          </View>
        );
      }
    }
    
    const styles = StyleSheet.create({
      container: {
        flex: 1,
        alignItems: 'center',
        justifyContent: 'center',
      },
      input: {
        height: 30,
        width: 200,
        borderBottomWidth: 1,
        borderBottomColor: '#008080',
      }
    });
    
    AppRegistry.registerComponent('Native', () => App);
    
    

    마지막


    현지 개발이 아직 성숙하지 않은 기술은 날로 진보하는 활력 있는 기술이다
    android도 자바→kotlin이 공식 언어가 됐어요.
    ios도objective-c→swift로 바뀌었고 언어와 기술은 끊임없이 진화하고 있다
    현재 거의 모든 응용 프로그램은androidios에서 발표됩니다.
    만약 두 개의 단말기로 개발을 진행하면 기술자 부족, 작업 시간 부족, 금전 부족 등 많은 문제에 직면하게 될 것이다
    따라서 크로스플랫폼 기술도 끊임없이 진화하고 있다
    이번에 소개한 React Native 이외에도 kotlin native 등 유사한 기술이 있습니다.
    앞으로도 자신의 가치를 높이기 위해서 끊임없이 이런 기술을 채택해야 한다

    좋은 웹페이지 즐겨찾기