I denne artikkelen skal vi se på NativeScript, et open source-rammeverk for å bygge mobile apper med JavaScript. På slutten av artikkelen bør du ha en ganske god ide om hva NativeScript er, hvordan det fungerer, og hvilke teknologier det bruker. Bortsett fra det, skal vi også svare på vanlige spørsmål som du kan ha når du utforsker en ny teknologi, for eksempel hvordan den adskiller seg fra alternativer som Cordova og React Native, og hvordan Telerik er involvert i prosjektet.
NativeScript er et rammeverk for å bygge mobile mobilapplikasjoner på tvers av plattformer. Det lar utviklere bruke XML, CSS og JavaScript til å bygge programmer for Android, IOS, og til og med Windows Universal Platform. I motsetning til Cordova, som bruker WebView til å gjengjøre brukergrensesnittet til appen, bruker NativeScript den opprinnelige plattformens gjengivelsesmotor, noe som betyr at den gir en virkelig opprinnelig brukeropplevelse.
NativeScript består av en virtuell JavaScript-maskin, en runtime og en bromodul. JavaScript-virtuell maskin tolker og utfører JavaScript-kode. Deretter oversetter bromodulen anropene til de plattformspesifikke API-anropene og returnerer resultatet til den som ringer. For å si det enkelt, gir NativeScript utviklere muligheten til å kommandere den innfødte plattformen gjennom JavaScript i stedet for Objective-C på IOS eller Java på Android.
Selvfølgelig går det mye mer bak scenene, men utviklerne på Telerik forklarer det bedre enn jeg kan, så hvis du vil lære mer om NativeScript's indre arbeid, kan du lese artikkelen av Georgi Atanasov på NativeScript - en teknisk oversikt eller TJ VanTolls artikkel om hvordan NativeScript fungerer.
Med NativeScript bruker du XML til å beskrive brukergrensesnittet til appen, CSS for styling og JavaScript for å legge til funksjonalitet.
Du kan bruke TypeScript med Angular 2 hvis du foretrekker å bruke et rammeverk for å forklare JavaScript-koden.
For styling bruker NativeScript bare en delmengde av CSS. Dette betyr at ikke alle CSS-funksjoner som er tilgjengelige i et nettlesermiljø, kan brukes. For eksempel kan du ikke bruke flyter eller posisjonsattributter. Her er en fullstendig liste over støttede CSS-egenskaper. På samme måte som i nettleseren, kan du legge til stiler som gjelder for hele appen, til bestemte sider, eller kun til en bestemt brukergrensesnitt. Hvis du foretrekker å bruke Sass, kan du installere NativeScript Dev Sass plugin.
For å beskrive strukturen til brukergrensesnittet bruker du XML. Hver side i appen skal være i sin egen XML-fil. NativeScript kommer med forhåndsdefinerte brukergrensesnitt widgets eller komponenter som du kan bruke til å bygge brukergrensesnittet til appen. Noen av disse komponentene ligner de forskjellige HTML-elementene du bruker i nettleseren.
For eksempel er det en Bilde
komponent, som er ekvivalent av img
element eller Tekstfelt
komponent, som tilsvarer inngang
element med en type tekst. Hendelsehåndterere som å trykke på en knapp legges til i selve komponenten. Her er et eksempel:
export.doSomething = funksjon () // gjør noe
En annen ting å merke seg er at komponentene også fungerer som maler. Hvis du er kjent med templerende biblioteker som håndterker eller mustasjer, bør du være hjemme med følgende syntaks:
Eksemplet ovenfor bruker Listevisning
komponent. Som navnet antyder, lar denne komponenten deg lage lister. dyr
er en array definert i JavaScript-filen og er bundet til dyr
variabel på sidebelastning. Dette gjør dyr
variabel tilgjengelig for bruk i XML-filen.
var dyr = ['panda', 'tiger', 'ape', 'slange', 'mantis']; funksjonssideLadet (args) var side = args.object; page.bindingContext = dyr: dyr
Dette gir ut hvert element i arrayet inne i Listevisning
.
Til slutt er det plugins som gir deg tilgang til maskinvare- og plattformspesifikke funksjoner for enheten. NativeScript leveres med et forhåndsinstallert kamera plugin. Dette lar deg få tilgang til kameraet på enheten og ta bilder. Du kan deretter lagre den lokale banen til bildet i appen din for senere bruk. Platformspesifikke funksjoner som sosial deling kan også brukes ved å installere plugins, for eksempel NativeScript Social Share Plugin.
På grunn av native NativeScript-karakter, kan du bygge nesten alle slags apper med den. Her er noen eksempler på programmer du kan bygge med NativeScript:
Når det gjelder typer apper som du kan bygge med NativeScript, er de eneste begrensende faktorene ytelse og plugin tilgjengelighet. Skrive innfødte mobilapper i JavaScript kommer med en pris: du kan egentlig ikke forvente å bygge programmer som krever høy ytelse. Eksempler er spill med komplisert grafikk og animasjoner, apper med mange bevegelige deler og bakgrunnsprosesser.
En annen begrensning er plugin tilgjengelighet. De fleste utviklere kommer til NativeScript fra en webutviklingsbakgrunn. Dette betyr at de fleste av dem ikke er kjent med eller har begrenset kjennskap til API-modulene for innfødte plattformer som kan brukes til å lage plugins for å få tilgang til maskinvareenheten eller plattformspesifikke funksjoner som kontakter eller meldinger.
Hvis du vil lære mer om hvilke typer apper du kan bygge med NativeScript, kan du sjekke ut siden App Showcases. De fleste appene som er oppført der, er publisert på både Google Play Butikk og Apple Store. Dette betyr at du kan installere det og kjøre det på enheten for å få en følelse av hvilke apps som er bygget med NativeScript, og hvordan de utfører.
Hvis du ikke er ny til hybrid mobilapputvikling, har du kanskje kommet over rammebetingelser som Cordova og React Native. NativeScript er relatert til disse to rammene fordi de begge har som mål å løse problemet med "Skriv en gang, kjør overalt" innen utvikling av mobilapp. La oss nå se på hvert rammeverk side om side:
Cordova | Reager Native | NativeScript | |
---|---|---|---|
skaperen | Nitobi; Senere kjøpt av Adobe Systems | Telerik | |
UI | HTML | UI-komponenter blir oversatt til sine innfødte kolleger | UI-komponenter blir oversatt til sine innfødte kolleger |
Kan teste på | Nettleser, emulator, enhet | Emulator, enhet | Emulator, enhet |
Kode med | HTML, CSS, JavaScript | UI-komponenter, JavaScript, delmengde av CSS | UI-komponenter, delmengde av CSS, JavaScript |
Native funksjonalitet tilgang | Gjennom plugins | Innfødte moduler | Native API-tilgang via JavaScript |
Deploys til | Android, iOS, Ubuntu, Windows, OS X, Blackberry 10 | Android og iOS. Windows Universal og Samsung Tizen kommer snart | Android og iOS. Windows Universal kommer snart |
JavaScript-bibliotek og rammeverk | Ethvert front-end-bibliotek eller rammeverk (for eksempel Angular, Ember) | Eventuelt bibliotek som ikke er avhengig av nettleseren | Eventuelt bibliotek som ikke er avhengig av nettleseren |
Kodemønster | En hvilken som helst front-end ramme kan brukes til å strukturere koden | UI-oppgraderingen, JavaScript og CSS er alle klumpet sammen i en enkelt fil som standard | MVVM / MVC mønster |
Hvordan JavaScript-kode er utført | WebView | JavaScriptCore Engine for å utføre appkode på både Android og iOS | Webkit JavaScriptCore-motor for å utføre appkoden på iOS og Googles V8 JavaScript-motor på Android |
For å oppsummere er Cordova den gamle generasjonen av hybrid mobile app-rammer. Den bruker WebView til å gjengi brukergrensesnittet til appen og får tilgang til innfødte enhetskapasiteter ved hjelp av plugins. React Native og NativeScript er den nye generasjonen fordi de oversetter JavaScript-koden slik at den kan utføres av den innfødte plattformen.
Noen kan komme med et bedre navn for rammer som React Native og NativeScript i fremtiden. Men for nå la oss klassifisere dem som "Native Hybrid Frameworks" fordi de begge bruker JavaScript for authoring apps, og de tilbyr begge opprinnelig opplevelsen og ytelsen til brukerne.
Telerik er selskapet som opprettet NativeScript. Og, akkurat som alle andre selskaper, må de tjene penger for å overleve. Så du kan spørre, om NativeScript er gratis og åpen kildekode, hvordan tjener Telerik penger fra det? Vel, svaret er gjennom Telerik-plattformen og Telerik-brukergrensesnittet for NativeScript.
Telerik-plattformen gir utviklere verktøyene de trenger for å enkelt designe, bygge, teste, distribuere, administrere og måle ytelsen til NativeScript-apper. Her er noen eksempler på verktøyene de tilbyr:
Telerik brukergrensesnitt for NativeScript er et sett med komponenter for å bygge brukergrensesnittet til appen. NativeScript leveres allerede med gratis UI-komponenter, men det er også betalt UI-komponenter som diagram og kalender som du bare kan bruke når du kjøper den fra Telerik.
Hvis du vil lære mer om NativeScript, anbefaler jeg at du sjekker ut følgende ressurser:
I denne artikkelen har du lært veldig grunnleggende om NativeScript. Som du har sett, er NativeScript et godt alternativ for å bygge mobile apps ved hjelp av ferdighetene du allerede har som webutvikler. Jeg håper denne artikkelen har gitt deg den nødvendige kunnskapen for å hjelpe deg med å avgjøre om NativeScript er riktig for deg.