Nativní skript - NativeScript
![]() | |
Původní autoři | Telerik podle pokroku.[1] |
---|---|
Vývojáři | Pokrok a komunita |
První vydání | 2014 |
Stabilní uvolnění | 7.0.13 / 28. října 2020[2] |
Úložiště | ![]() |
Napsáno | JavaScript, Strojopis |
Plošina | Cross-platform |
Licence | Licence Apache 2.0 |
webová stránka | www |
Nativní skript je open-source rámec pro rozvoj mobilní aplikace na Apple iOS a Android platformy. Původně byl vytvořen a vyvinut společností Progress.[3] Aplikace NativeScript jsou vytvářeny pomocí JavaScript, nebo použitím libovolného programovací jazyk že transpiles na JavaScript, například Strojopis. NativeScript podporuje Úhlové[4] a Vue Rámce JavaScriptu.[5] Mobilní aplikace vytvořené pomocí NativeScript vedou k plně nativním aplikacím, které používají stejná rozhraní API, jako kdyby byly vyvinuty Xcode nebo Android Studio.[6] Kromě toho mohou vývojáři softwaru znovu použít knihovny třetích stran CocoaPods, Maven, a npm.js ve svých mobilních aplikacích bez nutnosti obalů.[7][8][9]
Rozvoj
NativeScript byl veřejně vydán poprvé v březnu 2015. Verze 1.0.0 následovala o dva měsíce později.[10] Rámec si rychle získal popularitu a brzy po zveřejnění dosáhl 3000 hvězd github a více než 1500 sledujících na Twitteru.[11] Mezitím je k dispozici více než 700 pluginů, které jsou buď oficiálně podporovány programem Progress, nebo pocházejí z komunity open source.[12][13] Použití Angular je volitelný vývojový přístup umožňující sdílení zdrojového kódu aplikace mezi webovou platformou a mobilní platformou.[14][15]
Struktura
NativeScript a všechny požadované doplňky se instalují pomocí správce balíčků npm. Projekty jsou vytvářeny, konfigurovány a kompilovány pomocí příkazového řádku nebo nástroje GUI s názvem NativeScript Sidekick.[16]Uživatelská rozhraní nezávislá na platformě jsou definována pomocí XML soubory. NativeScript poté používá abstrakce popsané v souborech XML k volání nativních prvků uživatelského rozhraní každé platformy. Aplikační logiku vyvinutou v Angular a TypeScript lze také vyvíjet nezávisle na cílové platformě. Mobilní aplikace NativeScript je vytvořena pomocí běhového modulu node.js a nástrojů.[17] Progress si klade za cíl dosáhnout 90% společného kódu mezi platformami iOS a Android.[1]
Přímý přístup k API a ovládacím prvkům nativní platformy
Uživatelská rozhraní nezávislá na platformě jsou definována pomocí XML soubory.[18] NativeScript používá datové struktury XML představující abstrakci napříč platformami ke spuštění kódu specifického pro platformu, který přímo interaguje s nativními prvky cílového operačního systému. To znamená, že volání rozhraní NativeScript Button API poskytuje abstrakci uživatelského rozhraní pro Button, který přímo volá UIButton v systému iOS [19] nebo com.android.widget.Button pro Android.[20]
Zatímco zdrojový kód aplikace je napsán v jazyce JavaScript, TypeScript, Angular nebo Vue.js, zdrojový kód není kompilován ani jinak mutován. Zdrojový kód tak, jak je, běží přímo na zařízení. Tato architektonická volba eliminuje potřebu křížového kompilace nebo transpilace.[9] Navíc, zatímco je zdrojový kód aplikace napsán v jazycích běžně používaných v prohlížeči (nebo v mobilní aplikaci obsahující WebView), aplikace NativeScript běží přímo na nativním zařízení. Nedochází k žádné manipulaci s DOM ani k žádné povinné interakci s prohlížečem.[4]
Pozoruhodné funkce
Nativní odraz API
Další pozoruhodnou funkcí je použití reflexe ke zpracování nativních koncových bodů API. Spíše než vyžadovat samostatné vazebné vrstvy mezi NativeScript a každým rozhraním API pro mobilní platformu, NativeScript používá reflexi k získání informací a metadat o API nativní platformy. Nové funkce přidané do jakéhokoli nativního API platformy jsou k dispozici okamžitě.[4]
Dalším způsobem, jak se funkce reflexe používá, je práce s knihovnami třetích stran. Protože JavaScript (nebo TypeScript / Angular) může mluvit přímo s nativním kódem, není třeba psát vazebné vrstvy v Objective-C, Swift, Java nebo Kotlin.[9][21]
Úhlová integrace
Se spuštěním NativeScript 2.0 je možné použít Angular k vytváření mobilních aplikací pro různé platformy.[22] Když navíc používáte Angular s NativeScript, máte možnost sdílet velké bloky kódu mezi webem a mobilními aplikacemi.[23]
Integrace Vue.js
Rámec Vue.js je podporován v NativeScript prostřednictvím pluginu nativescript-vue.[5]
Podpůrné nástroje a služby
- NativeScript Sidekick je grafické uživatelské prostředí , který staví na možnostech poskytovaných NativeScript CLI. Díky Sidekicku může vývojář využívat šablony aplikací, cloudová sestavení pro iOS a Android a publikovat aplikace do veřejných obchodů s aplikacemi.
- NativeScript Playground umožňuje vývojářům experimentovat s NativeScript ve webovém prostředí a prohlížet si náhledy aplikací na fyzických zařízeních.
- NativeScript Marketplace je vybraný zdroj doplňků NativeScript, předdefinovaných šablon aplikací a spustitelných ukázkových aplikací.
Reference
- ^ A b „Často kladené otázky o NativeScript“. NativeScript.org.
- ^ "Vydání · NativeScript / NativeScript". GitHub.
- ^ "Vytváření mobilních nativních aplikací v JavaScriptu s NativeScript". InfoQ.
- ^ A b C Krill, Paul (10. března 2015). „JavaScript je nativní pro aplikace pro iOS, Android a Windows Phone“. InfoWorld.
- ^ A b „{N} -Vue“. nativescript-vue.org. Citováno 2017-10-31.
- ^ http://searchcloudapplications.techtarget.com/podcast/NativeScript-framework-eases-cross-platform-app-development-woes
- ^ Krill, Paul (6. května 2016). „NativeScript se zahřívá na AngularJS pro mobilní zařízení“. InfoWorld.
- ^ „Projekt SD Times GitHub týdne: NativeScript“. 18. března 2016.
- ^ A b C „NativeScript společnosti Telerik si klade za cíl centralizovat mobilní vývoj napříč platformami -“. Časopis Visual Studio.
- ^ „Vydán NativeScript 1.0.0“. www.i-programmer.info.
- ^ „NativeScript 1.0.0 je nyní k dispozici“. NativeScript.org.
- ^ „Tržiště NativeScript“. market.nativescript.org.
- ^ "nativescript - vyhledávání NPM". www.npmjs.com.
- ^ Recenze, C. I. O. „Progress uvádí NativeScript 2.0 s možnostmi nasazení napříč platformami“. CIOReview.
- ^ „Seznámení s Angular 2“. mobile.htmlgoodies.com.
- ^ „NativeScript Sidekick - váš věrný společník pro vývoj aplikací“. NativeScript.org. Citováno 2017-10-31.
- ^ Hanna, Tam. „Mit JavaScript wie hausgemacht: NativeScript“. Vývojář.
- ^ „Základy - dokumenty NativeScript“. 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
- ^ „Přístup k nativním API prostřednictvím JavaScriptu - dokumenty NativeScript“. docs.nativescript.org.
- ^ „NativeScript 2.0 - nejlepší způsob vytváření nativních mobilních aplikací pro různé platformy“. NativeScript.org.
- ^ https://blog.angular.io/apps-that-work-natively-on-the-web-and-mobile-9b26852495e7