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를 배울 수도 있습니다.이것은 재미있는 기술이지만, 몇 가지 경고가 있다.
무슨 언어?
・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 등 유사한 기술이 있습니다.
앞으로도 자신의 가치를 높이기 위해서 끊임없이 이런 기술을 채택해야 한다
Reference
이 문제에 관하여(reactNative), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/channelfront/items/1c424ca12bbc7d578f5f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)