NativeScript - NativeScript
| Originale forfattere | Telerik av Progress. |
|---|---|
| Utvikler (er) | Fremgang og fellesskap |
| Første utgivelse | 2014 |
| Stabil utgivelse | 8.0.8 / 15. juni 2021
|
| Oppbevaringssted | |
| Skrevet inn | JavaScript , TypeScript |
| Plattform | Kryssplattform |
| Tillatelse | Apache lisens 2.0 |
| Nettsted | www |
NativeScript er et åpen kildekode- rammeverk for å utvikle mobilapper på Apple iOS og Android- plattformene. Det ble opprinnelig unnfanget og utviklet av Progress. I slutten av 2019 ble ansvaret for NativeScript-prosjektet overtatt av mangeårige Progress-partner, nStudio. I desember 2020 hadde nStudio også tilsyn med introduksjonen av NativeScript til OpenJS Foundation som et inkubasjonsprosjekt. NativeScript -apper er bygget ved hjelp av JavaScript , eller ved å bruke et hvilket som helst programmeringsspråk som transpilerer til JavaScript, for eksempel TypeScript . NativeScript støtter Angular og Vue JavaScript -rammer . Mobilapplikasjoner bygget med NativeScript resulterer i fullt integrerte apper, som bruker de samme API -ene som om de ble utviklet i Xcode eller Android Studio . I tillegg kan programvareutviklere videreformidle tredjepartsbiblioteker fra CocoaPods , Maven og npm.js i mobilapplikasjonene sine uten behov for innpakning.
Utvikling
NativeScript ble offentliggjort først i mars 2015. Versjon 1.0.0 fulgte to måneder senere. Rammen ble raskt populær og nådde 3000 github-stjerner og over 1500 følgere på Twitter like etter offentlig utgivelse. I mellomtiden er over 700 plugins tilgjengelige, som enten offisielt støttes av Progress eller stammer fra open source -fellesskapet. Bruken av Angular er en valgfri utviklingstilnærming som gjør at applikasjonskildekoden kan deles mellom nettplattformen og mobilplattformen.
Struktur
NativeScript og alle nødvendige plugins installeres ved hjelp av pakkebehandling npm . Prosjekter opprettes, konfigureres og kompileres via kommandolinjen eller et GUI -verktøy kalt NativeScript Sidekick. Plattformuavhengige brukergrensesnitt defineres ved hjelp av XML- filer. NativeScript bruker deretter abstraksjonene som er beskrevet i XML -filene til å kalle innfødte brukergrensesnittelementer på hver plattform. Applikasjonslogikk utviklet i Angular og TypeScript kan også utvikles uavhengig av målplattformen. Et NativeScript -mobilprogram er bygget ved hjelp av node.js -kjøretiden og verktøyet. Fremskritt tar sikte på et forhold på 90% vanlig kode mellom iOS- og Android -plattformene.
Direkte tilgang til innebygde plattform -APIer og kontroller
Plattformuavhengige brukergrensesnitt defineres ved hjelp av XML- filer. NativeScript bruker XML-datastrukturer som representerer kryssplattformabstraksjonen for å utløse plattformspesifikk kode som direkte samhandler med de opprinnelige elementene i måloperativsystemet. Dette betyr at en samtale til NativeScript Button API gir en UI -abstraksjon for Button, som direkte kaller UIButton på iOS eller com.android.widget.Button på Android.
Selv om programmets kildekode er skrevet i JavaScript, TypeScript, Angular eller Vue.js, er ikke kildekoden kompilert eller på annen måte mutert. Kildekoden er kjørt direkte på enheten. Dette arkitektoniske valget eliminerer behovet for kryss-kompilering eller transpiling. I tillegg, mens programmets kildekode er skrevet på språk som vanligvis finnes i en nettleser (eller i en WebView-inneholdt mobilapplikasjon), kjører NativeScript-applikasjoner direkte på den opprinnelige enheten. Det er ingen DOM -manipulering eller obligatorisk nettleserinteraksjon.
Bemerkelsesverdige funksjoner
Innfødt API -refleksjon
En annen bemerkelsesverdig funksjon er bruk av refleksjon for å håndtere native API -endepunkter. I stedet for å kreve separate bindingslag mellom NativeScript og hver mobil plattform -API, bruker NativeScript refleksjon for å få informasjon og metadata om de opprinnelige plattform -API -ene. Nye funksjoner lagt til i en hvilken som helst innebygd plattform -API er tilgjengelige umiddelbart.
En annen måte refleksjonsfunksjonen brukes på er å arbeide med tredjepartsbiblioteker. Siden JavaScript (eller TypeScript/Angular) kan snakke direkte med opprinnelig kode, er det ikke nødvendig å skrive bindingslag i Objective-C, Swift, Java eller Kotlin.
Vinkelintegrasjon
Med lanseringen av NativeScript 2.0 er det mulig å bruke Angular til å bygge mobilapplikasjoner på tvers av plattformer. I tillegg, når du bruker Angular med NativeScript, har du muligheten til å dele store biter av kode mellom nett- og mobilappene dine.
Vue.js integrasjon
Vue.js-rammeverket støttes i NativeScript via native-script-vue-pluginet.
Støtte for verktøy og tjenester
- NativeScript Sidekick er et grafisk brukergrensesnitt som bygger på funksjonene som NativeScript CLI gir. Med Sidekick kan en utvikler utnytte appmaler, skybaserte builds for iOS og Android og publisere apper til de offentlige appbutikkene.
- NativeScript Playground lar utviklere eksperimentere med NativeScript i et nettbasert miljø, og forhåndsvise apper på fysiske enheter.
- NativeScript Marketplace er en kuratert kilde til NativeScript-plugins, forhåndsbygde appmaler og eksempler som kan kjøres.