Introduktion til App Udvikling med Native Script

I denne artikel skal vi kigge på NativeScript, et open source framework til opbygning af mobilapps med JavaScript.

Mit navn er Simon Elkjær og jeg driver bureauet Nutimo Consult, hvor vi blandt andet laver app udvikling.

I slutningen af ​​artiklen har du en god ide om, hvad NativeScript er, og hvilke teknologier det bruger. Udover dette, vil vi også kort komme ind på hvordan NativeScript adskiller sig fra alternativer som Cordova og React Native

  1. Hvad er NativeScript?

NativeScript er en framework for opbygning af mobile apps på tværs af platforme. Det giver udviklere mulighed for at bruge XML, CSS og JavaScript til at kode deres apps til Android, iOS

I modsætning til Cordova, der bruger WebView til at gengive brugergrænsefladen i appen, bruger NativeScript den indbyggede platforms renderingsmotor, hvilket betyder, at den giver en ægte brugeroplevelse.

Det betyder også at det er nemmere at komme gennem app store godkendelse!

  1. Hvilke teknologier bruger NativeScript?

Med NativeScript bruger du XML til at kode din (HTML) til appen, CSS for styling og JavaScript for at tilføje funktionalitet.

Til styling bruger NativeScript kun en smule af CSS. Det betyder, at ikke alle CSS-funktioner, kan bruges. Du kan f.eks. Ikke bruge floats eller position attributter.

For mig er det en stor udfordring, da jeg er CSS-ninja og glemmer det hele tiden, så det giver meget testing.

Hvis du foretrækker at bruge Sass, kan du installere NativeScript Dev Sass plugin.

Du kan bruge TypeScript, Angular 2 eller VueJS, hvis du foretrækker at bruge et framework til at skrive din JavaScript-kode. Indtil videre har jeg selv kun brugt rå javascript.

Hver side i appen kan med fordel være i sin egen XML-fil. NativeScript leveres med foruddefinerede UI-widgets, som du kan bruge til at opbygge appen. Nogle af disse komponenter ligner de forskellige HTML-elementer, du bruger i browseren.

  1. Fordele ved NativeScript

Det er gratis og open source. Det betyder, at du bruge den, så længe du ikke overtræder Apache 2.0-licensen. Som vi ikke vil komme ind på her.

Det er altså nemt at lære. På én weekend lærte jeg at kode og udgive min første app.

Det giver dig mulighed for at programmere ægte native-apps til Android og iOS-enheder. Hver af de UI-komponenter, som NativeScript udsætter, oversættes til dens tilsvarende native UI-komponenter.

Det giver dig adgang til indbyggede platform API’er via JavaScript-kode. Du behøver ikke at have kendskab til Java eller Objective-C for at kunne bruge indbyggede platform API’er, fordi du kan skrive det hele i JavaScript.

Det giver brugerne en oplevelse tættere på native apps end dem, der leveres af hybrid mobile app-frameworks som Cordova.

Det giver udviklere mulighed for nemt at programmere, implementere og administrere deres NativeScript-apps

Der  er support til nye native platforme. Dette betyder, at du med det samme kan bruge de nyeste indbyggede API’er og UI-komponenter, når Google eller Apple opdaterer deres platform.

Dokumentationen giver masser af information om, hvordan man kommer i gang, kernekoncepter og brugergrænsefladen.

Der er også Stack Overflow-spørgsmål og test-apps, der kan hjælpe begyndere med at komme i gang med NativeScript.

Du kan skrive dine NativeScript-apps med både TypeScript, JavaScript, VueJS og Angular.

Enhver JavaScript-bibliotek, som du kan finde på npm, der ikke er afhængig af browseren, og DOM’en kan bruges i NativeScript.

Du kan gøre næsten alt med NativeScript’s CLI. F.eks oprettelse af et nyt projekt, tilføjelse af en platform, builde, installere plugins, og uploade til app store.

  1. Ulemper

Der er ingen HTML og DOM i NativeScript. Du skal lære at bruge de forskellige UI-komponenter for at opbygge din frontend i appen. Men det er ligesom XML

Der mangler flere “godkendte” plugins. Selvom der er mange NativeScript-plugins på npm, kan du aldrig helt sikkert være sikker på deres kvalitet.

Udviklere skal kende de indfødte Android- og iOS-API’er for at få adgang til enhedens hardware og andre platform specifikke funktioner.

På grund af sin native-design natur kan du kun teste apps på en faktisk enhed eller en emulator. Dette gør den oprindelige opsætning til at teste langsommere. Men når du får det til at køre på enheden, tager hot-reloading over. Dette betyder, at hver gang du ændrer kildekoden, genindlæser den appen for at afspejle ændringerne. (DET ER FEDT)

Ikke alle brugerdefinerede komponenter er tilgængelige gratis. Du skal købe mere UI til NativeScript, hvis du vil bruge komponenter som diagrammer og kalendere.

  1. Hvilke apps kan du lave?

På grund af det native i NativeScript kan du bygge næsten enhver form for app med det. Her er et par eksempler på apps, som jeg selv har været involveret i.

WOD Now! Et meget lille community based workout app til Crossfit og fitness. Det var den app jeg udviklede som min første, og har i dag næsten 1.000 aktive brugere, helt uden annoncering.

Ordrer tracking app. En idé der er opstået som et samarbejde mellem billig fitness og andre webshops. Hvor du kan spore din pakke, på tværs af webshops uden at skulle tjekke email og en af PostNord, GLS eller Dao’s hjemmesider.

Service Now App, fra Syspeople der kan bruges som salgs-app for sælgerne i Syspeople. En app-spørgeskema, hvor en virksomhed kan teste om de kan spare penge ved at investere i service now til deres organisation.

Udover dette kan du også lave Spil. Ja, faktisk nærmest alt.

  1. Kom i gang i dag!

Hvis du vil lære mere om NativeScript, anbefaler jeg, at du starter her: https://docs.nativescript.org/tutorial/chapter-0