네이티브스크립트
NativeScript![]() | |
원본 작성자 | 진행률별 텔리크.[1] |
---|---|
개발자 | 커뮤니티 |
초기 릴리즈 | 2014 |
안정적 해제 | 8.2.2 / 2022년 4월 6일;[2] 전 |
리포지토리 | |
기록 위치 | JavaScript, TypeScript |
플랫폼 | 크로스 플랫폼 |
면허증 | 아파치 라이선스 2.0 |
웹사이트 | www |
네이티브스크립트는 애플 iOS와 안드로이드 플랫폼에서 모바일 앱을 개발하는 오픈소스 프레임워크다.그것은 원래 Progress에 의해 구상되고 개발되었다.[3]2019년[4] 말 NativeScript 프로젝트에 대한 책임은 장기간 진행 파트너인 nStudio에 의해 인수되었다.2020년 12월 nStudio는 또한 NativeScript가 인큐베이팅 프로젝트로서 OpenJS Foundation에 유치되는 것을 감독했다.[5]NativeScript 앱은 JavaScript를 사용하거나 TypeScript와 같이 JavaScript로 전송되는 프로그래밍 언어를 사용하여 구축된다.NativeScript는 각도[6] 및 Vue JavaScript 프레임워크를 지원한다.[7]NativeScript로 구축된 모바일 애플리케이션은 Xcode나 Android Studio에서 개발한 것과 동일한 API를 사용하는 완전 네이티브 앱을 만든다.[8]또한 소프트웨어 개발자는 포장지 없이도 모바일 애플리케이션에서 코코아팟, 메이븐 및 npm.js의 타사 라이브러리를 재사용할 수 있다.[9][10][11]
개발
NativeScript는 2015년 3월에 처음으로 공개되었다.버전 1.0.0은 두 달 후에 이어졌다.[12]이 프레임워크는 공개 직후 3000명의 기투브 스타들과 1500명 이상의 팔로워들에게 빠르게 인기를 얻었다.[13]그 동안 700개 이상의 플러그인을 사용할 수 있는데, 이 플러그인은 Progress에 의해 공식적으로 지원되거나 오픈 소스 커뮤니티에서 유래한다.[14][15]앵글의 사용은 웹 플랫폼과 모바일 플랫폼 간에 응용 프로그램 소스 코드를 공유할 수 있는 선택적 개발 접근방식이다.[16][17]
구조
NativeScript 및 모든 필수 플러그인은 패키지 관리자 npm을 사용하여 설치된다.프로젝트는 명령줄 또는 NativeScript Sidkick이라는 GUI 도구를 통해 생성, 구성 및 컴파일된다.[18]플랫폼 독립적인 사용자 인터페이스는 XML 파일을 사용하여 정의된다.그런 다음 NativeScript는 XML 파일에 설명된 추상화를 사용하여 각 플랫폼의 기본 UI 요소를 호출한다.Angle과 TypeScript에서 개발된 애플리케이션 로직도 대상 플랫폼과 독립적으로 개발할 수 있다.NativeScript 모바일 애플리케이션은 node.js 런타임과 툴링을 사용하여 구축된다.[19]Progress는 iOS와 Android 플랫폼 간의 90% 공통 코드 비율을 목표로 한다.[1]
기본 플랫폼 API 및 제어에 직접 액세스
플랫폼 독립적인 사용자 인터페이스는 XML 파일을 사용하여 정의된다.[20]NativeScript는 교차 플랫폼 추상화를 나타내는 XML 데이터 구조를 사용하여 대상 운영 체제의 네이티브 요소와 직접 상호작용하는 플랫폼별 코드를 트리거한다.즉, NativeScript Button API로 호출하면 버튼에 UI 추상화가 제공되며, 버튼은 iOS나 com.android에서 UIButton을 직접 호출한다.widget.Android의 버튼.[22]
애플리케이션 소스 코드는 JavaScript, TypeScript, Angular 또는 Vue.js로 작성되지만 소스 코드는 컴파일되지 않거나 다른 방식으로 변경된다.소스 코드는 장치에서 직접 실행된다.이 구조적인 선택은 교차 컴파일이나 전처리 필요성을 제거한다.[11]또한 애플리케이션 소스 코드는 브라우저(또는 WebView 포함 모바일 애플리케이션)에서 흔히 접하는 언어로 작성되지만 네이티브스크립트 애플리케이션은 네이티브 장치에서 직접 실행된다.DOM 조작이나 필수 브라우저 상호 작용은 없다.[6]
주목할 만한 특징
네이티브 API 반사
또 다른 주목할 만한 특징은 네이티브 API 엔드포인트를 처리하기 위해 반사를 사용하는 것이다.NativeScript와 각 모바일 플랫폼 API 사이에 별도의 바인딩 계층을 요구하기보다는 NativeScript는 반사를 사용하여 네이티브 플랫폼 API에 대한 정보와 메타데이터를 얻는다.모든 기본 플랫폼 API에 추가된 새로운 기능을 즉시 사용할 수 있다.[6]
반사 기능을 사용하는 또 다른 방법은 제3자 라이브러리와 함께 작업하는 것이다.자바스크립트(또는 TypeScript/Gangular)는 네이티브 코드와 직접 대화할 수 있으므로, 목표-C, 스위프트, 자바 또는 코틀린에 바인딩 레이어를 작성할 필요가 없다.[11][23]
각도 통합
NativeScript 2.0이 출시됨에 따라, 교차 플랫폼 모바일 애플리케이션 구축에 Angle을 사용할 수 있게 되었다.[24]또한 NativeScript와 함께 Angular를 사용할 경우 웹과 모바일 앱 간에 많은 양의 코드를 공유할 수 있다.[25]
Vue.js 통합
Vue.js 프레임워크는 NativeScript에서 NativeScript-vue 플러그인을 통해 지원된다.[7]
지원 툴 및 서비스
- NativeScript Sidekick은 NativeScript CLI가 제공하는 기능을 기반으로 하는 그래픽 사용자 인터페이스다.개발자는 Sidekick을 통해 앱 템플릿, iOS 및 Android용 클라우드 기반 빌드, 공용 앱 스토어에 앱을 게시할 수 있다.
- 네이티브스크립트 플레이그라운드는 개발자가 웹 기반 환경에서 네이티브스크립트로 실험하고 물리적 기기에서 앱을 미리 볼 수 있도록 한다.
- NativeScript Marketplace는 NativeScript 플러그인, 사전 구축된 앱 템플릿 및 실행 가능한 샘플 앱의 큐레이션된 소스다.
참조
- ^ a b "Frequently asked questions about NativeScript". NativeScript.org.
- ^ "Releases · NativeScript/NativeScript". GitHub.
- ^ "Creating Mobile Native Apps in JavaScript with NativeScript". InfoQ.
- ^ Saripella, Surya. "The Next Chapter for NativeScript: nStudio". NativeScript.
- ^ Romoff, Rachel (7 December 2020). "NativeScript joins OpenJS Foundation as Incubating Project". The Linux Foundation Projects. OpenJS Foundation. Retrieved 4 March 2021.
- ^ a b c Krill, Paul (March 10, 2015). "JavaScript goes native for iOS, Android, and Windows Phone apps". InfoWorld.
- ^ a b "{N}-Vue". nativescript-vue.org. Retrieved 2017-10-31.
- ^ "NativeScript framework eases cross-platform app development woes". searchcloudcomputing.techtarget.com. Retrieved 2021-08-06.
- ^ Krill, Paul (May 6, 2016). "NativeScript warms up to AngularJS for mobile dev". InfoWorld.
- ^ "SD Times GitHub Project of the Week: NativeScript". March 18, 2016.
- ^ a b c "Telerik's NativeScript Aims To Centralize Cross-Platform Mobile Development -". Visual Studio Magazine.
- ^ "NativeScript 1.0.0 Released". www.i-programmer.info.
- ^ "NativeScript 1.0.0 is now available". NativeScript.org.
- ^ "NativeScript Marketplace". market.nativescript.org.
- ^ "nativescript - npm search". www.npmjs.com.
- ^ Review, C. I. O. "Progress Releases NativeScript 2.0 with Cross-Platform Deployment Capabilities". CIOReview.
- ^ "Getting to Know Angular 2". mobile.htmlgoodies.com. 15 November 2016.
- ^ "NativeScript Sidekick - your faithful companion for app development". NativeScript.org. Retrieved 2017-10-31.
- ^ Hanna, Tam. "Mit JavaScript wie hausgemacht: NativeScript". Developer.
- ^ "The Basics - NativeScript Docs". docs.nativescript.org.
- ^ https://github.com/NativeScript/NativeScript/blob/master/tns-core-modules/ui/button/button.ios.ts[데드링크]
- ^ https://github.com/NativeScript/NativeScript/blob/master/tns-core-modules/ui/button/button.android.ts[데드링크]
- ^ "Accessing Native APIs through JavaScript - NativeScript Docs". docs.nativescript.org.
- ^ "NativeScript 2.0 - the best way to build cross-platform native mobile apps". NativeScript.org.
- ^ Witalec, Sebastian (2018-08-24). "Apps That Work Natively on the Web and Mobile". Medium. Retrieved 2021-08-06.